Lean module · Frontier
BanditRLProof.Algorithms.StochasticGradientBanditTheoremFourContractAudit
This module isolates finite scalar obligations from Appendix E, Steps 1, 3, and 4, of Baudry, Johnson, Vary, Pike-Burke, and Rebeschini, Does Stochastic Gradient really succeed for Bandits?* (NeurIPS 2025).
Module map
Imports
BanditRLProof.Algorithms.StochasticGradientBanditTwoArmTheoremOne
Imported by
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
def
BanditRLProof.StochasticGradientBandit.theoremFourStepOneMargin
Compiled
The positive scalar margin used in Appendix E after Equation (22).
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.StochasticGradientBandit.theoremFourStepOneMarginReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def theoremFourStepOneMargin (K : Nat) (eta Delta : Real) : Real
def
BanditRLProof.StochasticGradientBandit.theoremFourStepFourSurvivalLowerBound
Compiled
The unconditional survival mass required by the audited Step-4 event composition.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.StochasticGradientBandit.theoremFourStepFourSurvivalLowerBoundReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def theoremFourStepFourSurvivalLowerBound (pPrime c : Real) : Real
theorem
BanditRLProof.StochasticGradientBandit.theoremFourStepOneMargin_pos
Compiled
The source learning-rate condition implies that the Equation-(22) drift margin is strictly positive.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.StochasticGradientBandit.theoremFourStepOneMargin_posReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem theoremFourStepOneMargin_pos (K : Nat) (eta Delta : Real) (hmargin : eta * sourceC eta < 2 * Delta / ((K : Real) + 2)) : 0 < theoremFourStepOneMargin K eta Delta
theorem
BanditRLProof.StochasticGradientBandit.theoremFourStepFourSurvivalLowerBound_pos
Compiled
If `pPrime > 0` and `c < 1/2`, the audited Step-4 survival lower bound is positive.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.StochasticGradientBandit.theoremFourStepFourSurvivalLowerBound_posReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem theoremFourStepFourSurvivalLowerBound_pos (pPrime c : Real) (hpPrime : 0 < pPrime) (hc_half : c < 1 / 2) : 0 < theoremFourStepFourSurvivalLowerBound pPrime c
theorem
BanditRLProof.StochasticGradientBandit.theoremFourStepFour_survivalMass_ge
Compiled
Finite total-probability contract for Appendix E, Step 4. `bufferedMass` represents the probability of entering the strict buffer `q_{s+1} < c`; `jointSurvivalMass` represents the probability of both entering that buffer and not returning before the audited finite horizon. The two middle hypotheses are the multiplication-free form of `P(buffer) >= pPrime` and `P(survival | buffer) >= 1 - 2*c`.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.StochasticGradientBandit.theoremFourStepFour_survivalMass_geReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem theoremFourStepFour_survivalMass_ge (pPrime c bufferedMass jointSurvivalMass survivalMass : Real) (hc_half : c < 1 / 2) (hbuffer : pPrime <= bufferedMass) (hconditional : (1 - 2 * c) * bufferedMass <= jointSurvivalMass) (hsubset : jointSurvivalMass <= survivalMass) : theoremFourStepFourSurvivalLowerBound pPrime c <= survivalMass
theorem
BanditRLProof.StochasticGradientBandit.theoremFourStepFour_survivalMass_pos
Compiled
The audited finite event contract yields a strictly positive survival mass when its buffered event has positive mass.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.StochasticGradientBandit.theoremFourStepFour_survivalMass_posReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem theoremFourStepFour_survivalMass_pos (pPrime c bufferedMass jointSurvivalMass survivalMass : Real) (hpPrime : 0 < pPrime) (hc_half : c < 1 / 2) (hbuffer : pPrime <= bufferedMass) (hconditional : (1 - 2 * c) * bufferedMass <= jointSurvivalMass) (hsubset : jointSurvivalMass <= survivalMass) : 0 < survivalMass
theorem
BanditRLProof.StochasticGradientBandit.theoremFourFiniteGeometricPhaseMass_le_inv
Compiled
For `0 < rho <= 1`, the finite geometric phase envelope is at most `1 / rho`. This is the finite statement needed before any infinite expected-phase claim.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.StochasticGradientBandit.theoremFourFiniteGeometricPhaseMass_le_invReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem theoremFourFiniteGeometricPhaseMass_le_inv (rho : Real) (hrho_pos : 0 < rho) (hrho_le_one : rho <= 1) (phaseCount : Nat) : (Finset.range phaseCount).sum (fun phase => (1 - rho) ^ phase) <= 1 / rho
theorem
BanditRLProof.StochasticGradientBandit.theoremFourFiniteTransientMass_le_inv
Compiled
Any finite transient-phase mass dominated termwise by the geometric return envelope inherits the same `1 / rho` bound.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.StochasticGradientBandit.theoremFourFiniteTransientMass_le_invReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem theoremFourFiniteTransientMass_le_inv (rho : Real) (hrho_pos : 0 < rho) (hrho_le_one : rho <= 1) (phaseMass : Nat -> Real) (hphase : forall phase, phaseMass phase <= (1 - rho) ^ phase) (phaseCount : Nat) : (Finset.range phaseCount).sum phaseMass <= 1 / rho