Lean module · EXP3
BanditRLProof.Exp3ConditionalMoments
This module turns the finite weighted-sum identities for the EXP3 estimator into Bochner-integral identities under an actual history-conditional action law. The conditional distribution is represented by a Markov kernel whose values are explicit finite sums of Dirac measures.
Module map
Imports
BanditRLProof.Exp3ImportanceWeighted
Imported by
BanditRLProof, BanditRLProof.DelayedFeedback.ActionLaw, BanditRLProof.Exp3ActionProcess
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
structure
BanditRLProof.Exp3.FiniteActionDistribution
Compiled
Probability-vector contracts on an explicit finite action support.
Used in these reading views: Bandit Book · Online Learning Book
7. EXP3 and adversarial concentration
Canonical node identity
declaration:BanditRLProof.Exp3.FiniteActionDistributionReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
structure FiniteActionDistribution {Action : Type u} (arms : Finset Action) (prob : Action -> Real) : Prop where
def
BanditRLProof.Exp3.finiteActionMeasure
Compiled
The finite action law generated by a probability vector on `arms`.
Used in these reading views: Bandit Book · Online Learning Book
7. EXP3 and adversarial concentration
Canonical node identity
declaration:BanditRLProof.Exp3.finiteActionMeasureReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def finiteActionMeasure {Action : Type u} [MeasurableSpace Action] (arms : Finset Action) (prob : Action -> Real) : Measure Action
theorem
BanditRLProof.Exp3.finiteActionMeasure_isProbabilityMeasure
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book · Online Learning Book
7. EXP3 and adversarial concentration
Canonical node identity
declaration:BanditRLProof.Exp3.finiteActionMeasure_isProbabilityMeasureReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem finiteActionMeasure_isProbabilityMeasure {Action : Type u} [MeasurableSpace Action] [MeasurableSingletonClass Action] (arms : Finset Action) (prob : Action -> Real) (hdist : FiniteActionDistribution arms prob) : IsProbabilityMeasure (finiteActionMeasure arms prob)
theorem
BanditRLProof.Exp3.integral_finiteActionMeasure_eq_sum
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book · Online Learning Book
7. EXP3 and adversarial concentration
Canonical node identity
declaration:BanditRLProof.Exp3.integral_finiteActionMeasure_eq_sumReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem integral_finiteActionMeasure_eq_sum {Action : Type u} [MeasurableSpace Action] [MeasurableSingletonClass Action] (arms : Finset Action) (prob : Action -> Real) (hdist : FiniteActionDistribution arms prob) (f : Action -> Real) : integral (finiteActionMeasure arms prob) f = arms.sum (fun action => prob action * f action)
theorem
BanditRLProof.Exp3.integral_historyAction_eq_integral_sum_of_condDistrib_ae_eq_finiteActionMeasure
Compiled
An identified finite conditional action law converts any integrable history/action score into the corresponding probability-weighted finite sum.
Used in these reading views: Bandit Book · Online Learning Book
7. EXP3 and adversarial concentration
Canonical node identity
declaration:BanditRLProof.Exp3.integral_historyAction_eq_integral_sum_of_condDistrib_ae_eq_finiteActionMeasureReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem integral_historyAction_eq_integral_sum_of_condDistrib_ae_eq_finiteActionMeasure {Omega : Type u} {History : Type v} {Action : Type w} [MeasurableSpace Omega] [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] (mu : Measure Omega) [IsFiniteMeasure mu] (history : Omega -> History) (hhistory : Measurable history) (action : Omega -> Action) (haction : Measurable action) (arms : Finset Action) (prob : History -> Action -> Real) (hdist : forall h, FiniteActionDistribution arms (prob h)) (policy : Kernel History Action) [IsMarkovKernel policy] (hpolicy : policy =ᵐ[mu.map history] fun h => finiteActionMeasure arms (prob h)) (hcond : condDistrib action history mu =ᵐ[mu.map history] policy) (score : History × Action -> Real) (hscore : Measurable score) (hIntegrable : Integrable score (mu.map history ⊗ₘ policy)) : integral mu (fun omega => score (history omega, action omega)) = integral (mu.map history) (fun h => arms.sum (fun candidate => prob h candidate * score (h, candidate)))
theorem
BanditRLProof.Exp3.integral_importanceWeightedLoss_eq_integral_loss_of_condDistrib
Compiled
One-round armwise unbiasedness under the identified conditional action law.
Used in these reading views: Bandit Book · Online Learning Book
7. EXP3 and adversarial concentration
Canonical node identity
declaration:BanditRLProof.Exp3.integral_importanceWeightedLoss_eq_integral_loss_of_condDistribReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem integral_importanceWeightedLoss_eq_integral_loss_of_condDistrib {Omega : Type u} {History : Type v} {Action : Type w} [MeasurableSpace Omega] [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (mu : Measure Omega) [IsFiniteMeasure mu] (history : Omega -> History) (hhistory : Measurable history) (action : Omega -> Action) (haction : Measurable action) (arms : Finset Action) (prob loss : History -> Action -> Real) (hdist : forall h, FiniteActionDistribution arms (prob h)) (hprob : forall h candidate, candidate ∈ arms -> 0 < prob h candidate) (policy : Kernel History Action) [IsMarkovKernel policy] (hpolicy : policy =ᵐ[mu.map history] fun h => finiteActionMeasure arms (prob h)) (hcond : condDistrib action history mu =ᵐ[mu.map history] policy) (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) (mu.map history ⊗ₘ policy)) : integral mu (fun omega => importanceWeightedLoss (prob (history omega)) (loss (history omega)) (action omega) comparator) = integral (mu.map history) (fun h => loss h comparator)
theorem
BanditRLProof.Exp3.integral_mixedImportanceWeightedLoss_eq_integral_mixedLoss_of_condDistrib
Compiled
The mixed estimated-loss integral equals the true mixed-loss integral.
Used in these reading views: Bandit Book · Online Learning Book
7. EXP3 and adversarial concentration
Canonical node identity
declaration:BanditRLProof.Exp3.integral_mixedImportanceWeightedLoss_eq_integral_mixedLoss_of_condDistribReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem integral_mixedImportanceWeightedLoss_eq_integral_mixedLoss_of_condDistrib {Omega : Type u} {History : Type v} {Action : Type w} [MeasurableSpace Omega] [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (mu : Measure Omega) [IsFiniteMeasure mu] (history : Omega -> History) (hhistory : Measurable history) (action : Omega -> Action) (haction : Measurable action) (arms : Finset Action) (prob loss : History -> Action -> Real) (hdist : forall h, FiniteActionDistribution arms (prob h)) (hprob : forall h candidate, candidate ∈ arms -> 0 < prob h candidate) (policy : Kernel History Action) [IsMarkovKernel policy] (hpolicy : policy =ᵐ[mu.map history] fun h => finiteActionMeasure arms (prob h)) (hcond : condDistrib action history mu =ᵐ[mu.map history] policy) (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) (mu.map history ⊗ₘ policy)) : integral mu (fun omega => mixedImportanceWeightedLoss arms (prob (history omega)) (loss (history omega)) (action omega)) = integral (mu.map history) (fun h => arms.sum (fun candidate => prob h candidate * loss h candidate))
theorem
BanditRLProof.Exp3.integral_weightedImportanceWeightedLoss_eq_integral_weightedLoss_of_condDistrib
Compiled
A second predictable finite distribution may weight the estimator without changing the sampling law used by the conditional transport.
Used in these reading views: Bandit Book · Online Learning Book
7. EXP3 and adversarial concentration
Canonical node identity
declaration:BanditRLProof.Exp3.integral_weightedImportanceWeightedLoss_eq_integral_weightedLoss_of_condDistribReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem integral_weightedImportanceWeightedLoss_eq_integral_weightedLoss_of_condDistrib {Omega : Type u} {History : Type v} {Action : Type w} [MeasurableSpace Omega] [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (mu : Measure Omega) [IsFiniteMeasure mu] (history : Omega -> History) (hhistory : Measurable history) (action : Omega -> Action) (haction : Measurable action) (arms : Finset Action) (prob weight loss : History -> Action -> Real) (hdist : forall h, FiniteActionDistribution arms (prob h)) (hprob : forall h candidate, candidate ∈ arms -> 0 < prob h candidate) (policy : Kernel History Action) [IsMarkovKernel policy] (hpolicy : policy =ᵐ[mu.map history] fun h => finiteActionMeasure arms (prob h)) (hcond : condDistrib action history mu =ᵐ[mu.map history] policy) (hscore : Measurable (fun z : History × Action => weightedImportanceWeightedLoss arms (prob z.1) (weight z.1) (loss z.1) z.2)) (hIntegrable : Integrable (fun z : History × Action => weightedImportanceWeightedLoss arms (prob z.1) (weight z.1) (loss z.1) z.2) (mu.map history ⊗ₘ policy)) : integral mu (fun omega => weightedImportanceWeightedLoss arms (prob (history omega)) (weight (history omega)) (loss (history omega)) (action omega)) = integral (mu.map history) (fun h => arms.sum (fun candidate => weight h candidate * loss h candidate))
theorem
BanditRLProof.Exp3.integral_mixedSquaredImportanceWeightedLoss_eq_integral_sum_loss_sq_of_condDistrib
Compiled
The mixed estimator-square integral equals the integral of summed loss squares.
Used in these reading views: Bandit Book · Online Learning Book
7. EXP3 and adversarial concentration
Canonical node identity
declaration:BanditRLProof.Exp3.integral_mixedSquaredImportanceWeightedLoss_eq_integral_sum_loss_sq_of_condDistribReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem integral_mixedSquaredImportanceWeightedLoss_eq_integral_sum_loss_sq_of_condDistrib {Omega : Type u} {History : Type v} {Action : Type w} [MeasurableSpace Omega] [MeasurableSpace History] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (mu : Measure Omega) [IsFiniteMeasure mu] (history : Omega -> History) (hhistory : Measurable history) (action : Omega -> Action) (haction : Measurable action) (arms : Finset Action) (prob loss : History -> Action -> Real) (hdist : forall h, FiniteActionDistribution arms (prob h)) (hprob : forall h candidate, candidate ∈ arms -> 0 < prob h candidate) (policy : Kernel History Action) [IsMarkovKernel policy] (hpolicy : policy =ᵐ[mu.map history] fun h => finiteActionMeasure arms (prob h)) (hcond : condDistrib action history mu =ᵐ[mu.map history] policy) (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) (mu.map history ⊗ₘ policy)) : integral mu (fun omega => mixedSquaredImportanceWeightedLoss arms (prob (history omega)) (loss (history omega)) (action omega)) = integral (mu.map history) (fun h => arms.sum (fun candidate => (loss h candidate) ^ 2))