Lean module · Finite-horizon RL
BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardTotalReturnConcentration
# Adaptive stochastic-reward episode-batch concentration This module generates complete reward-bearing episode batches with a policy selected from the preceding batch history. It retains that history while mapping the next-batch kernel, identifies the resulting dynamic sampled-return law through `condDistrib` and `condExpKernel`, and applies the conditional sub-Gaussian sum theorem across a fixed finite number of adaptive rounds. No independence is assumed across rounds. Independence is used only inside each conditionally iid episode batch. The result is a sampled-return deviation bound, not a regret, optimism, or anytime theorem.
Module map
Imports
BanditRLProof.RL.FiniteHorizonStochasticRewardIIDTotalReturnConcentration, BanditRLProof.RL.FiniteHorizonAdaptiveEpisodeBatchLaw, BanditRLProof.ConditionalExpectationReward
Imported by
BanditRLProof, BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardEmpiricalOptimisticProjection, BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardRealizedBehaviorRegret, BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticSelfConsistentCausalReturnConcentration, BanditRLProof.RL.FiniteHorizonEpisodeBatchStandardBorel
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
def
ProbabilityTheory.Kernel.retainedInputKernel
Compiled
Pair a kernel output with the input at which the kernel is evaluated.
noncomputable def retainedInputKernel (kernel : ProbabilityTheory.Kernel Input Output) : ProbabilityTheory.Kernel Input (Input × Output)
theorem
ProbabilityTheory.Kernel.retainedInputKernel_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem retainedInputKernel_apply (kernel : ProbabilityTheory.Kernel Input Output) [ProbabilityTheory.IsMarkovKernel kernel] (input : Input) : retainedInputKernel kernel input = (kernel input).map (Prod.mk input)
theorem
ProbabilityTheory.Kernel.condDistrib_pair_ae_eq_retainedInputKernel_of_pair_map_eq_compProd
Compiled
Recover the conditional law of the retained input/output pair.
theorem condDistrib_pair_ae_eq_retainedInputKernel_of_pair_map_eq_compProd {Sample : Type w} [MeasurableSpace Sample] [StandardBorelSpace (Input × Output)] [Nonempty (Input × Output)] (mu : Measure Sample) [IsFiniteMeasure mu] (condition : Sample → Input) (next : Sample → Output) (kernel : ProbabilityTheory.Kernel Input Output) [ProbabilityTheory.IsMarkovKernel kernel] (hcondition : Measurable condition) (hnext : Measurable next) (hpair : mu.map (fun sample => (condition sample, next sample)) = (mu.map condition).compProd kernel) : ProbabilityTheory.condDistrib (fun sample => (condition sample, next sample)) condition mu =ᵐ[ mu.map condition] retainedInputKernel kernel
theorem
ProbabilityTheory.Kernel.condDistrib_dynamic_map_ae_eq_of_pair_map_eq_compProd
Compiled
Map a statistic which depends jointly on the retained input and output.
theorem condDistrib_dynamic_map_ae_eq_of_pair_map_eq_compProd {Sample : Type w} [MeasurableSpace Sample] [StandardBorelSpace (Input × Output)] [Nonempty (Input × Output)] {Result : Type*} [MeasurableSpace Result] [StandardBorelSpace Result] [Nonempty Result] (mu : Measure Sample) [IsFiniteMeasure mu] (condition : Sample → Input) (next : Sample → Output) (kernel : ProbabilityTheory.Kernel Input Output) [ProbabilityTheory.IsMarkovKernel kernel] (g : Input × Output → Result) (hcondition : Measurable condition) (hnext : Measurable next) (hg : Measurable g) (hpair : mu.map (fun sample => (condition sample, next sample)) = (mu.map condition).compProd kernel) : ProbabilityTheory.condDistrib (fun sample => g (condition sample, next sample)) condition mu =ᵐ[ mu.map condition] (retainedInputKernel kernel).map g
abbrev
BanditRLProof.FiniteHorizonRL.StochasticEpisodeBatch
Compiled
A complete stochastic-reward episode batch.
abbrev StochasticEpisodeBatch (mdp : MDP State Action) (episodes : Nat)
abbrev
BanditRLProof.FiniteHorizonRL.StochasticEpisodeBatchPrefix
Compiled
Finite history through stochastic batch coordinate `n`.
abbrev StochasticEpisodeBatchPrefix (mdp : MDP State Action) (episodes n : Nat)
abbrev
BanditRLProof.FiniteHorizonRL.StochasticEpisodeBatchTrajectory
Compiled
Infinite stochastic episode-batch trajectory.
abbrev StochasticEpisodeBatchTrajectory (mdp : MDP State Action) (episodes : Nat)
structure
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource
Compiled
An adaptive source of complete stochastic-reward episode batches. The dynamic measurability field is the only additional policy-selection regularity needed by this route. The exact batch-kernel equality supplies the pointwise conditionally iid law selected by each observed prefix.
structure AdaptiveStochasticEpisodeBatchSource (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) where
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.trajectoryMeasure
Compiled
The adaptive infinite stochastic batch-trajectory law.
noncomputable def trajectoryMeasure {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) : Measure (StochasticEpisodeBatchTrajectory mdp episodes)
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.trajectoryMeasure_map_eval_zero
Compiled
Coordinate zero has the configured initial stochastic batch law.
theorem trajectoryMeasure_map_eval_zero {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) : source.trajectoryMeasure.map (Function.eval 0) = source.rewardSource.iidStochasticTrajectoryFamilyMeasure source.initialPolicy initialState episodes
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.trajectoryMeasure_prefix_compProd
Compiled
The prefix/next-batch marginal has the configured compProd law.
theorem trajectoryMeasure_prefix_compProd {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) : source.trajectoryMeasure.map (Preorder.frestrictLe n) ⊗ₘ source.batchKernel n = source.trajectoryMeasure.map (fun trajectory => (Preorder.frestrictLe n trajectory, trajectory (n + 1)))
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.successorSampledReturnDeviation
Compiled
The dynamic next-round sampled-return statistic on prefix/batch pairs.
noncomputable def successorSampledReturnDeviation {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) (pair : StochasticEpisodeBatchPrefix mdp episodes n × StochasticEpisodeBatch mdp episodes) : Real
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.successorDeviationKernel
Compiled
Conditional kernel of the dynamic next-round deviation.
noncomputable def successorDeviationKernel {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) : ProbabilityTheory.Kernel (StochasticEpisodeBatchPrefix mdp episodes n) Real
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.successorDeviationKernel_apply
Compiled
Each deviation-kernel fiber is the selected policy's iid statistic law.
theorem successorDeviationKernel_apply {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) (history : StochasticEpisodeBatchPrefix mdp episodes n) : source.successorDeviationKernel n history = (source.rewardSource.iidStochasticTrajectoryFamilyMeasure (source.successorPolicy n history) initialState episodes).map (mdp.sampledCumulativeReturnDeviationSum (source.successorPolicy n history) episodes)
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.successorSampledReturnDeviationAt
Compiled
The trajectory-level dynamic deviation at successor coordinate `n + 1`.
noncomputable def successorSampledReturnDeviationAt {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) (trajectory : StochasticEpisodeBatchTrajectory mdp episodes) : Real
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.measurable_successorSampledReturnDeviationAt
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_successorSampledReturnDeviationAt {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) : Measurable (source.successorSampledReturnDeviationAt n)
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.trajectoryMeasure_condDistrib_successorSampledReturnDeviationAt
Compiled
The conditional law of the dynamic successor deviation.
theorem trajectoryMeasure_condDistrib_successorSampledReturnDeviationAt {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} [StandardBorelSpace (StochasticEpisodeBatch mdp episodes)] [Nonempty (StochasticEpisodeBatch mdp episodes)] (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) : ProbabilityTheory.condDistrib (source.successorSampledReturnDeviationAt n) (Preorder.frestrictLe n) source.trajectoryMeasure =ᵐ[ source.trajectoryMeasure.map (Preorder.frestrictLe n)] source.successorDeviationKernel n
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.condExpKernel_map_successorSampledReturnDeviationAt_eq
Compiled
The trimmed conditional-expectation kernel has the same dynamic law.
theorem condExpKernel_map_successorSampledReturnDeviationAt_eq {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} [StandardBorelSpace (StochasticEpisodeBatch mdp episodes)] [Nonempty (StochasticEpisodeBatch mdp episodes)] [StandardBorelSpace (StochasticEpisodeBatchTrajectory mdp episodes)] (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) : Filter.Eventually (fun trajectory : StochasticEpisodeBatchTrajectory mdp episodes => Measure.map (source.successorSampledReturnDeviationAt n) (ProbabilityTheory.condExpKernel source.trajectoryMeasure ((inferInstance : MeasurableSpace (StochasticEpisodeBatchPrefix mdp episodes n)).comap (Preorder.frestrictLe n)) trajectory) = source.successorDeviationKernel n (Preorder.frestrictLe n trajectory)) (ae (source.trajectoryMeasure.trim (Preorder.measurable_frestrictLe n).comap_le))
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.sampledReturnDeviationPrefixIncrement
Compiled
Prefix-level increment, including the genuine initial stochastic batch.
noncomputable def sampledReturnDeviationPrefixIncrement {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) : (round : Nat) → StochasticEpisodeBatchPrefix mdp episodes round → Real | 0, history => mdp.sampledCumulativeReturnDeviationSum source.initialPolicy episodes (history ⟨0, Finset.mem_Iic.mpr le_rfl⟩) | n + 1, history => source.successorSampledReturnDeviation n (Preorder.frestrictLe₂ (π
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.measurable_sampledReturnDeviationPrefixIncrement
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_sampledReturnDeviationPrefixIncrement {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (round : Nat) : Measurable (source.sampledReturnDeviationPrefixIncrement round)
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.sampledReturnDeviationIncrement
Compiled
Adapted sampled-return deviation increment on the full trajectory.
noncomputable def sampledReturnDeviationIncrement {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (round : Nat) (trajectory : StochasticEpisodeBatchTrajectory mdp episodes) : Real
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.measurable_sampledReturnDeviationIncrement
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_sampledReturnDeviationIncrement {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (round : Nat) : Measurable (source.sampledReturnDeviationIncrement round)
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.sampledReturnDeviationIncrement_stronglyAdapted_piLE
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sampledReturnDeviationIncrement_stronglyAdapted_piLE {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) : StronglyAdapted (Filtration.piLE (X
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.sampledReturnDeviationIncrement_zero_hasSubgaussianMGF
Compiled
The initial adaptive coordinate inherits the iid batch MGF.
theorem sampledReturnDeviationIncrement_zero_hasSubgaussianMGF {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} [StandardBorelSpace State] [StandardBorelSpace Action] [Nonempty Action] [StandardBorelSpace (StochasticEpisodeBatch mdp episodes)] (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (rewardBound rewardVarianceProxy : NNReal) (hrewardBound : ∀ state action, |mdp.reward state action| ≤ (rewardBound : Real)) (law : source.rewardSource.UniformSubgaussianRewardLaw rewardVarianceProxy) : ProbabilityTheory.HasSubgaussianMGF (source.sampledReturnDeviationIncrement 0) (mdp.iidSampledCumulativeReturnDeviationVarianceProxy episodes rewardBound rewardVarianceProxy) source.trajectoryMeasure
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.sampledReturnDeviationIncrement_succ_hasCondSubgaussianMGF
Compiled
Every successor adaptive coordinate is conditionally sub-Gaussian.
theorem sampledReturnDeviationIncrement_succ_hasCondSubgaussianMGF {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} [StandardBorelSpace State] [StandardBorelSpace Action] [Nonempty Action] [StandardBorelSpace (StochasticEpisodeBatch mdp episodes)] [Nonempty (StochasticEpisodeBatch mdp episodes)] [StandardBorelSpace (StochasticEpisodeBatchTrajectory mdp episodes)] (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (n : Nat) (rewardBound rewardVarianceProxy : NNReal) (hrewardBound : ∀ state action, |mdp.reward state action| ≤ (rewardBound : Real)) (law : source.rewardSource.UniformSubgaussianRewardLaw rewardVarianceProxy) : ProbabilityTheory.HasCondSubgaussianMGF (Filtration.piLE (X
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.cumulativeSampledReturnDeviationVarianceProxy
Compiled
Sum of per-round proxies over `rounds` adaptive stochastic batches.
noncomputable def cumulativeSampledReturnDeviationVarianceProxy (mdp : MDP State Action) (rounds episodes : Nat) (rewardBound rewardVarianceProxy : NNReal) : NNReal
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.cumulativeSampledReturnDeviationVarianceProxy_eq
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem cumulativeSampledReturnDeviationVarianceProxy_eq (mdp : MDP State Action) (rounds episodes : Nat) (rewardBound rewardVarianceProxy : NNReal) : cumulativeSampledReturnDeviationVarianceProxy mdp rounds episodes rewardBound rewardVarianceProxy = (rounds : NNReal) * mdp.iidSampledCumulativeReturnDeviationVarianceProxy episodes rewardBound rewardVarianceProxy
def
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.cumulativeSampledReturnDeviation
Compiled
Cumulative sampled-return deviation over `rounds` adaptive batches.
noncomputable def cumulativeSampledReturnDeviation {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (rounds : Nat) (trajectory : StochasticEpisodeBatchTrajectory mdp episodes) : Real
theorem
BanditRLProof.FiniteHorizonRL.AdaptiveStochasticEpisodeBatchSource.trajectoryMeasure_cumulativeSampledReturnDeviation_abs_tail_le
Compiled
Fixed-round two-sided tail for adaptive stochastic sampled returns.
theorem trajectoryMeasure_cumulativeSampledReturnDeviation_abs_tail_le {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} [StandardBorelSpace State] [StandardBorelSpace Action] [Nonempty Action] [StandardBorelSpace (StochasticEpisodeBatch mdp episodes)] [Nonempty (StochasticEpisodeBatch mdp episodes)] [StandardBorelSpace (StochasticEpisodeBatchTrajectory mdp episodes)] (source : AdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (rounds : Nat) (rewardBound rewardVarianceProxy : NNReal) (hrewardBound : ∀ state action, |mdp.reward state action| ≤ (rewardBound : Real)) (law : source.rewardSource.UniformSubgaussianRewardLaw rewardVarianceProxy) (htotal : 0 < ((cumulativeSampledReturnDeviationVarianceProxy mdp rounds episodes rewardBound rewardVarianceProxy : NNReal) : Real)) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta ≤ 1) : source.trajectoryMeasure {trajectory | Concentration.subGaussianSumConfidenceRadius (cumulativeSampledReturnDeviationVarianceProxy mdp rounds episodes rewardBound rewardVarianceProxy) delta ≤ |source.cumulativeSampledReturnDeviation rounds trajectory|} ≤ ENNReal.ofReal delta