Lean module · EXP3
BanditRLProof.Exp3ActionProcess
# A generated one-round EXP3 action process This module constructs a history-adaptive finite-action Markov kernel from measurable probability coordinates. Its canonical sample measure is the history law composed with that kernel, so the sampled action has the requested conditional distribution by Mathlib's `condDistrib`/`compProd` uniqueness theorem. The final wrappers discharge the law premises of the one-round EXP3 importance-weighted moment transport.
Module map
Imports
BanditRLProof.Exp3ConditionalMoments
Imported by
BanditRLProof, BanditRLProof.Exp3ScoreRegularity, BanditRLProof.TsallisFTRLConditionalStability
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
structure
BanditRLProof.Exp3.MeasurableFiniteActionDistribution
Compiled
Pointwise probability-vector and coordinate-measurability contracts.
structure MeasurableFiniteActionDistribution {History : Type u} {Action : Type v} [MeasurableSpace History] (arms : Finset Action) (prob : History -> Action -> Real) : Prop where
def
BanditRLProof.Exp3.finiteActionKernel
Compiled
The history-adaptive finite action kernel generated by `prob`.
noncomputable def finiteActionKernel {History : Type u} {Action : Type v} [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] (arms : Finset Action) (prob : History -> Action -> Real) (source : MeasurableFiniteActionDistribution arms prob) : Kernel History Action where
theorem
BanditRLProof.Exp3.finiteActionKernel_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem finiteActionKernel_apply {History : Type u} {Action : Type v} [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] (arms : Finset Action) (prob : History -> Action -> Real) (source : MeasurableFiniteActionDistribution arms prob) (history : History) : finiteActionKernel arms prob source history = finiteActionMeasure arms (prob history)
def
BanditRLProof.Exp3.actionProcessMeasure
Compiled
Canonical joint history/action law generated by the adaptive policy.
noncomputable def actionProcessMeasure {History : Type u} {Action : Type v} [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] (historyMu : Measure History) [IsFiniteMeasure historyMu] (arms : Finset Action) (prob : History -> Action -> Real) (source : MeasurableFiniteActionDistribution arms prob) : Measure (History × Action)
def
BanditRLProof.Exp3.actionProcessHistory
Compiled
History coordinate of the generated one-round process.
def actionProcessHistory {History Action : Type*} : History × Action -> History
def
BanditRLProof.Exp3.actionProcessAction
Compiled
Sampled action coordinate of the generated one-round process.
def actionProcessAction {History Action : Type*} : History × Action -> Action
theorem
BanditRLProof.Exp3.actionProcessHistory_measurable
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem actionProcessHistory_measurable {History Action : Type*} [MeasurableSpace History] [MeasurableSpace Action] : Measurable (@actionProcessHistory History Action)
theorem
BanditRLProof.Exp3.actionProcessAction_measurable
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem actionProcessAction_measurable {History Action : Type*} [MeasurableSpace History] [MeasurableSpace Action] : Measurable (@actionProcessAction History Action)
theorem
BanditRLProof.Exp3.actionProcess_history_map_eq
Compiled
The generated process preserves the supplied history marginal.
theorem actionProcess_history_map_eq {History : Type u} {Action : Type v} [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] (historyMu : Measure History) [IsFiniteMeasure historyMu] (arms : Finset Action) (prob : History -> Action -> Real) (source : MeasurableFiniteActionDistribution arms prob) : (actionProcessMeasure historyMu arms prob source).map actionProcessHistory = historyMu
theorem
BanditRLProof.Exp3.actionProcess_condDistrib_action_ae_eq_finiteActionKernel
Compiled
The sampled action has the generated policy as its a.e. conditional law.
theorem actionProcess_condDistrib_action_ae_eq_finiteActionKernel {History : Type u} {Action : Type v} [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] (historyMu : Measure History) [IsFiniteMeasure historyMu] (arms : Finset Action) (prob : History -> Action -> Real) (source : MeasurableFiniteActionDistribution arms prob) : condDistrib actionProcessAction actionProcessHistory (actionProcessMeasure historyMu arms prob source) =ᵐ[ (actionProcessMeasure historyMu arms prob source).map actionProcessHistory] finiteActionKernel arms prob source
theorem
BanditRLProof.Exp3.finiteActionKernel_ae_eq_finiteActionMeasure
Compiled
The generated policy is pointwise the explicit finite Dirac action law.
theorem finiteActionKernel_ae_eq_finiteActionMeasure {History : Type u} {Action : Type v} [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] (historyMu : Measure History) (arms : Finset Action) (prob : History -> Action -> Real) (source : MeasurableFiniteActionDistribution arms prob) : finiteActionKernel arms prob source =ᵐ[historyMu] fun history => finiteActionMeasure arms (prob history)
theorem
BanditRLProof.Exp3.actionProcess_integral_importanceWeightedLoss_eq_integral_loss
Compiled
Canonical generated-process armwise importance-weighted identity.
theorem actionProcess_integral_importanceWeightedLoss_eq_integral_loss {History : Type u} {Action : Type v} [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (historyMu : Measure History) [IsFiniteMeasure historyMu] (arms : Finset Action) (prob loss : History -> Action -> Real) (source : MeasurableFiniteActionDistribution arms prob) (hprob : forall history action, action ∈ arms -> 0 < prob history action) (comparator : Action) (hcomparator : comparator ∈ arms) (hscore : Measurable (fun z : History × Action => importanceWeightedLoss (prob z.1) (loss z.1) z.2 comparator)) (hIntegrable : Integrable (fun z : History × Action => importanceWeightedLoss (prob z.1) (loss z.1) z.2 comparator) (historyMu ⊗ₘ finiteActionKernel arms prob source)) : integral (actionProcessMeasure historyMu arms prob source) (fun sample => importanceWeightedLoss (prob (actionProcessHistory sample)) (loss (actionProcessHistory sample)) (actionProcessAction sample) comparator) = integral historyMu (fun history => loss history comparator)
theorem
BanditRLProof.Exp3.actionProcess_integral_mixedImportanceWeightedLoss_eq_integral_mixedLoss
Compiled
Canonical generated-process mixed first-moment identity.
theorem actionProcess_integral_mixedImportanceWeightedLoss_eq_integral_mixedLoss {History : Type u} {Action : Type v} [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (historyMu : Measure History) [IsFiniteMeasure historyMu] (arms : Finset Action) (prob loss : History -> Action -> Real) (source : MeasurableFiniteActionDistribution arms prob) (hprob : forall history action, action ∈ arms -> 0 < prob history action) (hscore : Measurable (fun z : History × Action => mixedImportanceWeightedLoss arms (prob z.1) (loss z.1) z.2)) (hIntegrable : Integrable (fun z : History × Action => mixedImportanceWeightedLoss arms (prob z.1) (loss z.1) z.2) (historyMu ⊗ₘ finiteActionKernel arms prob source)) : integral (actionProcessMeasure historyMu arms prob source) (fun sample => mixedImportanceWeightedLoss arms (prob (actionProcessHistory sample)) (loss (actionProcessHistory sample)) (actionProcessAction sample)) = integral historyMu (fun history => arms.sum (fun action => prob history action * loss history action))
theorem
BanditRLProof.Exp3.actionProcess_integral_mixedSquaredImportanceWeightedLoss_eq_integral_sum_loss_sq
Compiled
Canonical generated-process mixed second-moment identity.
theorem actionProcess_integral_mixedSquaredImportanceWeightedLoss_eq_integral_sum_loss_sq {History : Type u} {Action : Type v} [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (historyMu : Measure History) [IsFiniteMeasure historyMu] (arms : Finset Action) (prob loss : History -> Action -> Real) (source : MeasurableFiniteActionDistribution arms prob) (hprob : forall history action, action ∈ arms -> 0 < prob history action) (hscore : Measurable (fun z : History × Action => mixedSquaredImportanceWeightedLoss arms (prob z.1) (loss z.1) z.2)) (hIntegrable : Integrable (fun z : History × Action => mixedSquaredImportanceWeightedLoss arms (prob z.1) (loss z.1) z.2) (historyMu ⊗ₘ finiteActionKernel arms prob source)) : integral (actionProcessMeasure historyMu arms prob source) (fun sample => mixedSquaredImportanceWeightedLoss arms (prob (actionProcessHistory sample)) (loss (actionProcessHistory sample)) (actionProcessAction sample)) = integral historyMu (fun history => arms.sum (fun action => (loss history action) ^ 2))