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

Lean module · Finite-horizon RL

BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticSelfConsistentCausalRealizedSuccessorRegret

# Realized successor regret on the heterogeneous causal source This module combines the actual-sampled empirical-model event with the successor-only globally centered return event on the genuinely dependent round-varying source. Coordinate `n + 1` is generated by the exploratory policy selected from the prefix through `n` and contains `episodes (n + 1)` complete episodes. Expected and realized successor regret are therefore weighted by the actual coordinate batch sizes and normalized by their finite sum, never by a constant-window `episodes * rounds` denominator. The proof route first establishes the exact weighted identity `realized = expected - globally centered deviation`. Outside the model event, each sampled model at coordinate `n` supplies optimism and recommended-policy expected-regret control. The exploratory policy that generates coordinate `n + 1` pays the existing explicit exploration charge. A finite event union with the compiled heterogeneous return tail then yields realized successor-average behavior regret. Regularity is finite measurable nonempty State/Action with measurable singletons, a probability initial law, Standard Borel State/Action, positive scheduled batch sizes, a positive selected-reward sub-Gaussian proxy, bounded stored means, path support, and a positive horizon/base visit floor. Failure policy: preserve the actual sampled batches, `n`-prefix to `n + 1` policy indexing, coordinate-specific episode weights, global initial-law centering, and the exact finite model plus return failure budget. This is a fixed-prefix causal theorem; it proves no old constant-window rate, uniform-time, pathwise, almost-sure, anytime, minimax, reachability, or complete-UCB-VI claim.

Module map

Declarations
26
Placeholders
0

Imports

BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticSelfConsistentCausalModelConfidence, BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticSelfConsistentCausalReturnConcentration, BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticCumulativeExploratoryBehaviorRegret

Imported by

BanditRLProof, BanditRLProof.RL.FiniteHorizonAdaptiveStochasticRewardSampledEmpiricalOptimisticSelfConsistentCausalExplicitRate, BanditRLProof.RL.FiniteHorizonNaturalCausalRealizedBehaviorRegretHighProbabilityLogRate

Declarations

Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.

def BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorPolicyAt Compiled

The selected policy that generates successor coordinate `n + 1`.

noncomputable def successorPolicyAt {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (n : Nat) : MarkovPolicy mdp
def BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorEpisodeMass Compiled

Total number of complete episodes in successor coordinates `1..rounds`.

noncomputable def successorEpisodeMass (episodes : Nat -> Nat) (rounds : Nat) : Real
theorem BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorEpisodeMass_pos Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem successorEpisodeMass_pos (episodes : Nat -> Nat) (rounds : Nat) (hrounds : 0 < rounds) (hepisodes : forall t, 0 < episodes t) : 0 < successorEpisodeMass episodes rounds
def BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorWeightedExpectedCumulativeRegret Compiled

Batch-size-weighted expected regret of the selected successor policies.

noncomputable def successorWeightedExpectedCumulativeRegret {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (rounds : Nat) : Real
def BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorWeightedExpectedAverageRegret Compiled

Weighted successor expected regret per sampled successor episode.

noncomputable def successorWeightedExpectedAverageRegret {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (rounds : Nat) : Real
def BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.realizedSuccessorCumulativeRegret Compiled

Realized regret of every sampled successor batch, with its actual size.

noncomputable def realizedSuccessorCumulativeRegret {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (_source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (rounds : Nat) : Real
def BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.realizedSuccessorAverageRegret Compiled

Realized successor regret per actual sampled successor episode.

noncomputable def realizedSuccessorAverageRegret {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (rounds : Nat) : Real
theorem BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorGlobalReturnIncrement_succ_eq Compiled

A successor increment is actual return minus its selected policy mean.

theorem successorGlobalReturnIncrement_succ_eq {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (n : Nat) : source.successorGlobalReturnIncrement (n + 1) trajectory = mdp.sampledCumulativeRewardSum (episodes (n + 1)) (trajectory (n + 1)) - (episodes (n + 1) : Real) * integral initialState ((source.successorPolicyAt trajectory n).valueAt 0 (Nat.zero_le mdp.horizon))
theorem BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.cumulativeSuccessorGlobalReturnDeviation_eq_fin_sum Compiled

The global deviation is exactly the finite sum of successor increments.

theorem cumulativeSuccessorGlobalReturnDeviation_eq_fin_sum {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (rounds : Nat) : source.cumulativeSuccessorGlobalReturnDeviation rounds trajectory = ∑ round : Fin rounds, source.successorGlobalReturnIncrement ((round : Nat) + 1) trajectory
theorem BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.realizedSuccessorCumulativeRegret_eq_expected_sub_deviation Compiled

Exact weighted realized-equals-expected-minus-deviation identity.

theorem realizedSuccessorCumulativeRegret_eq_expected_sub_deviation {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (rounds : Nat) : source.realizedSuccessorCumulativeRegret trajectory rounds = source.successorWeightedExpectedCumulativeRegret trajectory rounds - source.cumulativeSuccessorGlobalReturnDeviation rounds trajectory
theorem BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.realizedSuccessorAverageRegret_eq_expected_sub_deviation Compiled

Exact weighted average form of the realized-regret decomposition.

theorem realizedSuccessorAverageRegret_eq_expected_sub_deviation {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (rounds : Nat) (hmass : 0 < successorEpisodeMass episodes rounds) : source.realizedSuccessorAverageRegret trajectory rounds = source.successorWeightedExpectedAverageRegret trajectory rounds - source.cumulativeSuccessorGlobalReturnDeviation rounds trajectory / successorEpisodeMass episodes rounds
def BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorGlobalReturnDeviationBadEvent Compiled

Named successor-only global-return event for heterogeneous batches.

noncomputable def successorGlobalReturnDeviationBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) (rounds : Nat) (rewardBound rewardVarianceProxy : NNReal) (delta : Real) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)
theorem BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.measurable_cumulativeSuccessorGlobalReturnDeviation Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem measurable_cumulativeSuccessorGlobalReturnDeviation {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) [source.GlobalReturnMeasurability] (rounds : Nat) : Measurable (source.cumulativeSuccessorGlobalReturnDeviation rounds)
theorem BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.measurableSet_successorGlobalReturnDeviationBadEvent Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem measurableSet_successorGlobalReturnDeviationBadEvent {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) [source.GlobalReturnMeasurability] (rounds : Nat) (rewardBound rewardVarianceProxy : NNReal) (delta : Real) : MeasurableSet (source.successorGlobalReturnDeviationBadEvent rounds rewardBound rewardVarianceProxy delta)
theorem BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.trajectoryMeasure_successorGlobalReturnDeviationBadEvent_le Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem trajectoryMeasure_successorGlobalReturnDeviationBadEvent_le {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} [StandardBorelSpace State] [StandardBorelSpace Action] [forall n, StandardBorelSpace (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n)] [forall n, Nonempty (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n)] [forall n, StandardBorelSpace (StochasticEpisodeBatch mdp (episodes n))] [forall n, Nonempty (StochasticEpisodeBatch mdp (episodes n))] [StandardBorelSpace (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)] (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) [source.GlobalReturnMeasurability] (rounds : Nat) (rewardBound rewardVarianceProxy : NNReal) (hrewardBound : forall state action, |mdp.reward state action| <= (rewardBound : Real)) (law : source.rewardSource.UniformSubgaussianRewardLaw rewardVarianceProxy) (htotal : 0 < ((cumulativeSuccessorGlobalReturnVarianceProxy mdp episodes rounds rewardBound rewardVarianceProxy : NNReal) : Real)) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) : source.trajectoryMeasure (source.successorGlobalReturnDeviationBadEvent rounds rewardBound rewardVarianceProxy delta) <= ENNReal.ofReal delta
theorem BanditRLProof.FiniteHorizonRL.HeterogeneousAdaptiveStochasticEpisodeBatchSource.trajectoryMeasure_weightedExpected_to_realized_successor_average_regret_transport Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem trajectoryMeasure_weightedExpected_to_realized_successor_average_regret_transport {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} [StandardBorelSpace State] [StandardBorelSpace Action] [forall n, StandardBorelSpace (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n)] [forall n, Nonempty (HeterogeneousStochasticEpisodeBatchPrefix mdp episodes n)] [forall n, StandardBorelSpace (StochasticEpisodeBatch mdp (episodes n))] [forall n, Nonempty (StochasticEpisodeBatch mdp (episodes n))] [StandardBorelSpace (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)] (source : HeterogeneousAdaptiveStochasticEpisodeBatchSource mdp initialState episodes) [source.GlobalReturnMeasurability] (rounds : Nat) (hrounds : 0 < rounds) (hepisodes : forall t, 0 < episodes t) (rewardBound rewardVarianceProxy : NNReal) (hrewardBound : forall state action, |mdp.reward state action| <= (rewardBound : Real)) (law : source.rewardSource.UniformSubgaussianRewardLaw rewardVarianceProxy) (htotal : 0 < ((cumulativeSuccessorGlobalReturnVarianceProxy mdp episodes rounds rewardBound rewardVarianceProxy : NNReal) : Real)) (returnDelta : Real) (hreturnDelta : 0 < returnDelta) (hreturnDelta_le_one : returnDelta <= 1) (modelBadEvent : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes)) (modelFailureBudget : ENNReal) (expectedBound : Real) (Good : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes -> Prop) (hmodelMeasurable : MeasurableSet modelBadEvent) (hmodelTail : source.trajectoryMeasure modelBadEvent <= modelFailureBudget) (hmodelGood : forall trajectory, trajectory ∉ modelBadEvent -> Good trajectory /\ source.successorWeightedExpectedAverageRegret trajectory rounds <= expectedBound) : let returnBadEvent := source.successorGlobalReturnDeviationBadEvent rounds rewardBound rewardVarianceProxy returnDelta let combinedBadEvent := modelBadEvent ∪ returnBadEvent MeasurableSet combinedBadEvent /\ source.trajectoryMeasure combinedBadEvent <= modelFailureBudget + ENNReal.ofReal returnDelta /\ forall trajectory, trajectory ∉ combinedBadEvent -> Good trajectory /\ source.realizedSuccessorAverageRegret trajectory rounds <= expectedBound + Concentration.subGaussianSumConfidenceRadius (cumulativeSuccessorGlobalReturnVarianceProxy mdp episodes rounds rewardBound rewardVarianceProxy) returnDelta / successorEpisodeMass episodes rounds
theorem BanditRLProof.FiniteHorizonRL.MDP.stochasticAllCoordinateEmpiricalFiniteBatchModel_occupancySelectedRadiusRemaining_eq Compiled

A sampled stochastic empirical model has the two supplied fixed radii.

theorem MDP.stochasticAllCoordinateEmpiricalFiniteBatchModel_occupancySelectedRadiusRemaining_eq {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (batch : EpisodeBatch mdp episodes) (defaultState : State) (rewardBudget transitionBudget : Real) : let model := mdp.stochasticAllCoordinateEmpiricalFiniteBatchModel episodes batch defaultState rewardBudget transitionBudget model.plan.optimisticPolicy.occupancySumRemaining (fun remaining hremaining state => 2 * model.plan.selectedRadiusRemaining remaining hremaining state) mdp.horizon le_rfl initialState = (mdp.horizon : Real) * (2 * (rewardBudget + transitionBudget))
theorem BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.heterogeneousExploratorySource_successorPolicyAt_eq_sampledPlanExploratoryPolicy Compiled

The sampled table at coordinate `n` is exactly the next source policy.

theorem heterogeneousExploratorySource_successorPolicyAt_eq_sampledPlanExploratoryPolicy {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (rewardSource : mdp.MeanCompatibleRewardKernel) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (rewardBudget transitionBudget : Nat -> Real) (explorationRate : Nat -> NNReal) (hexplorationRate : forall t, explorationRate t <= 1) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (n : Nat) : let source := heterogeneousExploratorySource mdp initialState episodes rewardSource initialTable defaultState rewardBudget transitionBudget explorationRate hexplorationRate source.successorPolicyAt trajectory n = ((trajectory n).sampledEmpiricalOptimisticPolicyTable defaultState (rewardBudget n) (transitionBudget n)).exploratoryPolicy (explorationRate (n + 1)) (hexplorationRate (n + 1))
theorem BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.heterogeneousExploratorySource_successorPolicyAt_expectedRegret_le Compiled

One selected causal exploratory policy pays only its local charge.

theorem heterogeneousExploratorySource_successorPolicyAt_expectedRegret_le {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat -> Nat} (rewardSource : mdp.MeanCompatibleRewardKernel) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (rewardBudget transitionBudget : Nat -> Real) (explorationRate : Nat -> NNReal) (hexplorationRate : forall t, explorationRate t <= 1) (trajectory : HeterogeneousStochasticEpisodeBatchTrajectory mdp episodes) (n : Nat) (rewardBound : Real) (hrewardBound : forall state action, |mdp.reward state action| <= rewardBound) : let source := heterogeneousExploratorySource mdp initialState episodes rewardSource initialTable defaultState rewardBudget transitionBudget explorationRate hexplorationRate let model := mdp.stochasticAllCoordinateEmpiricalFiniteBatchModel (episodes n) (mdp.sampledEpisodeBatchOfStochasticTrajectories (episodes n) (trajectory n)) defaultState (rewardBudget n) (transitionBudget n) (source.successorPolicyAt trajectory n).expectedRegret initialState <= model.plan.optimisticPolicy.expectedRegret initialState + exploratoryBehaviorRegretCharge mdp (explorationRate (n + 1)) rewardBound
def BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalSuccessorPlanningCumulativeBound Compiled

Weighted planning envelope for all causal successor batches.

noncomputable def selfConsistentScheduledCausalSuccessorPlanningCumulativeBound (mdp : MDP State Action) (varianceProxy : NNReal) (baseVisitFloor : Real) (rounds : Nat) : Real
def BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalSuccessorPlanningAverageBound Compiled

The same planning envelope per actual sampled successor episode.

noncomputable def selfConsistentScheduledCausalSuccessorPlanningAverageBound (mdp : MDP State Action) (varianceProxy : NNReal) (baseVisitFloor : Real) (rounds : Nat) : Real
theorem BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalSource_trajectoryMeasure_optimism_and_weightedExpectedSuccessorAverageRegret Compiled

The same planning envelope per actual sampled successor episode. -/ noncomputable def selfConsistentScheduledCausalSuccessorPlanningAverageBound (mdp : MDP State Action) (varianceProxy : NNReal) (baseVisitFloor : Real) (rounds : Nat) : Real := selfConsistentScheduledCausalSuccessorPlanningCumulativeBound mdp varianceProxy baseVisitFloor rounds / HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorEpisodeMass (fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledEpisodes mdp varianceProxy baseVisitFloor t) rounds /- The sampled-model event controls the actual exploratory successor policies. Every coordinate keeps its own model budgets, next-coordinate exploration rate, and successor batch-size weight.

theorem selfConsistentScheduledCausalSource_trajectoryMeasure_optimism_and_weightedExpectedSuccessorAverageRegret (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] [StandardBorelSpace State] [StandardBorelSpace Action] (rewardSource : mdp.MeanCompatibleRewardKernel) (varianceProxy : NNReal) (hvarianceProxy : 0 < varianceProxy) (law : rewardSource.UniformSubgaussianRewardLaw varianceProxy) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (support : ExploratoryPathSupport mdp initialState) (baseVisitFloor : Real) (hbaseFloor : ExploratoryPathUniformVisitFloor support 1 baseVisitFloor) (hrewardBound : forall state action, |mdp.reward state action| <= 1) (hhorizon : 0 < mdp.horizon) (hbaseVisitFloor : 0 < baseVisitFloor) (rounds : Nat) (hrounds : 0 < rounds) : let episodes := fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledEpisodes mdp varianceProxy baseVisitFloor t let rewardBudget := fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledRewardBudget mdp varianceProxy baseVisitFloor t let transitionBudget := fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledTransitionBudget mdp varianceProxy baseVisitFloor t let source := selfConsistentScheduledCausalSource mdp initialState rewardSource initialTable defaultState varianceProxy baseVisitFloor let event := selfConsistentScheduledCausalModelBadEvent mdp initialState rewardSource initialTable defaultState varianceProxy baseVisitFloor rounds MeasurableSet event /\ source.trajectoryMeasure event <= selfConsistentScheduledCausalModelFailureBudget mdp rounds /\ forall trajectory, trajectory ∉ event -> (forall round : Fin rounds, let t := (round : Nat) let model := mdp.stochasticAllCoordinateEmpiricalFiniteBatchModel (episodes t) (mdp.sampledEpisodeBatchOfStochasticTrajectories (episodes t) (trajectory t)) defaultState (rewardBudget t) (transitionBudget t) forall state, mdp.optimalValueRemaining mdp.horizon le_rfl state <= model.plan.upperValueRemaining mdp.horizon le_rfl state) /\ source.successorWeightedExpectedAverageRegret trajectory rounds <= selfConsistentScheduledCausalSuccessorPlanningAverageBound mdp varianceProxy baseVisitFloor rounds
def BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalSuccessorReturnBadEvent Compiled

Named successor-only return event for the self-consistent causal source.

noncomputable def selfConsistentScheduledCausalSuccessorReturnBadEvent (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] (rewardSource : mdp.MeanCompatibleRewardKernel) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (varianceProxy : NNReal) (baseVisitFloor : Real) (rounds : Nat) (returnDelta : Real) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp (fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledEpisodes mdp varianceProxy baseVisitFloor t))
def BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalModelReturnBadEvent Compiled

Union of the causal sampled-model and globally centered return events.

noncomputable def selfConsistentScheduledCausalModelReturnBadEvent (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] (rewardSource : mdp.MeanCompatibleRewardKernel) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (varianceProxy : NNReal) (baseVisitFloor : Real) (rounds : Nat) (returnDelta : Real) : Set (HeterogeneousStochasticEpisodeBatchTrajectory mdp (fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledEpisodes mdp varianceProxy baseVisitFloor t))
def BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalModelReturnFailureBudget Compiled

Exact finite-prefix model-plus-return failure budget.

noncomputable def selfConsistentScheduledCausalModelReturnFailureBudget (mdp : MDP State Action) (rounds : Nat) (returnDelta : Real) : ENNReal
theorem BanditRLProof.FiniteHorizonRL.AdaptiveStochasticSampledEmpiricalOptimisticSource.selfConsistentScheduledCausalSource_trajectoryMeasure_optimism_and_realizedSuccessorAverageRegret Compiled

Exact finite-prefix model-plus-return failure budget. -/ noncomputable def selfConsistentScheduledCausalModelReturnFailureBudget (mdp : MDP State Action) (rounds : Nat) (returnDelta : Real) : ENNReal := selfConsistentScheduledCausalModelFailureBudget mdp rounds + ENNReal.ofReal returnDelta /- End-to-end causal finite-prefix theorem. Off one named event, every actual sampled model is optimistic and the weighted realized successor-average behavior regret is controlled by the coordinatewise schedule plus the heterogeneous globally centered return radius.

theorem selfConsistentScheduledCausalSource_trajectoryMeasure_optimism_and_realizedSuccessorAverageRegret (mdp : MDP State Action) (initialState : Measure State) [IsProbabilityMeasure initialState] [StandardBorelSpace State] [StandardBorelSpace Action] (rewardSource : mdp.MeanCompatibleRewardKernel) (varianceProxy : NNReal) (hvarianceProxy : 0 < varianceProxy) (law : rewardSource.UniformSubgaussianRewardLaw varianceProxy) (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (support : ExploratoryPathSupport mdp initialState) (baseVisitFloor : Real) (hbaseFloor : ExploratoryPathUniformVisitFloor support 1 baseVisitFloor) (hrewardBound : forall state action, |mdp.reward state action| <= 1) (hhorizon : 0 < mdp.horizon) (hbaseVisitFloor : 0 < baseVisitFloor) (rounds : Nat) (hrounds : 0 < rounds) (returnDelta : Real) (hreturnDelta : 0 < returnDelta) (hreturnDelta_le_one : returnDelta <= 1) : let episodes := fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledEpisodes mdp varianceProxy baseVisitFloor t let rewardBudget := fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledRewardBudget mdp varianceProxy baseVisitFloor t let transitionBudget := fun t => AdaptiveStochasticEpisodeBatchSource.selfConsistentScheduledTransitionBudget mdp varianceProxy baseVisitFloor t let source := selfConsistentScheduledCausalSource mdp initialState rewardSource initialTable defaultState varianceProxy baseVisitFloor let event := selfConsistentScheduledCausalModelReturnBadEvent mdp initialState rewardSource initialTable defaultState varianceProxy baseVisitFloor rounds returnDelta MeasurableSet event /\ source.trajectoryMeasure event <= selfConsistentScheduledCausalModelReturnFailureBudget mdp rounds returnDelta /\ forall trajectory, trajectory ∉ event -> (forall round : Fin rounds, let t := (round : Nat) let model := mdp.stochasticAllCoordinateEmpiricalFiniteBatchModel (episodes t) (mdp.sampledEpisodeBatchOfStochasticTrajectories (episodes t) (trajectory t)) defaultState (rewardBudget t) (transitionBudget t) forall state, mdp.optimalValueRemaining mdp.horizon le_rfl state <= model.plan.upperValueRemaining mdp.horizon le_rfl state) /\ source.realizedSuccessorAverageRegret trajectory rounds <= selfConsistentScheduledCausalSuccessorPlanningAverageBound mdp varianceProxy baseVisitFloor rounds + Concentration.subGaussianSumConfidenceRadius (HeterogeneousAdaptiveStochasticEpisodeBatchSource.cumulativeSuccessorGlobalReturnVarianceProxy mdp episodes rounds 1 varianceProxy) returnDelta / HeterogeneousAdaptiveStochasticEpisodeBatchSource.successorEpisodeMass episodes rounds