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

Lean module · Finite-horizon RL

BanditRLProof.RL.FiniteHorizonIIDTrajectoryBatch

# IID generated-trajectory batches for finite-horizon RL This module maps a finite product of genuine policy trajectory laws into the finite-batch empirical-model surface. It exposes both the episode/stage marginal law and independence across episode coordinates. The policy is fixed across episodes; adaptive cross-episode policy updates and concentration of visit-conditioned empirical ratios remain downstream.

Module map

Declarations
27
Placeholders
0

Imports

BanditRLProof.RL.FiniteHorizonEmpiricalModel

Imported by

BanditRLProof, BanditRLProof.RL.FiniteHorizonIIDCountConcentration, BanditRLProof.RL.FiniteHorizonIIDGeneratedEmpiricalRewardExactness, BanditRLProof.RL.FiniteHorizonStochasticRewardErasureLaw

Declarations

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

def BanditRLProof.FiniteHorizonRL.MDP.trajectoryStateAt Compiled

Current state immediately before a recorded trajectory action.

def trajectoryStateAt (mdp : MDP State Action) (trajectory : State × StepTrace Action State mdp.horizon) (stage : Fin mdp.horizon) : State
def BanditRLProof.FiniteHorizonRL.MDP.episodeStepOfTrajectory Compiled

A full generated trajectory viewed as one empirical record at a stage.

def episodeStepOfTrajectory (mdp : MDP State Action) (trajectory : State × StepTrace Action State mdp.horizon) (stage : Fin mdp.horizon) : EpisodeStep State Action where
def BanditRLProof.FiniteHorizonRL.MDP.episodeBatchOfTrajectories Compiled

A finite family of full trajectories mapped to empirical episode records.

def episodeBatchOfTrajectories (mdp : MDP State Action) (episodes : Nat) (trajectories : Fin episodes -> State × StepTrace Action State mdp.horizon) : EpisodeBatch mdp episodes
def BanditRLProof.FiniteHorizonRL.MDP.trajectoryVisitContribution Compiled

One trajectory's contribution to a stage/state/action visit count.

def trajectoryVisitContribution (mdp : MDP State Action) (stage : Fin mdp.horizon) (state : State) (action : Action) (trajectory : State × StepTrace Action State mdp.horizon) : Nat
def BanditRLProof.FiniteHorizonRL.MDP.trajectoryRewardContribution Compiled

One trajectory's contribution to a stage/state/action reward sum.

def trajectoryRewardContribution (mdp : MDP State Action) (stage : Fin mdp.horizon) (state : State) (action : Action) (trajectory : State × StepTrace Action State mdp.horizon) : Real
def BanditRLProof.FiniteHorizonRL.MDP.trajectoryTransitionContribution Compiled

One trajectory's contribution to a stage/state/action/next-state count.

def trajectoryTransitionContribution (mdp : MDP State Action) (stage : Fin mdp.horizon) (state : State) (action : Action) (nextState : State) (trajectory : State × StepTrace Action State mdp.horizon) : Nat
theorem BanditRLProof.FiniteHorizonRL.MDP.measurable_episodeStepOfTrajectory Compiled

The stage record extracted from a finite trajectory is measurable.

theorem measurable_episodeStepOfTrajectory (mdp : MDP State Action) (stage : Fin mdp.horizon) : Measurable (fun trajectory => mdp.episodeStepOfTrajectory trajectory stage)
theorem BanditRLProof.FiniteHorizonRL.MDP.measurable_episodeBatchOfTrajectories Compiled

Mapping a finite trajectory family to its empirical batch is measurable.

theorem measurable_episodeBatchOfTrajectories (mdp : MDP State Action) (episodes : Nat) : Measurable (mdp.episodeBatchOfTrajectories episodes)
theorem BanditRLProof.FiniteHorizonRL.MDP.episodeBatchOfTrajectories_apply Compiled

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

theorem episodeBatchOfTrajectories_apply (mdp : MDP State Action) (episodes : Nat) (trajectories : Fin episodes -> State × StepTrace Action State mdp.horizon) (episode : Fin episodes) (stage : Fin mdp.horizon) : mdp.episodeBatchOfTrajectories episodes trajectories episode stage = mdp.episodeStepOfTrajectory (trajectories episode) stage
theorem BanditRLProof.FiniteHorizonRL.MDP.episodeBatchOfTrajectories_visitCount Compiled

Extracted batch visits are exactly the sum of trajectory contributions.

theorem episodeBatchOfTrajectories_visitCount (mdp : MDP State Action) (episodes : Nat) (trajectories : Fin episodes -> State × StepTrace Action State mdp.horizon) (stage : Fin mdp.horizon) (state : State) (action : Action) : (mdp.episodeBatchOfTrajectories episodes trajectories).visitCount stage state action = ∑ episode, mdp.trajectoryVisitContribution stage state action (trajectories episode)
theorem BanditRLProof.FiniteHorizonRL.MDP.episodeBatchOfTrajectories_rewardSum Compiled

Extracted batch rewards are exactly the sum of trajectory contributions.

theorem episodeBatchOfTrajectories_rewardSum (mdp : MDP State Action) (episodes : Nat) (trajectories : Fin episodes -> State × StepTrace Action State mdp.horizon) (stage : Fin mdp.horizon) (state : State) (action : Action) : (mdp.episodeBatchOfTrajectories episodes trajectories).rewardSum stage state action = ∑ episode, mdp.trajectoryRewardContribution stage state action (trajectories episode)
theorem BanditRLProof.FiniteHorizonRL.MDP.episodeBatchOfTrajectories_transitionCount Compiled

Extracted transition counts are exactly trajectory-indicator sums.

theorem episodeBatchOfTrajectories_transitionCount (mdp : MDP State Action) (episodes : Nat) (trajectories : Fin episodes -> State × StepTrace Action State mdp.horizon) (stage : Fin mdp.horizon) (state : State) (action : Action) (nextState : State) : (mdp.episodeBatchOfTrajectories episodes trajectories).transitionCount stage state action nextState = ∑ episode, mdp.trajectoryTransitionContribution stage state action nextState (trajectories episode)
theorem BanditRLProof.FiniteHorizonRL.MDP.measurable_trajectoryVisitContribution Compiled

A fixed visit contribution is measurable on the generated trajectory.

theorem measurable_trajectoryVisitContribution (mdp : MDP State Action) (stage : Fin mdp.horizon) (state : State) (action : Action) : Measurable (mdp.trajectoryVisitContribution stage state action)
theorem BanditRLProof.FiniteHorizonRL.MDP.measurable_trajectoryRewardContribution Compiled

A fixed reward contribution is measurable on the generated trajectory.

theorem measurable_trajectoryRewardContribution (mdp : MDP State Action) (stage : Fin mdp.horizon) (state : State) (action : Action) : Measurable (mdp.trajectoryRewardContribution stage state action)
theorem BanditRLProof.FiniteHorizonRL.MDP.measurable_trajectoryTransitionContribution Compiled

A fixed transition contribution is measurable on the generated trajectory.

theorem measurable_trajectoryTransitionContribution (mdp : MDP State Action) (stage : Fin mdp.horizon) (state : State) (action : Action) (nextState : State) : Measurable (mdp.trajectoryTransitionContribution stage state action nextState)
def BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidTrajectoryFamilyMeasure Compiled

Finite iid product of the generated single-episode trajectory law.

noncomputable def iidTrajectoryFamilyMeasure {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) : Measure (Fin episodes -> State × StepTrace Action State mdp.horizon)
def BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatchMeasure Compiled

Pushforward law of the empirical batch extracted from iid trajectories.

noncomputable def iidEpisodeBatchMeasure {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) : Measure (EpisodeBatch mdp episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidTrajectoryFamilyMeasure_map_eval Compiled

Every product coordinate has the generated single-episode trajectory law.

theorem iidTrajectoryFamilyMeasure_map_eval {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] {episodes : Nat} (episode : Fin episodes) : (policy.iidTrajectoryFamilyMeasure initialState episodes).map (Function.eval episode) = policy.trajectoryMeasure initialState
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatchMeasure_map_eval Compiled

Each episode/stage coordinate of the mapped batch has the corresponding pushforward of the genuine generated single-trajectory law.

theorem iidEpisodeBatchMeasure_map_eval {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] {episodes : Nat} (episode : Fin episodes) (stage : Fin mdp.horizon) : (policy.iidEpisodeBatchMeasure initialState episodes).map (fun batch => batch episode stage) = (policy.trajectoryMeasure initialState).map (fun trajectory => mdp.episodeStepOfTrajectory trajectory stage)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iIndepFun_episodeStepOfTrajectory Compiled

Stage records from distinct product coordinates are independent.

theorem iIndepFun_episodeStepOfTrajectory {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (stage : Fin mdp.horizon) : ProbabilityTheory.iIndepFun (fun episode trajectories => mdp.episodeStepOfTrajectory (trajectories episode) stage) (policy.iidTrajectoryFamilyMeasure initialState episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iIndepFun_iidEpisodeBatch_eval Compiled

Fixed-stage record coordinates are independent under the mapped batch law.

theorem iIndepFun_iidEpisodeBatch_eval {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (stage : Fin mdp.horizon) : ProbabilityTheory.iIndepFun (fun episode (batch : EpisodeBatch mdp episodes) => batch episode stage) (policy.iidEpisodeBatchMeasure initialState episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iIndepFun_iidEpisodeBatch_statistic Compiled

Measurable fixed-stage batch-record statistics are independent by episode.

theorem iIndepFun_iidEpisodeBatch_statistic {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (stage : Fin mdp.horizon) {Target : Type w} [MeasurableSpace Target] (statistic : EpisodeStep State Action -> Target) (hstatistic : Measurable statistic) : ProbabilityTheory.iIndepFun (fun episode (batch : EpisodeBatch mdp episodes) => statistic (batch episode stage)) (policy.iidEpisodeBatchMeasure initialState episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iIndepFun_episodeStatistic Compiled

Any measurable statistic of a fixed-stage record remains independent by episode.

theorem iIndepFun_episodeStatistic {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (stage : Fin mdp.horizon) {Target : Type w} [MeasurableSpace Target] (statistic : EpisodeStep State Action -> Target) (hstatistic : Measurable statistic) : ProbabilityTheory.iIndepFun (fun episode trajectories => statistic (mdp.episodeStepOfTrajectory (trajectories episode) stage)) (policy.iidTrajectoryFamilyMeasure initialState episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iIndepFun_trajectoryVisitContribution Compiled

Visit-count summands are independent across iid episode trajectories.

theorem iIndepFun_trajectoryVisitContribution {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (stage : Fin mdp.horizon) (state : State) (action : Action) : ProbabilityTheory.iIndepFun (fun episode trajectories => mdp.trajectoryVisitContribution stage state action (trajectories episode)) (policy.iidTrajectoryFamilyMeasure initialState episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iIndepFun_trajectoryRewardContribution Compiled

Reward-sum summands are independent across iid episode trajectories.

theorem iIndepFun_trajectoryRewardContribution {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (stage : Fin mdp.horizon) (state : State) (action : Action) : ProbabilityTheory.iIndepFun (fun episode trajectories => mdp.trajectoryRewardContribution stage state action (trajectories episode)) (policy.iidTrajectoryFamilyMeasure initialState episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iIndepFun_trajectoryTransitionContribution Compiled

Transition-count summands are independent across iid episode trajectories.

theorem iIndepFun_trajectoryTransitionContribution {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (stage : Fin mdp.horizon) (state : State) (action : Action) (nextState : State) : ProbabilityTheory.iIndepFun (fun episode trajectories => mdp.trajectoryTransitionContribution stage state action nextState (trajectories episode)) (policy.iidTrajectoryFamilyMeasure initialState episodes)
theorem BanditRLProof.FiniteHorizonRL.MarkovPolicy.iidEpisodeBatch_stepLaw_and_independence Compiled

Route endpoint: generated batch coordinates have the correct marginal law and are independent across episodes at every fixed stage.

theorem iidEpisodeBatch_stepLaw_and_independence {mdp : MDP State Action} (policy : MarkovPolicy mdp) (initialState : Measure State) [IsProbabilityMeasure initialState] (episodes : Nat) (stage : Fin mdp.horizon) : (forall episode : Fin episodes, (policy.iidEpisodeBatchMeasure initialState episodes).map (fun batch => batch episode stage) = (policy.trajectoryMeasure initialState).map (fun trajectory => mdp.episodeStepOfTrajectory trajectory stage)) /\ ProbabilityTheory.iIndepFun (fun episode (batch : EpisodeBatch mdp episodes) => batch episode stage) (policy.iidEpisodeBatchMeasure initialState episodes)