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

Lean module · Tsallis-FTRL

BanditRLProof.TsallisFiniteArmIndependentSingleSwitchComparatorObstruction

# Single-switch obstruction for the current dynamic-comparator route This module gives an exact two-arm, one-switch calculation. The global population-mean switch count is one, while the moving-comparator mean advantage charged by the current fixed-plus-advantage decomposition grows linearly with the horizon. This is a proof-route obstruction, not a dynamic regret lower bound.

Module map

Declarations
21
Placeholders
0

Imports

BanditRLProof.TsallisFiniteArmIndependentGlobalMeanSwitchCountCompressedDynamicRegret

Imported by

BanditRLProof

Declarations

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

def BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionModel Compiled

Baseline two-arm model used by the single-switch obstruction.

def finiteArmIndependentSingleSwitchObstructionModel : FiniteBanditModel 2 where
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionModel_bestArm Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionModel_bestArm : finiteArmIndependentSingleSwitchObstructionModel.bestArm = 0
def BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionLaw Compiled

Arm zero stays at mean `1/2`; arm one moves from `1/4` at round zero to `3/4` forever after round zero.

noncomputable def finiteArmIndependentSingleSwitchObstructionLaw (t : Nat) (arm : Fin 2) : Measure Rat
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionLaw_isProbabilityMeasure Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionLaw_isProbabilityMeasure (t : Nat) (arm : Fin 2) : IsProbabilityMeasure (finiteArmIndependentSingleSwitchObstructionLaw t arm)
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionLaw_mem_Icc_ae Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionLaw_mem_Icc_ae (t : Nat) (arm : Fin 2) : ∀ᵐ reward ∂finiteArmIndependentSingleSwitchObstructionLaw t arm, ((reward : Rat) : Real) ∈ Set.Icc (0 : Real) 1
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionMean_zero Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionMean_zero (t : Nat) : finiteArmIndependentRewardMean finiteArmIndependentSingleSwitchObstructionLaw t 0 = 1 / 2
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionMean_one_zero Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionMean_one_zero : finiteArmIndependentRewardMean finiteArmIndependentSingleSwitchObstructionLaw 0 1 = 1 / 4
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionMean_one_succ Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionMean_one_succ (t : Nat) : finiteArmIndependentRewardMean finiteArmIndependentSingleSwitchObstructionLaw (t + 1) 1 = 3 / 4
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionInitialMean Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionInitialMean (arm : Fin 2) : finiteArmIndependentRewardMean finiteArmIndependentSingleSwitchObstructionLaw 0 arm = ((finiteArmIndependentSingleSwitchObstructionModel.mean arm : Rat) : Real)
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionGap_pos Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionGap_pos (arm : Fin 2) (harm : arm ≠ finiteArmIndependentSingleSwitchObstructionModel.bestArm) : 0 < ((finiteArmIndependentSingleSwitchObstructionModel.gap arm : Rat) : Real)
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionGap_le_one Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionGap_le_one (arm : Fin 2) (harm : arm ≠ finiteArmIndependentSingleSwitchObstructionModel.bestArm) : ((finiteArmIndependentSingleSwitchObstructionModel.gap arm : Rat) : Real) <= 1
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionBestArmAt_zero Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionBestArmAt_zero : finiteArmIndependentBestArmAt finiteArmIndependentSingleSwitchObstructionModel finiteArmIndependentSingleSwitchObstructionLaw 0 = 0
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionBestArmAt_succ Compiled

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

theorem finiteArmIndependentSingleSwitchObstructionBestArmAt_succ (t : Nat) : finiteArmIndependentBestArmAt finiteArmIndependentSingleSwitchObstructionModel finiteArmIndependentSingleSwitchObstructionLaw (t + 1) = 1
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionIndicator Compiled Internal helper

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

private theorem finiteArmIndependentSingleSwitchObstructionIndicator (s : Nat) : (if ∃ arm : Fin 2, finiteArmIndependentRewardMean finiteArmIndependentSingleSwitchObstructionLaw (s + 1) arm ≠ finiteArmIndependentRewardMean finiteArmIndependentSingleSwitchObstructionLaw s arm then (1 : Real) else 0) = if s = 0 then 1 else 0
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchObstructionGlobalCount_succ Compiled

Every positive prefix contains exactly the one change at `0 -> 1`.

theorem finiteArmIndependentSingleSwitchObstructionGlobalCount_succ (t : Nat) : finiteArmIndependentCumulativeGlobalMeanSwitchCount finiteArmIndependentSingleSwitchObstructionLaw (t + 1) = 1
def BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchComparatorAdvantage Compiled

Exact actual-mean advantage charged by the moving-comparator decomposition on the single-switch law.

noncomputable def finiteArmIndependentSingleSwitchComparatorAdvantage (horizon : Nat) : Real
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchComparatorAdvantage_zero Compiled

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

theorem finiteArmIndependentSingleSwitchComparatorAdvantage_zero : finiteArmIndependentSingleSwitchComparatorAdvantage 0 = 0
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchComparatorAdvantage_eq Compiled

One permanent switch makes the exact comparator advantage equal to `horizon / 4`, despite the global switch count being one.

theorem finiteArmIndependentSingleSwitchComparatorAdvantage_eq (horizon : Nat) : finiteArmIndependentSingleSwitchComparatorAdvantage horizon = (horizon : Real) / 4
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchDynamicComparatorPenalty_eq Compiled

The current repeated-prefix envelope penalty is exactly `2 * horizon` on the same one-switch law.

theorem finiteArmIndependentSingleSwitchDynamicComparatorPenalty_eq (horizon : Nat) : finiteArmIndependentDynamicComparatorPenalty finiteArmIndependentSingleSwitchObstructionModel finiteArmIndependentSingleSwitchObstructionLaw horizon (fun t _ => finiteArmIndependentCumulativeGlobalMeanSwitchCount finiteArmIndependentSingleSwitchObstructionLaw t) = 2 * (horizon : Real)
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchComparatorAdvantage_gt_nat_mul_sqrt Compiled

For every natural coefficient, a one-switch horizon exists where the exact separately charged comparator advantage exceeds that coefficient times `sqrt(horizon)`. This rules out obtaining a uniform square-root switch-rate by bounding this term independently.

theorem finiteArmIndependentSingleSwitchComparatorAdvantage_gt_nat_mul_sqrt (coefficient : Nat) : let horizon := (4 * coefficient + 1) ^ 2 finiteArmIndependentCumulativeGlobalMeanSwitchCount finiteArmIndependentSingleSwitchObstructionLaw horizon = 1 ∧ (coefficient : Real) * Real.sqrt (horizon : Real) < finiteArmIndependentSingleSwitchComparatorAdvantage horizon
theorem BanditRLProof.Tsallis.finiteArmIndependentSingleSwitchDynamicComparatorRouteObstruction Compiled

Compiled blocker certificate for the current dynamic-comparator proof route. It does not assert a regret lower bound: a sharper proof could exploit cancellation between fixed-comparator regret and comparator advantage.

theorem finiteArmIndependentSingleSwitchDynamicComparatorRouteObstruction (horizon : Nat) (horizon_pos : 0 < horizon) : finiteArmIndependentCumulativeGlobalMeanSwitchCount finiteArmIndependentSingleSwitchObstructionLaw horizon = 1 ∧ finiteArmIndependentSingleSwitchComparatorAdvantage horizon = (horizon : Real) / 4 ∧ finiteArmIndependentDynamicComparatorPenalty finiteArmIndependentSingleSwitchObstructionModel finiteArmIndependentSingleSwitchObstructionLaw horizon (fun t _ => finiteArmIndependentCumulativeGlobalMeanSwitchCount finiteArmIndependentSingleSwitchObstructionLaw t) = 2 * (horizon : Real)