BanditRLlib
Lean gate passed before this site build; local proof declarations are shown as compiled.

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

Declarations
29
Placeholders
0

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