BanditRLlib
Lean gate passed before this site build; local proof declarations are shown as compiled.

Lean module · Tsallis-FTRL

BanditRLProof.TsallisTimeVaryingPenalty

# Time-varying half-Tsallis penalty This module formalizes the deterministic learning-rate-change term used by the Tsallis-INF penalty route. It telescopes paper-normalized half-Tsallis potential values across a positive, nonincreasing schedule and retains the negative terminal comparator contribution. The result consumes finite-simplex minimizer certificates only. It does not construct a stochastic trajectory, prove conditional stability, choose a specific schedule, or conclude a bandit regret theorem.

Module map

Declarations
14
Placeholders
0

Imports

BanditRLProof.Exp3Potential, BanditRLProof.TsallisConjugatePotentialStability, BanditRLProof.TsallisFTRLRegret, BanditRLProof.TsallisSelfBounding

Imported by

BanditRLProof, BanditRLProof.TsallisScheduledScoreAlignment

Declarations

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

def BanditRLProof.Tsallis.halfTsallisPotentialMass Compiled

The paper-normalized regularizer mass carried by the local potential.

noncomputable def halfTsallisPotentialMass {Action : Type u} (arms : Finset Action) (p : Action -> Real) : Real
theorem BanditRLProof.Tsallis.halfTsallisPotentialMass_eq_two_mul_powerSum_sub_one Compiled

The regularizer mass is `2 * sum sqrt(p_a) - 1`.

theorem halfTsallisPotentialMass_eq_two_mul_powerSum_sub_one {Action : Type u} (arms : Finset Action) (p : Action -> Real) : halfTsallisPotentialMass arms p = 2 * powerSum arms (1 / 2 : Real) p - 1
theorem BanditRLProof.Tsallis.halfTsallisPotentialMass_pointMass Compiled

A supported point mass has paper-normalized potential mass one.

theorem halfTsallisPotentialMass_pointMass {Action : Type u} [DecidableEq Action] (arms : Finset Action) {best : Action} (hbest : best ∈ arms) : halfTsallisPotentialMass arms (pointMass best) = 1
theorem BanditRLProof.Tsallis.halfTsallisPotentialValue_eq_neg_linearLoss_add_mass_div Compiled

The potential is linear loss with the regularizer mass divided by `eta`.

theorem halfTsallisPotentialValue_eq_neg_linearLoss_add_mass_div {Action : Type u} (arms : Finset Action) (eta : Real) (score p : Action -> Real) (heta : eta ≠ 0) : halfTsallisPotentialValue arms eta score p = -FTRL.linearLoss arms p score + halfTsallisPotentialMass arms p / eta
theorem BanditRLProof.Tsallis.halfTsallisPotentialValue_le_of_isRegularizedMinimizer Compiled

A regularized-objective minimizer maximizes the corresponding potential.

theorem halfTsallisPotentialValue_le_of_isRegularizedMinimizer {Action : Type u} (arms : Finset Action) (eta : Real) (score p q : Action -> Real) (heta : 0 < eta) (hp : FTRL.IsRegularizedMinimizer (FTRL.finiteSimplex arms) arms eta (negEntropyRegularizer arms (1 / 2 : Real)) score p) (hq : FTRL.finiteSimplex arms q) : halfTsallisPotentialValue arms eta score q <= halfTsallisPotentialValue arms eta score p
theorem BanditRLProof.Tsallis.halfTsallisPotentialValue_new_sub_old_le_rateChange_mul_mass Compiled

Changing the learning rate at a fixed score costs the reciprocal-rate increment times the mass of the new minimizer.

theorem halfTsallisPotentialValue_new_sub_old_le_rateChange_mul_mass {Action : Type u} (arms : Finset Action) (etaOld etaNew : Real) (score pOld pNew : Action -> Real) (hetaOld : 0 < etaOld) (hetaNew : 0 < etaNew) (hpOld : FTRL.IsRegularizedMinimizer (FTRL.finiteSimplex arms) arms etaOld (negEntropyRegularizer arms (1 / 2 : Real)) score pOld) (hpNew : FTRL.finiteSimplex arms pNew) : halfTsallisPotentialValue arms etaNew score pNew - halfTsallisPotentialValue arms etaOld score pOld <= (1 / etaNew - 1 / etaOld) * halfTsallisPotentialMass arms pNew
theorem BanditRLProof.Tsallis.halfTsallisPotentialMass_le_of_zero_isRegularizedMinimizer Compiled

A zero-score minimizer maximizes the half-Tsallis regularizer mass.

theorem halfTsallisPotentialMass_le_of_zero_isRegularizedMinimizer {Action : Type u} (arms : Finset Action) (eta : Real) (p q : Action -> Real) (heta : 0 < eta) (hp : FTRL.IsRegularizedMinimizer (FTRL.finiteSimplex arms) arms eta (negEntropyRegularizer arms (1 / 2 : Real)) (fun _ => 0) p) (hq : FTRL.finiteSimplex arms q) : halfTsallisPotentialMass arms q <= halfTsallisPotentialMass arms p
theorem BanditRLProof.Tsallis.sum_range_succ_sub_eq_first_sub_last_add_cross Compiled

Algebraic telescope with different left and right endpoint processes.

theorem sum_range_succ_sub_eq_first_sub_last_add_cross (A B : Nat -> Real) (n : Nat) : (Finset.range (n + 1)).sum (fun t => A t - B t) = A 0 - B n + (Finset.range n).sum (fun t => A (t + 1) - B t)
def BanditRLProof.Tsallis.halfTsallisScheduledMinimizer Compiled

Canonical scheduled minimizer before round `t`.

noncomputable def halfTsallisScheduledMinimizer {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Nat -> Real) (loss : Nat -> Action -> Real) (t : Nat) : Action -> Real
def BanditRLProof.Tsallis.halfTsallisScheduledSameRateNext Compiled

Canonical same-rate auxiliary minimizer after appending round `t`.

noncomputable def halfTsallisScheduledSameRateNext {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Nat -> Real) (loss : Nat -> Action -> Real) (t : Nat) : Action -> Real
theorem BanditRLProof.Tsallis.sum_halfTsallisScheduledPotentialPenalty_le Compiled

Deterministic time-varying potential penalty with its terminal comparator contribution left explicit.

theorem sum_halfTsallisScheduledPotentialPenalty_le {Action : Type u} (arms : Finset Action) (eta : Nat -> Real) (loss : Nat -> Action -> Real) (current sameRateNext : Nat -> Action -> Real) (q : Action -> Real) (n : Nat) (heta : forall t, t <= n -> 0 < eta t) (hcurrent : forall t, t <= n -> FTRL.IsRegularizedMinimizer (FTRL.finiteSimplex arms) arms (eta t) (negEntropyRegularizer arms (1 / 2 : Real)) (FTRL.cumulativeLoss loss t) (current t)) (hnext : forall t, t <= n -> FTRL.IsRegularizedMinimizer (FTRL.finiteSimplex arms) arms (eta t) (negEntropyRegularizer arms (1 / 2 : Real)) (FTRL.cumulativeLoss loss (t + 1)) (sameRateNext t)) (hq : FTRL.finiteSimplex arms q) : (Finset.range (n + 1)).sum (fun t => halfTsallisPotentialValue arms (eta t) (FTRL.cumulativeLoss loss t) (current t) - halfTsallisPotentialValue arms (eta t) (FTRL.cumulativeLoss loss (t + 1)) (sameRateNext t) - FTRL.linearLoss arms q (loss t)) <= halfTsallisPotentialMass arms (current 0) / eta 0 + (Finset.range n).sum (fun t => (1 / eta (t + 1) - 1 / eta t) * halfTsallisPotentialMass arms (current (t + 1))) - halfTsallisPotentialMass arms q / eta n
theorem BanditRLProof.Tsallis.sum_halfTsallisScheduledPotentialPenalty_le_initial_sub_comparator_div Compiled

Under a nonincreasing positive schedule, every rate-change mass is bounded by the initial zero-score mass, so the reciprocal-rate increments telescope.

theorem sum_halfTsallisScheduledPotentialPenalty_le_initial_sub_comparator_div {Action : Type u} (arms : Finset Action) (eta : Nat -> Real) (loss : Nat -> Action -> Real) (current sameRateNext : Nat -> Action -> Real) (q : Action -> Real) (n : Nat) (heta : forall t, t <= n -> 0 < eta t) (hetaMono : forall t, t < n -> eta (t + 1) <= eta t) (hcurrent : forall t, t <= n -> FTRL.IsRegularizedMinimizer (FTRL.finiteSimplex arms) arms (eta t) (negEntropyRegularizer arms (1 / 2 : Real)) (FTRL.cumulativeLoss loss t) (current t)) (hnext : forall t, t <= n -> FTRL.IsRegularizedMinimizer (FTRL.finiteSimplex arms) arms (eta t) (negEntropyRegularizer arms (1 / 2 : Real)) (FTRL.cumulativeLoss loss (t + 1)) (sameRateNext t)) (hq : FTRL.finiteSimplex arms q) : (Finset.range (n + 1)).sum (fun t => halfTsallisPotentialValue arms (eta t) (FTRL.cumulativeLoss loss t) (current t) - halfTsallisPotentialValue arms (eta t) (FTRL.cumulativeLoss loss (t + 1)) (sameRateNext t) - FTRL.linearLoss arms q (loss t)) <= (halfTsallisPotentialMass arms (current 0) - halfTsallisPotentialMass arms q) / eta n
theorem BanditRLProof.Tsallis.sum_halfTsallisCanonicalScheduledPotentialPenalty_le Compiled

Canonical minimizer endpoint for the deterministic scheduled penalty.

theorem sum_halfTsallisCanonicalScheduledPotentialPenalty_le {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Nat -> Real) (loss : Nat -> Action -> Real) (q : Action -> Real) (n : Nat) (heta : forall t, t <= n -> 0 < eta t) (hetaMono : forall t, t < n -> eta (t + 1) <= eta t) (hq : FTRL.finiteSimplex arms q) : (Finset.range (n + 1)).sum (fun t => halfTsallisPotentialValue arms (eta t) (FTRL.cumulativeLoss loss t) (halfTsallisScheduledMinimizer arms harms eta loss t) - halfTsallisPotentialValue arms (eta t) (FTRL.cumulativeLoss loss (t + 1)) (halfTsallisScheduledSameRateNext arms harms eta loss t) - FTRL.linearLoss arms q (loss t)) <= (halfTsallisPotentialMass arms (halfTsallisScheduledMinimizer arms harms eta loss 0) - halfTsallisPotentialMass arms q) / eta n
theorem BanditRLProof.Tsallis.sum_halfTsallisCanonicalScheduledPotentialPenalty_pointMass_le Compiled

Best-arm specialization retaining the explicit terminal `-1 / eta n` contribution encoded by the point-mass comparator.

theorem sum_halfTsallisCanonicalScheduledPotentialPenalty_pointMass_le {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Nat -> Real) (loss : Nat -> Action -> Real) {best : Action} (hbest : best ∈ arms) (n : Nat) (heta : forall t, t <= n -> 0 < eta t) (hetaMono : forall t, t < n -> eta (t + 1) <= eta t) : (Finset.range (n + 1)).sum (fun t => halfTsallisPotentialValue arms (eta t) (FTRL.cumulativeLoss loss t) (halfTsallisScheduledMinimizer arms harms eta loss t) - halfTsallisPotentialValue arms (eta t) (FTRL.cumulativeLoss loss (t + 1)) (halfTsallisScheduledSameRateNext arms harms eta loss t) - FTRL.linearLoss arms (pointMass best) (loss t)) <= halfTsallisPotentialMass arms (halfTsallisScheduledMinimizer arms harms eta loss 0) / eta n - 1 / eta n