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

Lean module · Finite-horizon RL

BanditRLProof.RL.FiniteHorizonIIDMultiBatchCumulativeConfidenceRegret

# Finite iid multibatch confidence and cumulative expected regret This module takes a finite Mathlib product of the compiled fixed-policy iid episode-batch law. Each product coordinate receives an equal confidence share. Outside the finite union of pulled-back count events, every batch-specific empirical model has a confidence witness, and the resulting one-episode expected-regret bounds sum over the finite product index. The data-generating policy is fixed across product coordinates. The optimistic policy may depend on its batch, but this is not an adaptive online trajectory law and the cumulative quantity is a sum of expected regrets, not realized cumulative regret.

Module map

Declarations
16
Placeholders
0

Imports

BanditRLProof.RL.FiniteHorizonIIDAllCoordinateFiniteBatchConfidence, BanditRLProof.ProbabilityUnionBound

Imported by

BanditRLProof, BanditRLProof.RL.FiniteHorizonAdaptiveEpisodeBatchLaw

Declarations

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

def BanditRLProof.FiniteHorizonRL.multiBatchLocalDelta Compiled

Equal confidence share assigned to every product-batch coordinate.

noncomputable def multiBatchLocalDelta (rounds : Nat) (delta : Real) : Real
def BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatchFamilyMeasure Compiled

Finite product of one fixed-policy iid episode-batch law.

noncomputable def iidEpisodeBatchFamilyMeasure {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds episodes : Nat) : Measure (Fin rounds -> EpisodeBatch mdp episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatchFamilyMeasure_map_eval Compiled

Every product coordinate has the compiled single-batch marginal law.

theorem iidEpisodeBatchFamilyMeasure_map_eval {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds episodes : Nat) (round : Fin rounds) : (policy.iidEpisodeBatchFamilyMeasure initialState rounds episodes).map (Function.eval round) = policy.iidEpisodeBatchMeasure initialState episodes
def BanditRLProof.FiniteHorizonRL.MarkovPolicy.multiBatchRoundBadEvent Compiled

Pullback of one local simultaneous-count event to a product coordinate.

def multiBatchRoundBadEvent {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds episodes : Nat) (delta : Real) (round : Fin rounds) : Set (Fin rounds -> EpisodeBatch mdp episodes)
def BanditRLProof.FiniteHorizonRL.MarkovPolicy.multiBatchSimultaneousCountBadEvent Compiled

Union of the local simultaneous-count events over all product batches.

def multiBatchSimultaneousCountBadEvent {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds episodes : Nat) (delta : Real) : Set (Fin rounds -> EpisodeBatch mdp episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.measurableSet_multiBatchSimultaneousCountBadEvent Compiled

The pulled-back finite union is measurable.

theorem measurableSet_multiBatchSimultaneousCountBadEvent {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds episodes : Nat) (delta : Real) : MeasurableSet (policy.multiBatchSimultaneousCountBadEvent initialState rounds episodes delta)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatchFamilyMeasure_roundBadEvent_le Compiled

Each pulled-back local event has its equal-share probability bound.

theorem iidEpisodeBatchFamilyMeasure_roundBadEvent_le {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds : Nat) (hrounds : 0 < rounds) (episodes : Nat) (hepisodes : 0 < episodes) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (round : Fin rounds) : (policy.iidEpisodeBatchFamilyMeasure initialState rounds episodes) (policy.multiBatchRoundBadEvent initialState rounds episodes delta round) <= ENNReal.ofReal (multiBatchLocalDelta rounds delta)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatchFamilyMeasure_multiBatchSimultaneousCountBadEvent_le Compiled

Equal-share union over product coordinates retains the global delta.

theorem iidEpisodeBatchFamilyMeasure_multiBatchSimultaneousCountBadEvent_le {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds : Nat) (hrounds : 0 < rounds) (episodes : Nat) (hepisodes : 0 < episodes) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) : (policy.iidEpisodeBatchFamilyMeasure initialState rounds episodes) (policy.multiBatchSimultaneousCountBadEvent initialState rounds episodes delta) <= ENNReal.ofReal delta
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatchFamilyMeasure_rewardConsistent_ae Compiled

Every product batch is reward-consistent almost everywhere.

theorem iidEpisodeBatchFamilyMeasure_rewardConsistent_ae {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds episodes : Nat) : ∀ᵐ batches ∂policy.iidEpisodeBatchFamilyMeasure initialState rounds episodes, ∀ round, (batches round).RewardConsistent
def BanditRLProof.FiniteHorizonRL.MarkovPolicy.multiBatchEmpiricalModelAt Compiled

Batch-specific canonical empirical model at one product coordinate.

noncomputable def multiBatchEmpiricalModelAt {mdp : MDP State Action} (_policy : MarkovPolicy mdp) {rounds episodes : Nat} (batches : Fin rounds -> EpisodeBatch mdp episodes) (defaultState : State) (transitionBudget : Real) (round : Fin rounds) : MDP.FiniteBatchModel mdp episodes
def BanditRLProof.FiniteHorizonRL.MarkovPolicy.multiBatchCumulativeExpectedRegret Compiled

Sum of batch-specific optimistic-policy expected regrets.

noncomputable def multiBatchCumulativeExpectedRegret {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) {rounds episodes : Nat} (batches : Fin rounds -> EpisodeBatch mdp episodes) (defaultState : State) (transitionBudget : Real) : Real
def BanditRLProof.FiniteHorizonRL.MarkovPolicy.multiBatchCumulativeSelectedRadiusOccupancy Compiled

Sum of the batch-specific selected-radius occupancy bounds.

noncomputable def multiBatchCumulativeSelectedRadiusOccupancy {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) {rounds episodes : Nat} (batches : Fin rounds -> EpisodeBatch mdp episodes) (defaultState : State) (transitionBudget : Real) : Real
def BanditRLProof.FiniteHorizonRL.MarkovPolicy.allCoordinateConfidenceFamily_of_not_mem Compiled

Pathwise confidence-family producer outside the finite pulled-back bad-event union, assuming the generated reward-consistency support at every coordinate.

noncomputable def allCoordinateConfidenceFamily_of_not_mem {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] {rounds episodes : Nat} {delta : Real} (batches : Fin rounds -> EpisodeBatch mdp episodes) (hbatches : batches ∉ policy.multiBatchSimultaneousCountBadEvent initialState rounds episodes delta) (hreward : ∀ round, (batches round).RewardConsistent) (defaultState : State) (rewardBound transitionBudget : Real) (hrewardBound : ∀ state action, |mdp.reward state action| <= rewardBound) (htransitionBudget_nonneg : 0 <= transitionBudget) (hmargin : ∀ coordinate : VisitCoordinate mdp, simultaneousCountConfidenceRadius mdp episodes (multiBatchLocalDelta rounds delta) < coordinate.expectedCount policy initialState episodes) (hcover : ∀ (remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) (state : State) (action : Action), (∑ nextState, policy.expectedCountTransitionCoordinateRadius initialState episodes (multiBatchLocalDelta rounds delta) (mdp.decisionStageRemaining remaining hremaining) state action nextState * empiricalFiniteBatchValueEnvelope rewardBound transitionBudget remaining) <= transitionBudget) : ∀ round, (policy.multiBatchEmpiricalModelAt batches defaultState transitionBudget round).Confidence
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.confidenceFamily_optimism_and_cumulativeExpectedRegret Compiled

Finite sums preserve all roundwise optimism and expected-regret bounds.

theorem confidenceFamily_optimism_and_cumulativeExpectedRegret {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] {rounds episodes : Nat} (batches : Fin rounds -> EpisodeBatch mdp episodes) (defaultState : State) (transitionBudget : Real) (confidence : ∀ round, (policy.multiBatchEmpiricalModelAt batches defaultState transitionBudget round).Confidence) : (∀ round state, mdp.optimalValueRemaining mdp.horizon le_rfl state <= (policy.multiBatchEmpiricalModelAt batches defaultState transitionBudget round).plan.upperValueRemaining mdp.horizon le_rfl state) ∧ policy.multiBatchCumulativeExpectedRegret initialState batches defaultState transitionBudget <= policy.multiBatchCumulativeSelectedRadiusOccupancy initialState batches defaultState transitionBudget
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatchFamily_allCoordinate_finiteBatchModel_confidence Compiled

Mapped finite-product confidence endpoint: one global-delta event and an a.e. family of confidence witnesses, with no measurable witness selection claim.

theorem iidEpisodeBatchFamily_allCoordinate_finiteBatchModel_confidence {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds : Nat) (hrounds : 0 < rounds) (episodes : Nat) (hepisodes : 0 < episodes) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (defaultState : State) (rewardBound transitionBudget : Real) (hrewardBound : ∀ state action, |mdp.reward state action| <= rewardBound) (htransitionBudget_nonneg : 0 <= transitionBudget) (hmargin : ∀ coordinate : VisitCoordinate mdp, simultaneousCountConfidenceRadius mdp episodes (multiBatchLocalDelta rounds delta) < coordinate.expectedCount policy initialState episodes) (hcover : ∀ (remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) (state : State) (action : Action), (∑ nextState, policy.expectedCountTransitionCoordinateRadius initialState episodes (multiBatchLocalDelta rounds delta) (mdp.decisionStageRemaining remaining hremaining) state action nextState * empiricalFiniteBatchValueEnvelope rewardBound transitionBudget remaining) <= transitionBudget) : MeasurableSet (policy.multiBatchSimultaneousCountBadEvent initialState rounds episodes delta) ∧ (policy.iidEpisodeBatchFamilyMeasure initialState rounds episodes) (policy.multiBatchSimultaneousCountBadEvent initialState rounds episodes delta) <= ENNReal.ofReal delta ∧ ∀ᵐ batches ∂policy.iidEpisodeBatchFamilyMeasure initialState rounds episodes, batches ∉ policy.multiBatchSimultaneousCountBadEvent initialState rounds episodes delta -> Nonempty (∀ round, (policy.multiBatchEmpiricalModelAt batches defaultState transitionBudget round).Confidence)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatchFamily_allCoordinate_optimism_and_cumulativeExpectedRegret Compiled

Route endpoint: the same finite-product event simultaneously yields optimism for every batch model and the cumulative finite sum of expected-regret bounds.

theorem iidEpisodeBatchFamily_allCoordinate_optimism_and_cumulativeExpectedRegret {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (rounds : Nat) (hrounds : 0 < rounds) (episodes : Nat) (hepisodes : 0 < episodes) (delta : Real) (hdelta : 0 < delta) (hdelta_le_one : delta <= 1) (defaultState : State) (rewardBound transitionBudget : Real) (hrewardBound : ∀ state action, |mdp.reward state action| <= rewardBound) (htransitionBudget_nonneg : 0 <= transitionBudget) (hmargin : ∀ coordinate : VisitCoordinate mdp, simultaneousCountConfidenceRadius mdp episodes (multiBatchLocalDelta rounds delta) < coordinate.expectedCount policy initialState episodes) (hcover : ∀ (remaining : Nat) (hremaining : remaining + 1 <= mdp.horizon) (state : State) (action : Action), (∑ nextState, policy.expectedCountTransitionCoordinateRadius initialState episodes (multiBatchLocalDelta rounds delta) (mdp.decisionStageRemaining remaining hremaining) state action nextState * empiricalFiniteBatchValueEnvelope rewardBound transitionBudget remaining) <= transitionBudget) : MeasurableSet (policy.multiBatchSimultaneousCountBadEvent initialState rounds episodes delta) ∧ (policy.iidEpisodeBatchFamilyMeasure initialState rounds episodes) (policy.multiBatchSimultaneousCountBadEvent initialState rounds episodes delta) <= ENNReal.ofReal delta ∧ ∀ᵐ batches ∂policy.iidEpisodeBatchFamilyMeasure initialState rounds episodes, batches ∉ policy.multiBatchSimultaneousCountBadEvent initialState rounds episodes delta -> (∀ round state, mdp.optimalValueRemaining mdp.horizon le_rfl state <= (policy.multiBatchEmpiricalModelAt batches defaultState transitionBudget round).plan.upperValueRemaining mdp.horizon le_rfl state) ∧ policy.multiBatchCumulativeExpectedRegret initialState batches defaultState transitionBudget <= policy.multiBatchCumulativeSelectedRadiusOccupancy initialState batches defaultState transitionBudget