BanditRLlib
Lean gate passed before this site build; local proof declarations are shown as compiled.Lean-verified build · exact declarations linked.

Lean module · Frontier

BanditRLProof.Algorithms.StochasticGradientBanditCorollaryOne

This module closes the bounded Corollary-1 companion from Baudry, Johnson, Vary, Pike-Burke, and Rebeschini, *Does Stochastic Gradient really succeed for Bandits?* (NeurIPS 2025). It remains on the generated Algorithm-1 trajectory and uses a separate fixed learning rate sqrt (log T / T) for each source horizon T.

Module map

Declarations
23
Placeholders
0

Imports

BanditRLProof.Algorithms.StochasticGradientBanditTwoArmTheoremOne

Imported by

BanditRLProof

Declarations

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

theorem BanditRLProof.StochasticGradientBandit.twoArmActionGap_le_gap Compiled

Every realized two-arm gap is at most `Delta` when `Delta` is nonnegative.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.twoArmActionGap_le_gap

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem twoArmActionGap_le_gap (Delta : Real) (hDelta : 0 <= Delta) (action : Fin 2) : twoArmActionGap Delta action <= Delta
theorem BanditRLProof.StochasticGradientBandit.twoArmSampledPseudoRegret_le_gap_mul_horizon Compiled

Pathwise trivial regret bound for the actions actually sampled by the generated process.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.twoArmSampledPseudoRegret_le_gap_mul_horizon

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem twoArmSampledPseudoRegret_le_gap_mul_horizon {Env : Type v} (Delta : Real) (hDelta : 0 <= Delta) (horizon : Nat) (sample : Env × ((k : Nat) -> Fin 2 × Real)) : twoArmSampledPseudoRegret Delta horizon sample <= Delta * (horizon : Real)
theorem BanditRLProof.StochasticGradientBandit.measurable_twoArmSampledPseudoRegret Compiled

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

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.measurable_twoArmSampledPseudoRegret

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem measurable_twoArmSampledPseudoRegret {Env : Type v} [MeasurableSpace Env] (Delta : Real) (horizon : Nat) : Measurable (twoArmSampledPseudoRegret (Env := Env) Delta horizon)
theorem BanditRLProof.StochasticGradientBandit.integrable_twoArmSampledPseudoRegret Compiled

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

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.integrable_twoArmSampledPseudoRegret

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integrable_twoArmSampledPseudoRegret {Env : Type v} [MeasurableSpace Env] (mu : Measure (Env × ((k : Nat) -> Fin 2 × Real))) [IsFiniteMeasure mu] (Delta : Real) (horizon : Nat) : Integrable (twoArmSampledPseudoRegret (Env := Env) Delta horizon) mu
theorem BanditRLProof.StochasticGradientBandit.integral_twoArmSampledPseudoRegret_le_gap_mul_horizon Compiled

Integral form of the pathwise `Delta * T` bound. The measure is the actual generated trajectory measure in the Corollary-1 consumer below.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.integral_twoArmSampledPseudoRegret_le_gap_mul_horizon

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_twoArmSampledPseudoRegret_le_gap_mul_horizon {Env : Type v} [MeasurableSpace Env] (mu : Measure (Env × ((k : Nat) -> Fin 2 × Real))) [IsProbabilityMeasure mu] (Delta : Real) (hDelta : 0 <= Delta) (horizon : Nat) : integral mu (twoArmSampledPseudoRegret (Env := Env) Delta horizon) <= Delta * (horizon : Real)
def BanditRLProof.StochasticGradientBandit.corollaryOneEta Compiled

The horizon-indexed fixed learning rate used in Corollary 1.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOneEta

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def corollaryOneEta (horizon : Nat) : Real
theorem BanditRLProof.StochasticGradientBandit.sourceTheoremOne_margin_of_two_mul_eta_sourceC_le Compiled

The source small-learning-rate branch implies the strict Theorem-1 margin.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.sourceTheoremOne_margin_of_two_mul_eta_sourceC_le

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem sourceTheoremOne_margin_of_two_mul_eta_sourceC_le (eta Delta : Real) (heta : 0 < eta) (hDelta : 0 < Delta) (hsmall : 2 * eta * sourceC eta <= Delta) : eta * sourceC eta < Delta
theorem BanditRLProof.StochasticGradientBandit.sourceTheoremOne_constant_le_inv_eta Compiled

Under the Corollary-1 small-learning-rate branch, the constant term in Theorem 1 is at most `1 / eta`.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.sourceTheoremOne_constant_le_inv_eta

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem sourceTheoremOne_constant_le_inv_eta (eta Delta : Real) (heta : 0 < eta) (hDelta : 0 < Delta) (hsmall : 2 * eta * sourceC eta <= Delta) : Delta / (2 * eta * (Delta - eta * sourceC eta)) <= 1 / eta
theorem BanditRLProof.StochasticGradientBandit.corollaryOneEta_pos Compiled

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

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOneEta_pos

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOneEta_pos (horizon : Nat) (hhorizon : 2 <= horizon) : 0 < corollaryOneEta horizon
theorem BanditRLProof.StochasticGradientBandit.corollaryOneEta_sq Compiled

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

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOneEta_sq

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOneEta_sq (horizon : Nat) (hhorizon : 2 <= horizon) : corollaryOneEta horizon ^ 2 = Real.log (horizon : Real) / (horizon : Real)
theorem BanditRLProof.StochasticGradientBandit.corollaryOneEta_le_one Compiled

The Corollary-1 learning rate stays in the range where `C_eta <= exp 2` is available.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOneEta_le_one

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOneEta_le_one (horizon : Nat) (hhorizon : 2 <= horizon) : corollaryOneEta horizon <= 1
def BanditRLProof.StochasticGradientBandit.corollaryOneRate Compiled

The square-root rate appearing in the explicit Corollary-1 endpoint.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOneRate

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def corollaryOneRate (horizon : Nat) : Real
theorem BanditRLProof.StochasticGradientBandit.corollaryOneRate_nonneg Compiled

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

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOneRate_nonneg

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOneRate_nonneg (horizon : Nat) : 0 <= corollaryOneRate horizon
theorem BanditRLProof.StochasticGradientBandit.corollaryOneEta_mul_horizon_eq_rate Compiled

The horizon-indexed learning rate times the horizon is exactly the square-root rate.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOneEta_mul_horizon_eq_rate

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOneEta_mul_horizon_eq_rate (horizon : Nat) (hhorizon : 2 <= horizon) : corollaryOneEta horizon * (horizon : Real) = corollaryOneRate horizon
theorem BanditRLProof.StochasticGradientBandit.corollaryOneEta_mul_rate_eq_log Compiled

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

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOneEta_mul_rate_eq_log

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOneEta_mul_rate_eq_log (horizon : Nat) (hhorizon : 2 <= horizon) : corollaryOneEta horizon * corollaryOneRate horizon = Real.log (horizon : Real)
theorem BanditRLProof.StochasticGradientBandit.corollaryOne_inv_eta_le_inv_log_two_mul_rate Compiled

The inverse learning-rate term is an absolute-constant multiple of the square-root rate. We keep the exact constant `1 / log 2`, avoiding a hidden asymptotic threshold.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOne_inv_eta_le_inv_log_two_mul_rate

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOne_inv_eta_le_inv_log_two_mul_rate (horizon : Nat) (hhorizon : 2 <= horizon) : 1 / corollaryOneEta horizon <= (1 / Real.log 2) * corollaryOneRate horizon
theorem BanditRLProof.StochasticGradientBandit.corollaryOne_log_argument_le_horizon_pow_four Compiled

For `T >= 2`, `0 < Delta < 1`, and the Corollary-1 learning rate, the argument of the Theorem-1 logarithm is at most `T^4`.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOne_log_argument_le_horizon_pow_four

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOne_log_argument_le_horizon_pow_four (horizon : Nat) (hhorizon : 2 <= horizon) (Delta : Real) (hDelta : 0 < Delta) (hDelta_lt_one : Delta < 1) : 1 + 4 * corollaryOneEta horizon * Delta * (horizon : Real) <= (horizon : Real) ^ 4
theorem BanditRLProof.StochasticGradientBandit.corollaryOne_log_term_le_two_mul_rate Compiled

The logarithmic term in the Theorem-1 branch is at most twice the square-root rate.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOne_log_term_le_two_mul_rate

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOne_log_term_le_two_mul_rate (horizon : Nat) (hhorizon : 2 <= horizon) (Delta : Real) (hDelta : 0 < Delta) (hDelta_lt_one : Delta < 1) : Real.log (1 + 4 * corollaryOneEta horizon * Delta * (horizon : Real)) / (2 * corollaryOneEta horizon) <= 2 * corollaryOneRate horizon
theorem BanditRLProof.StochasticGradientBandit.corollaryOne_gap_mul_horizon_le_exp_constant_mul_rate Compiled

On the complementary branch, the pathwise `Delta * T` bound is still a square-root rate because failure of `2 * eta * C_eta <= Delta` forces the gap below the learning-rate scale.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOne_gap_mul_horizon_le_exp_constant_mul_rate

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOne_gap_mul_horizon_le_exp_constant_mul_rate (horizon : Nat) (hhorizon : 2 <= horizon) (Delta : Real) (hlarge : ¬ 2 * corollaryOneEta horizon * sourceC (corollaryOneEta horizon) <= Delta) : Delta * (horizon : Real) <= (2 * Real.exp 2) * corollaryOneRate horizon
def BanditRLProof.StochasticGradientBandit.corollaryOneAbsoluteConstant Compiled

An explicit horizon-independent constant for the finite Corollary-1 endpoint.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOneAbsoluteConstant

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def corollaryOneAbsoluteConstant : Real
theorem BanditRLProof.StochasticGradientBandit.corollaryOne_piecewise_bound Compiled

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

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.corollaryOne_piecewise_bound

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem corollaryOne_piecewise_bound (horizon : Nat) (hhorizon : 2 <= horizon) (Delta : Real) (hDelta : 0 < Delta) (hDelta_lt_one : Delta < 1) : (if 2 * corollaryOneEta horizon * sourceC (corollaryOneEta horizon) <= Delta then Real.log (1 + 4 * corollaryOneEta horizon * Delta * (horizon : Real)) / (2 * corollaryOneEta horizon) + 1 / corollaryOneEta horizon else Delta * (horizon : Real)) <= corollaryOneAbsoluteConstant * corollaryOneRate horizon
theorem BanditRLProof.StochasticGradientBandit.twoArmFixedIIDDirac_corollaryOne_piecewise Compiled

Exact finite two-branch version of source Corollary 1. A separate fixed rate is used for each source horizon `T = tailHorizon + 1`.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.twoArmFixedIIDDirac_corollaryOne_piecewise

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem twoArmFixedIIDDirac_corollaryOne_piecewise (armLaw : Fin 2 -> Measure Real) (hprob : forall arm, IsProbabilityMeasure (armLaw arm)) (mean : Fin 2 -> Real) (hbound : forall arm, ∀ᵐ reward ∂armLaw arm, |reward| <= 1) (hmean : forall arm, integral (armLaw arm) id = mean arm) (Delta : Real) (hDelta : 0 < Delta) (hDelta_lt_one : Delta < 1) (hgap : mean 0 - mean 1 = Delta) (tailHorizon : Nat) (horizon_ge_two : 1 <= tailHorizon) : let eta := corollaryOneEta (tailHorizon + 1) integral (twoArmTrajectoryMeasure (Measure.dirac ()) eta (twoArmFixedIIDEnvironment armLaw hprob)) (twoArmSampledPseudoRegret (Env := Unit) Delta (tailHorizon + 1)) <= if 2 * eta * sourceC eta <= Delta then Real.log (1 + 4 * eta * Delta * ((tailHorizon + 1 : Nat) : Real)) / (2 * eta) + 1 / eta else Delta * ((tailHorizon + 1 : Nat) : Real)
theorem BanditRLProof.StochasticGradientBandit.twoArmFixedIIDDirac_corollaryOne Compiled

Source Corollary 1 on the generated two-arm fixed-IID trajectory, with an explicit absolute constant and no asymptotic notation. The learning rate is fixed within each horizon and may vary across the horizon-indexed family.

Used in these reading views: Bandit Book

10. Automation, resources, and open routes

Canonical node identitydeclaration:BanditRLProof.StochasticGradientBandit.twoArmFixedIIDDirac_corollaryOne

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem twoArmFixedIIDDirac_corollaryOne (armLaw : Fin 2 -> Measure Real) (hprob : forall arm, IsProbabilityMeasure (armLaw arm)) (mean : Fin 2 -> Real) (hbound : forall arm, ∀ᵐ reward ∂armLaw arm, |reward| <= 1) (hmean : forall arm, integral (armLaw arm) id = mean arm) (Delta : Real) (hDelta : 0 < Delta) (hDelta_lt_one : Delta < 1) (hgap : mean 0 - mean 1 = Delta) (tailHorizon : Nat) (horizon_ge_two : 1 <= tailHorizon) : let eta := corollaryOneEta (tailHorizon + 1) integral (twoArmTrajectoryMeasure (Measure.dirac ()) eta (twoArmFixedIIDEnvironment armLaw hprob)) (twoArmSampledPseudoRegret (Env := Unit) Delta (tailHorizon + 1)) <= corollaryOneAbsoluteConstant * corollaryOneRate (tailHorizon + 1)