Lean module · Foundations
BanditRLProof.FiniteRealArgmax
This module provides a fixed-enumeration maximizer for Real-valued scores on a nonempty finite type. Unlike a bare Classical.choose over existence of a maximum, the explicit fold remains measurable when every score coordinate is measurable in an external parameter.
Module map
Imports
BanditRLProof.MeasurableLocalQuantities
Imported by
BanditRLProof.Algorithms.CausalRecommendation, BanditRLProof.RL.FiniteHorizonEstimatedModelCertificate
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
theorem
BanditRLProof.FiniteRealArgmax.score_le_foldl_select
Compiled Internal helper
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.score_le_foldl_selectReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
private theorem score_le_foldl_select {K : Nat} (scores : Fin K -> Real) (init : Fin K) : forall l : List (Fin K), (forall a : Fin K, List.Mem a l -> scores a <= scores (l.foldl (fun best arm : Fin K => if scores best < scores arm then arm else best) init)) /\ scores init <= scores (l.foldl (fun best arm : Fin K => if scores best < scores arm then arm else best) init) | [] => by exact And.intro (by intro _ ha; cases ha) (by simp) | arm :: rest => by let select := fun best arm : Fin K => if scores best < scores arm then arm else best let next := select init arm have ih
def
BanditRLProof.FiniteRealArgmax.chooseFin
Compiled Internal helper
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.chooseFinReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
private noncomputable def chooseFin {K : Nat} (hK : 0 < K) (scores : Fin K -> Real) : Fin K
theorem
BanditRLProof.FiniteRealArgmax.score_le_chooseFin
Compiled Internal helper
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.score_le_chooseFinReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
private theorem score_le_chooseFin {K : Nat} (hK : 0 < K) (scores : Fin K -> Real) (a : Fin K) : scores a <= scores (chooseFin hK scores)
theorem
BanditRLProof.FiniteRealArgmax.measurable_selected_score
Compiled Internal helper
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.measurable_selected_scoreReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
private theorem measurable_selected_score {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (scores : Omega -> Fin K -> Real) (hscores : forall a : Fin K, Measurable (fun omega : Omega => scores omega a)) (best : Omega -> Fin K) (hbest : Measurable best) : Measurable (fun omega : Omega => scores omega (best omega))
theorem
BanditRLProof.FiniteRealArgmax.measurable_foldl_select
Compiled Internal helper
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.measurable_foldl_selectReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
private theorem measurable_foldl_select {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (scores : Omega -> Fin K -> Real) (hscores : forall a : Fin K, Measurable (fun omega : Omega => scores omega a)) (best : Omega -> Fin K) (hbest : Measurable best) : forall l : List (Fin K), Measurable (fun omega : Omega => l.foldl (fun best arm : Fin K => if scores omega best < scores omega arm then arm else best) (best omega)) | [] => by simpa using hbest | arm :: rest => by have hselected : Measurable (fun omega : Omega => scores omega (best omega))
theorem
BanditRLProof.FiniteRealArgmax.measurable_chooseFin_of_forall_measurable
Compiled Internal helper
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.measurable_chooseFin_of_forall_measurableReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
private theorem measurable_chooseFin_of_forall_measurable {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (hK : 0 < K) (scores : Omega -> Fin K -> Real) (hscores : forall a : Fin K, Measurable (fun omega : Omega => scores omega a)) : Measurable (fun omega : Omega => chooseFin hK (scores omega))
def
BanditRLProof.FiniteRealArgmax.choose
Compiled
A fixed-enumeration maximizer on a nonempty finite type.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.chooseReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def choose {alpha : Type v} [Fintype alpha] [Nonempty alpha] (scores : alpha -> Real) : alpha
theorem
BanditRLProof.FiniteRealArgmax.score_le_choose
Compiled
Every score is bounded by the score selected by `choose`.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.score_le_chooseReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem score_le_choose {alpha : Type v} [Fintype alpha] [Nonempty alpha] (scores : alpha -> Real) (a : alpha) : scores a <= scores (choose scores)
theorem
BanditRLProof.FiniteRealArgmax.measurable_choose_of_forall_measurable
Compiled
The fixed-enumeration maximizer is measurable in external parameters.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.measurable_choose_of_forall_measurableReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem measurable_choose_of_forall_measurable {Omega : Type u} {alpha : Type v} [MeasurableSpace Omega] [MeasurableSpace alpha] [Fintype alpha] [Nonempty alpha] (scores : Omega -> alpha -> Real) (hscores : forall a : alpha, Measurable (fun omega : Omega => scores omega a)) : Measurable (fun omega : Omega => choose (scores omega))
theorem
BanditRLProof.FiniteRealArgmax.measurable_selected_score_of_forall_measurable
Compiled
Evaluation at a measurable finite-valued selector preserves measurability.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.FiniteRealArgmax.measurable_selected_score_of_forall_measurableReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem measurable_selected_score_of_forall_measurable {Omega : Type u} {alpha : Type v} [MeasurableSpace Omega] [MeasurableSpace alpha] [Fintype alpha] [MeasurableSingletonClass alpha] (scores : Omega -> alpha -> Real) (hscores : forall a : alpha, Measurable (fun omega : Omega => scores omega a)) (selected : Omega -> alpha) (hselected : Measurable selected) : Measurable (fun omega : Omega => scores omega (selected omega))