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

Lean module · Finite-horizon RL

BanditRLProof.RL.FiniteHorizonExploratoryPathSupportReachability

# Exploratory path-support state reachability This module derives a policy-independent state-probability lower envelope from explicit initial singleton floors and one chosen predecessor transition for each successor-stage state. Uniform exploration supplies the chosen action's probability. The resulting envelope applies to every exploratory policy table and therefore to every behavior policy in the adaptive empirical optimistic source.

Module map

Declarations
13
Placeholders
0

Imports

BanditRLProof.RL.FiniteHorizonExploratoryReachabilityCalibration

Imported by

BanditRLProof, BanditRLProof.RL.FiniteHorizonExploratoryPathSupportExplicitCalibration

Declarations

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

theorem BanditRLProof.FiniteHorizonRL.MDP.trajectoryStateAt_zero Compiled

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

theorem trajectoryStateAt_zero (mdp : MDP State Action) (trajectory : State × StepTrace Action State mdp.horizon) (hhorizon : 0 < mdp.horizon) : mdp.trajectoryStateAt trajectory ⟨0, hhorizon⟩ = trajectory.1
theorem BanditRLProof.FiniteHorizonRL.MDP.episodeStepOfTrajectory_nextState_eq_trajectoryStateAt_succ Compiled

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

theorem episodeStepOfTrajectory_nextState_eq_trajectoryStateAt_succ (mdp : MDP State Action) (trajectory : State × StepTrace Action State mdp.horizon) (stage : Nat) (hstage : stage + 1 < mdp.horizon) : (mdp.episodeStepOfTrajectory trajectory ⟨stage, by omega⟩).nextState = mdp.trajectoryStateAt trajectory ⟨stage + 1, hstage⟩
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.stageStateProbability_zero Compiled

The generated state mass at stage zero is the initial singleton mass.

theorem stageStateProbability_zero {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (hhorizon : 0 < mdp.horizon) (state : State) : policy.stageStateProbability initialState ⟨0, hhorizon⟩ state = initialState.real {state}
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.stageTransitionJointProbability_le_stageStateProbability_succ Compiled

A selected transition event is contained in its successor state event.

theorem stageTransitionJointProbability_le_stageStateProbability_succ {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (stage : Nat) (hstage : stage + 1 < mdp.horizon) (state : State) (action : Action) (nextState : State) : policy.stageTransitionJointProbability initialState ⟨stage, by omega⟩ state action nextState <= policy.stageStateProbability initialState ⟨stage + 1, hstage⟩ nextState
structure BanditRLProof.FiniteHorizonRL.ExploratoryPathSupport Compiled

One explicit predecessor path for each successor-stage state, together with nonnegative singleton-mass floors along those paths.

structure ExploratoryPathSupport (mdp : MDP State Action) (initialState : Measure State) where
def BanditRLProof.FiniteHorizonRL.exploratoryPathStateLowerNat Compiled

Recursive state floor along the selected predecessor paths.

noncomputable def exploratoryPathStateLowerNat {mdp : MDP State Action} {initialState : Measure State} (support : ExploratoryPathSupport mdp initialState) (explorationRate : NNReal) : (stage : Nat) -> stage < mdp.horizon -> State -> Real | 0, _hstage, state => support.initialFloor state | stage + 1, hstage, state => exploratoryPathStateLowerNat support explorationRate stage (by omega) (support.predecessorState ⟨stage + 1, hstage⟩ state) * exploratoryActionProbabilityFloor Action explorationRate * support.transitionFloor ⟨stage + 1, hstage⟩ state /-- The selected-path lower envelope indexed by valid chronological stages. -/ noncomputable def exploratoryPathStateLower {mdp : MDP State Action} {initialState : Measure State} (support : ExploratoryPathSupport mdp initialState) (explorationRate : NNReal) (stage : Fin mdp.horizon) (state : State) : Real
def BanditRLProof.FiniteHorizonRL.exploratoryPathStateLower Compiled

The selected-path lower envelope indexed by valid chronological stages.

noncomputable def exploratoryPathStateLower {mdp : MDP State Action} {initialState : Measure State} (support : ExploratoryPathSupport mdp initialState) (explorationRate : NNReal) (stage : Fin mdp.horizon) (state : State) : Real
theorem BanditRLProof.FiniteHorizonRL.exploratoryPathStateLowerNat_nonneg Compiled

Every recursively constructed path-support floor is nonnegative.

theorem exploratoryPathStateLowerNat_nonneg {mdp : MDP State Action} {initialState : Measure State} (support : ExploratoryPathSupport mdp initialState) (explorationRate : NNReal) : forall (stage : Nat) (hstage : stage < mdp.horizon) (state : State), 0 <= exploratoryPathStateLowerNat support explorationRate stage hstage state
theorem BanditRLProof.FiniteHorizonRL.exploratoryPathStateLower_nonneg Compiled

The Fin-indexed selected-path envelope is nonnegative.

theorem exploratoryPathStateLower_nonneg {mdp : MDP State Action} {initialState : Measure State} (support : ExploratoryPathSupport mdp initialState) (explorationRate : NNReal) (stage : Fin mdp.horizon) (state : State) : 0 <= exploratoryPathStateLower support explorationRate stage state
theorem BanditRLProof.FiniteHorizonRL.DeterministicMarkovPolicyTable.exploratoryPathStateLower_le_stageStateProbability Compiled

Every exploratory table policy dominates the same explicit path-support state envelope, independently of the table's deterministic center.

theorem exploratoryPathStateLower_le_stageStateProbability {mdp : MDP State Action} (table : DeterministicMarkovPolicyTable mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (support : ExploratoryPathSupport mdp initialState) (explorationRate : NNReal) (hexplorationRate : explorationRate <= 1) (stage : Fin mdp.horizon) (state : State) : exploratoryPathStateLower support explorationRate stage state <= (table.exploratoryPolicy explorationRate hexplorationRate).stageStateProbability initialState stage state
theorem BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.exploratorySource_sourceStateReachability_of_pathSupport Compiled

Every policy selected by the exploratory source shares the path-support floor.

theorem exploratorySource_sourceStateReachability_of_pathSupport {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (transitionBonus : Real) (explorationRate : NNReal) (hexplorationRate : explorationRate <= 1) (rounds : Nat) (support : ExploratoryPathSupport mdp initialState) : let behaviorSource := exploratorySource mdp initialState episodes initialTable defaultState transitionBonus explorationRate hexplorationRate SourceStateReachability behaviorSource rounds (exploratoryPathStateLower support explorationRate)
theorem BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.exploratorySource_sourceCalibration_of_pathSupport Compiled

Explicit path support constructs the exact adaptive source calibration.

theorem exploratorySource_sourceCalibration_of_pathSupport {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (rewardBound transitionBonus delta : Real) (explorationRate : NNReal) (hexplorationRate : explorationRate <= 1) (rounds : Nat) (support : ExploratoryPathSupport mdp initialState) (hmargin : ExploratoryStateCountMargin mdp episodes (multiBatchLocalDelta rounds delta) explorationRate (exploratoryPathStateLower support explorationRate)) (hcover : let behaviorSource := exploratorySource mdp initialState episodes initialTable defaultState transitionBonus explorationRate hexplorationRate SourceTransitionBonusCover behaviorSource rounds (multiBatchLocalDelta rounds delta) rewardBound transitionBonus) : let behaviorSource := exploratorySource mdp initialState episodes initialTable defaultState transitionBonus explorationRate hexplorationRate SourceCalibration behaviorSource rounds delta rewardBound transitionBonus
theorem BanditRLProof.FiniteHorizonRL.AdaptiveEmpiricalOptimisticSource.exploratorySource_trajectoryMeasure_allCoordinateConfidence_optimism_and_recommendedExpectedRegret_of_pathSupport Compiled

Route endpoint: explicit initial and transition path support replaces the abstract source state-reachability premise in the adaptive global theorem.

theorem exploratorySource_trajectoryMeasure_allCoordinateConfidence_optimism_and_recommendedExpectedRegret_of_pathSupport {mdp : MDP State Action} {initialState : Measure State} [IsProbabilityMeasure initialState] {episodes : Nat} (initialTable : DeterministicMarkovPolicyTable mdp) (defaultState : State) (rewardBound transitionBonus : Real) (explorationRate : NNReal) (hexplorationRate : explorationRate <= 1) (hrewardBound : forall state action, |mdp.reward state action| <= rewardBound) (htransitionBonus_nonneg : 0 <= transitionBonus) (rounds : Nat) (hrounds : 0 < rounds) (hepisodes : 0 < episodes) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (support : ExploratoryPathSupport mdp initialState) (hmargin : ExploratoryStateCountMargin mdp episodes (multiBatchLocalDelta rounds delta) explorationRate (exploratoryPathStateLower support explorationRate)) (hcover : let behaviorSource := exploratorySource mdp initialState episodes initialTable defaultState transitionBonus explorationRate hexplorationRate SourceTransitionBonusCover behaviorSource rounds (multiBatchLocalDelta rounds delta) rewardBound transitionBonus) : let behaviorSource := exploratorySource mdp initialState episodes initialTable defaultState transitionBonus explorationRate hexplorationRate let bad := behaviorSource.adaptiveSimultaneousCountBadEvent rounds delta MeasurableSet bad /\ behaviorSource.trajectoryMeasure bad <= ENNReal.ofReal delta /\ forall trajectory, trajectory ∉ bad -> (forall round : Fin rounds, forall state, mdp.optimalValueRemaining mdp.horizon le_rfl state <= (adaptiveEmpiricalOptimisticPlanAt (mdp