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

Lean module · Finite-horizon RL

BanditRLProof.RL.FiniteHorizonAdaptiveCumulativeUCBVIRegretDecomposition

Pathwise recurrent UCBVI-CH episode-regret decomposition.

Module map

Declarations
23
Placeholders
0

Imports

BanditRLProof.RL.FiniteHorizonAdaptiveCumulativeUCBVIAdaptiveBellmanMartingale

Imported by

BanditRLProof.RL.FiniteHorizonAdaptiveCumulativeUCBVICounting

Declarations

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

def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorPreviousQ Compiled

Previous Q table for successor episode `n+1`.

noncomputable def successorPreviousQ (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) : QTable mdp
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorSummary Compiled

Exact pooled summary available before successor episode `n+1`.

def successorSummary {mdp : MDP State Action} (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) : TransitionCountSummary mdp
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorPolicyTable Compiled

Greedy recurrent table actually used by successor episode `n+1`.

noncomputable def successorPolicyTable (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) : DeterministicMarkovPolicyTable mdp
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorPolicyGapRemaining Compiled

Same-policy continuation gap in the successor episode.

noncomputable def successorPolicyGapRemaining (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n remaining : Nat) (hremaining : remaining <= mdp.horizon) (state : State) : Real
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorLocalCharge Compiled

Per-stage deterministic charge. A zero previous count is paid by `H`; positive counts pay the `9HL/sqrt N` bonus/projection term plus the explicit `66 S H^2 L/N` Bernstein correction.

noncomputable def successorLocalCharge (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) (state : State) : Real
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorPolicyGapRemaining_mem_Icc Compiled

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

theorem successorPolicyGapRemaining_mem_Icc {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] (source : AdaptiveEpisodeBatchSource mdp initialState 1) {episodes : Nat} {delta : Real} {trajectory : EpisodeBatchTrajectory mdp 1} (hhorizon : 0 < mdp.horizon) (hepisodes : 0 < episodes) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hrewardNonneg : forall state action, 0 <= mdp.reward state action) (hrewardOne : forall state action, mdp.reward state action <= 1) (htrajectory : trajectory ∉ AdaptiveEpisodeBatchSource.simultaneousTransitionFailureEvent source episodes (logFactor (State
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorLocalCharge_nonneg Compiled

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

theorem successorLocalCharge_nonneg (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) (state : State) : 0 <= successorLocalCharge mdp defaultState episodes delta trajectory n remaining hremaining state
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.normalizedBellmanRemainingWeight Compiled

Normalized weight at the start of a subproblem with `remaining` decisions.

noncomputable def normalizedBellmanRemainingWeight (mdp : MDP State Action) (remaining : Nat) : Real
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.normalizedBellmanRemainingWeight_zero Compiled

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

theorem normalizedBellmanRemainingWeight_zero (mdp : MDP State Action) : normalizedBellmanRemainingWeight mdp mdp.horizon = 31 / 32
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.normalizedBellmanRemainingWeight_succ_eq_chargeWeight Compiled

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

theorem normalizedBellmanRemainingWeight_succ_eq_chargeWeight (mdp : MDP State Action) (remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) : normalizedBellmanRemainingWeight mdp (remaining + 1) = normalizedBellmanChargeWeight mdp (mdp.decisionStageRemaining remaining hremaining)
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.normalizedBellmanRemainingWeight_eq_stageWeight Compiled

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

theorem normalizedBellmanRemainingWeight_eq_stageWeight (mdp : MDP State Action) (remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) : normalizedBellmanRemainingWeight mdp remaining = normalizedBellmanWeight mdp (mdp.decisionStageRemaining remaining hremaining)
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorWeightedChargeFrom Compiled

Weighted local charges along the state sequence reconstructed recursively from one successor batch.

noncomputable def successorWeightedChargeFrom (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) : (remaining : Nat) -> remaining <= mdp.horizon -> State -> StepTrace Action State remaining -> Real | 0, _, _, _ => 0 | remaining + 1, hremaining, state, trace => let stage := mdp.decisionStageRemaining remaining hremaining normalizedBellmanChargeWeight mdp stage * successorLocalCharge mdp defaultState episodes delta trajectory n remaining hremaining state + successorWeightedChargeFrom mdp defaultState episodes delta trajectory n remaining (by omega) (trace 0).2 (Fin.tail trace) /-- Full successor-episode charge on the canonical state reconstruction. -/ noncomputable def successorCanonicalWeightedCharge (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) : Real
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorCanonicalWeightedCharge Compiled

Full successor-episode charge on the canonical state reconstruction.

noncomputable def successorCanonicalWeightedCharge (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) : Real
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorWeightedChargeSum Compiled

Chronological weighted charge of one successor episode.

noncomputable def successorWeightedChargeSum (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) : Real
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorWeightedChargeSum_nonneg Compiled

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

theorem successorWeightedChargeSum_nonneg (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) : 0 <= successorWeightedChargeSum mdp defaultState episodes delta trajectory n
def BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.successorWeightedVisitedGap Compiled

Weighted state-gap transported along one generated successor batch.

noncomputable def successorWeightedVisitedGap (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) (stage : Fin mdp.horizon) : Real
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.AdaptiveEpisodeBatchSource.successorPolicyGapRemaining_le_inflation_mul_transition_add_charge Compiled

The good same-source transition event discharges the complete local inflated Bellman recursion at every successor episode and state.

theorem successorPolicyGapRemaining_le_inflation_mul_transition_add_charge {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] (source : AdaptiveEpisodeBatchSource mdp initialState 1) {episodes : Nat} {delta : Real} {trajectory : EpisodeBatchTrajectory mdp 1} (hhorizon : 0 < mdp.horizon) (hepisodes : 0 < episodes) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hrewardNonneg : forall state action, 0 <= mdp.reward state action) (hrewardOne : forall state action, mdp.reward state action <= 1) (htrajectory : trajectory ∉ simultaneousTransitionFailureEvent source episodes (logFactor (State
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.AdaptiveEpisodeBatchSource.clippedSuccessorGapFeatureOfSummaries_eq_weight_mul_gap Compiled

On the joint confidence event, the globally clipped martingale feature is exactly the normalized recurrent policy gap.

theorem clippedSuccessorGapFeatureOfSummaries_eq_weight_mul_gap {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] (source : AdaptiveEpisodeBatchSource mdp initialState 1) {episodes : Nat} {delta : Real} {trajectory : EpisodeBatchTrajectory mdp 1} (hhorizon : 0 < mdp.horizon) (hepisodes : 0 < episodes) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hrewardNonneg : forall state action, 0 <= mdp.reward state action) (hrewardOne : forall state action, mdp.reward state action <= 1) (htrajectory : trajectory ∉ simultaneousTransitionFailureEvent source episodes (logFactor (State
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.AdaptiveEpisodeBatchSource.normalizedGap_le_weightedChargeFrom_add_deterministicInnovation Compiled

Exact weighted Bellman telescope for one successor episode. The charge, policy table, recursively reconstructed state path, and martingale innovation are all the same objects used by the recurrent generated source.

theorem normalizedGap_le_weightedChargeFrom_add_deterministicInnovation {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] (source : AdaptiveEpisodeBatchSource mdp initialState 1) {episodes : Nat} {delta : Real} {trajectory : EpisodeBatchTrajectory mdp 1} (hhorizon : 0 < mdp.horizon) (hepisodes : 0 < episodes) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hrewardNonneg : forall state action, 0 <= mdp.reward state action) (hrewardOne : forall state action, mdp.reward state action <= 1) (htrajectory : trajectory ∉ simultaneousTransitionFailureEvent source episodes (logFactor (State
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.AdaptiveEpisodeBatchSource.successorPolicyGapRemaining_le_cap_mul_charge_add_innovation Compiled

The full-horizon successor policy gap is bounded by the globally capped canonical charge plus the exact successor Bellman innovation.

theorem successorPolicyGapRemaining_le_cap_mul_charge_add_innovation {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] (source : AdaptiveEpisodeBatchSource mdp initialState 1) {episodes : Nat} {delta : Real} {trajectory : EpisodeBatchTrajectory mdp 1} (hhorizon : 0 < mdp.horizon) (hepisodes : 0 < episodes) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hrewardNonneg : forall state action, 0 <= mdp.reward state action) (hrewardOne : forall state action, mdp.reward state action <= 1) (htrajectory : trajectory ∉ simultaneousTransitionFailureEvent source episodes (logFactor (State
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.AdaptiveEpisodeBatchSource.recurrentSource_generatedEpisodePseudoRegret_le_successorPolicyGapRemaining Compiled

Optimism converts the generated successor episode's policy-value pseudo-regret into the same recurrent policy gap used by the telescope.

theorem recurrentSource_generatedEpisodePseudoRegret_le_successorPolicyGapRemaining {mdp : MDP State Action} (initialState : Measure State) [IsProbabilityMeasure initialState] {episodes : Nat} {delta : Real} {trajectory : EpisodeBatchTrajectory mdp 1} (hhorizon : 0 < mdp.horizon) (hepisodes : 0 < episodes) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hrewardNonneg : forall state action, 0 <= mdp.reward state action) (hrewardOne : forall state action, mdp.reward state action <= 1) (defaultState : State) (htrajectory : trajectory ∉ simultaneousTransitionFailureEvent (recurrentSource mdp initialState defaultState episodes delta) episodes (logFactor (State
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.AdaptiveEpisodeBatchSource.recurrentBellmanInnovationProcess_succ_eq_canonical Compiled

The named adaptive martingale process is definitionally the direct canonical innovation used in the successor telescope.

theorem recurrentBellmanInnovationProcess_succ_eq_canonical (mdp : MDP State Action) (defaultState : State) (episodes : Nat) (delta : Real) (trajectory : EpisodeBatchTrajectory mdp 1) (n : Nat) : recurrentBellmanInnovationProcess mdp defaultState episodes delta (n + 1) trajectory = mdp.sampledCumulativeDeterministicGapInnovationFrom (successorPolicyTable mdp defaultState episodes delta trajectory n) (clippedSuccessorGapFeatureOfSummaries mdp defaultState episodes delta n (fun i => (trajectory i).transitionCountSummary)) mdp.horizon le_rfl ((trajectory (n + 1)).reconstructedInitialState defaultState) ((trajectory (n + 1)).reconstructedStepTrace)
theorem BanditRLProof.FiniteHorizonRL.AdaptiveCumulativeHoeffdingUCBVI.AdaptiveEpisodeBatchSource.recurrentSource_generatedSuccessorPseudoRegret_le_charge_add_innovation Compiled

End-to-end good-event decomposition for one generated successor episode.

theorem recurrentSource_generatedSuccessorPseudoRegret_le_charge_add_innovation {mdp : MDP State Action} (initialState : Measure State) [IsProbabilityMeasure initialState] {episodes : Nat} {delta : Real} {trajectory : EpisodeBatchTrajectory mdp 1} (hhorizon : 0 < mdp.horizon) (hepisodes : 0 < episodes) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (hrewardNonneg : forall state action, 0 <= mdp.reward state action) (hrewardOne : forall state action, mdp.reward state action <= 1) (defaultState : State) (htrajectory : trajectory ∉ simultaneousTransitionFailureEvent (recurrentSource mdp initialState defaultState episodes delta) episodes (logFactor (State