Lean module · Tsallis-FTRL
BanditRLProof.TsallisFiniteArmIIDCorruptedRewardLaw
# Stationary corrupted finite-arm IID reward laws for scheduled half-Tsallis This module replaces the free nonnegative `corruption` parameter of the abstract self-bounding endpoint by a quantity derived from a concrete process. Each arm receives a fixed real reward shift, the shifted reward is projected back to `[0, 1]`, and fresh finite reward vectors remain IID across rounds. The route is deliberately stationary and oblivious. History-dependent or time-varying corruptions require a later predictable-law transport.
Module map
Imports
BanditRLProof.TsallisFiniteArmIIDRewardLaw, BanditRLProof.TsallisSqrtScheduleFixedGap
Imported by
BanditRLProof, BanditRLProof.TsallisScheduledTimeVaryingExpectedGap
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
def
BanditRLProof.Tsallis.clippedUnitReal
Compiled
Projection of a real value to the unit interval.
noncomputable def clippedUnitReal (value : Real) : Real
theorem
BanditRLProof.Tsallis.clippedUnitReal_mem_Icc
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem clippedUnitReal_mem_Icc (value : Real) : clippedUnitReal value ∈ Set.Icc (0 : Real) 1
theorem
BanditRLProof.Tsallis.clippedUnitReal_eq_of_mem_Icc
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem clippedUnitReal_eq_of_mem_Icc (value : Real) (hvalue : value ∈ Set.Icc (0 : Real) 1) : clippedUnitReal value = value
theorem
BanditRLProof.Tsallis.abs_clippedUnitReal_add_sub_self_le
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem abs_clippedUnitReal_add_sub_self_le (value shift : Real) (hvalue : value ∈ Set.Icc (0 : Real) 1) : |clippedUnitReal (value + shift) - value| <= |shift|
def
BanditRLProof.Tsallis.finiteArmIIDStationaryCorruptedReward
Compiled
Reward after a stationary arm-dependent shift and unit-interval clipping.
noncomputable def finiteArmIIDStationaryCorruptedReward {K : Nat} (rewardShift : Fin K -> Real) (state : Fin K -> Rat) (arm : Fin K) : Real
def
BanditRLProof.Tsallis.finiteArmIIDStationaryCorruptedRewardVectorLoss
Compiled
Selected loss associated with the stationary corrupted reward vector.
noncomputable def finiteArmIIDStationaryCorruptedRewardVectorLoss {K : Nat} (rewardShift : Fin K -> Real) (state : Fin K -> Rat) (arm : Fin K) : Real
theorem
BanditRLProof.Tsallis.measurable_finiteArmIIDStationaryCorruptedRewardVectorLoss
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_finiteArmIIDStationaryCorruptedRewardVectorLoss {K : Nat} (rewardShift : Fin K -> Real) : Measurable (fun input : (Fin K -> Rat) × Fin K => finiteArmIIDStationaryCorruptedRewardVectorLoss rewardShift input.1 input.2)
theorem
BanditRLProof.Tsallis.finiteArmIIDStationaryCorruptedRewardVectorLoss_nonneg
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem finiteArmIIDStationaryCorruptedRewardVectorLoss_nonneg {K : Nat} (rewardShift : Fin K -> Real) (state : Fin K -> Rat) (arm : Fin K) : 0 <= finiteArmIIDStationaryCorruptedRewardVectorLoss rewardShift state arm
theorem
BanditRLProof.Tsallis.finiteArmIIDStationaryCorruptedRewardVectorLoss_le_one
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem finiteArmIIDStationaryCorruptedRewardVectorLoss_le_one {K : Nat} (rewardShift : Fin K -> Real) (state : Fin K -> Rat) (arm : Fin K) : finiteArmIIDStationaryCorruptedRewardVectorLoss rewardShift state arm <= 1
theorem
BanditRLProof.Tsallis.abs_finiteArmIIDStationaryCorruptedReward_sub_base_le
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem abs_finiteArmIIDStationaryCorruptedReward_sub_base_le {K : Nat} (rewardShift : Fin K -> Real) (state : Fin K -> Rat) (arm : Fin K) : |finiteArmIIDStationaryCorruptedReward rewardShift state arm - clippedUnitReward (state arm)| <= |rewardShift arm|
theorem
BanditRLProof.Tsallis.abs_stationaryCorruptedLossDiff_sub_baseLossDiff_le
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem abs_stationaryCorruptedLossDiff_sub_baseLossDiff_le {K : Nat} (rewardShift : Fin K -> Real) (state : Fin K -> Rat) (best arm : Fin K) : |(finiteArmIIDStationaryCorruptedRewardVectorLoss rewardShift state arm - finiteArmIIDStationaryCorruptedRewardVectorLoss rewardShift state best) - (finiteArmIIDRewardVectorLoss state arm - finiteArmIIDRewardVectorLoss state best)| <= |rewardShift arm| + |rewardShift best|
theorem
BanditRLProof.Tsallis.integrable_iidLossStateDiff
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem integrable_iidLossStateDiff {LossState Action : Type*} [MeasurableSpace LossState] [MeasurableSpace Action] (law : Measure LossState) [IsFiniteMeasure law] (value : LossState -> Action -> Real) (hvalue : Measurable (fun input : LossState × Action => value input.1 input.2)) (hvalue_nonneg : forall state action, 0 <= value state action) (hvalue_le_one : forall state action, value state action <= 1) (best arm : Action) : Integrable (fun state => value state arm - value state best) law
theorem
BanditRLProof.Tsallis.abs_iidLossStateMeanGap_stationaryCorrupted_sub_modelGap_le
Compiled
The actual stationary-corrupted IID loss gap remains within the two affected arm shifts of the uncorrupted finite-bandit model gap.
theorem abs_iidLossStateMeanGap_stationaryCorrupted_sub_modelGap_le {K : Nat} (model : FiniteBanditModel K) (armLaw : Fin K -> Measure Rat) (hprob : forall arm, IsProbabilityMeasure (armLaw arm)) (hbound : forall arm, ∀ᵐ reward ∂armLaw arm, ((reward : Rat) : Real) ∈ Set.Icc (0 : Real) 1) (hmean : forall arm, integral (armLaw arm) (fun reward : Rat => ((reward : Rat) : Real)) = ((model.mean arm : Rat) : Real)) (rewardShift : Fin K -> Real) (arm : Fin K) : |iidLossStateMeanGap (finiteArmIIDRewardVectorLaw armLaw) (finiteArmIIDStationaryCorruptedRewardVectorLoss rewardShift) model.bestArm arm - ((model.gap arm : Rat) : Real)| <= |rewardShift arm| + |rewardShift model.bestArm|
def
BanditRLProof.Tsallis.scheduledGapDeviationBudget
Compiled
Total baseline-gap perturbation allowance through the inclusive horizon.
noncomputable def scheduledGapDeviationBudget {Action : Type*} [DecidableEq Action] (arms : Finset Action) (best : Action) (horizon : Nat) (deviation : Action -> Real) : Real
theorem
BanditRLProof.Tsallis.scheduledGapDeviationBudget_eq
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem scheduledGapDeviationBudget_eq {Action : Type*} [DecidableEq Action] (arms : Finset Action) (best : Action) (horizon : Nat) (deviation : Action -> Real) : scheduledGapDeviationBudget arms best horizon deviation = (((horizon + 1 : Nat) : Real)) * (arms.erase best).sum deviation
theorem
BanditRLProof.Tsallis.integral_sampledScheduledHalfTsallisPredictableEnvironmentRegret_hasSelfBounding_of_perturbedExpectedGapLaw
Compiled
An expected law for perturbed gaps yields the baseline-gap self-bound with the accumulated coordinatewise gap-deviation budget.
theorem integral_sampledScheduledHalfTsallisPredictableEnvironmentRegret_hasSelfBounding_of_perturbedExpectedGapLaw {Env Action : Type*} [MeasurableSpace Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [DecidableEq Action] (mu : Measure (Env × ((k : Nat) -> Action × Real))) [IsProbabilityMeasure mu] (arms : Finset Action) (harms : arms.Nonempty) (eta : Nat -> Real) (loss : Exp3.PredictableLossVector Env Action) {best : Action} (hbest : best ∈ arms) (horizon : Nat) (baseGap actualGap deviation : Action -> Real) (hactualGapLaw : HasScheduledExpectedGapLaw mu arms harms eta loss best actualGap horizon) (hdeviation : forall action, action ∈ arms.erase best -> |actualGap action - baseGap action| <= deviation action) : (Finset.range (horizon + 1)).sum (fun t => (arms.erase best).sum (fun action => baseGap action * sampledScheduledHalfTsallisExpectedProbabilityAt mu arms harms eta t action)) - scheduledGapDeviationBudget arms best horizon deviation <= integral mu (sampledScheduledHalfTsallisPredictableEnvironmentRegret arms harms eta loss (pointMass best) horizon)
def
BanditRLProof.Tsallis.finiteArmIIDStationaryRewardCorruptionBudget
Compiled
Explicit corruption budget for a stationary arm-dependent reward shift.
noncomputable def finiteArmIIDStationaryRewardCorruptionBudget {K : Nat} (model : FiniteBanditModel K) (horizon : Nat) (rewardShift : Fin K -> Real) : Real
theorem
BanditRLProof.Tsallis.finiteArmIIDStationaryRewardCorruptionBudget_eq
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem finiteArmIIDStationaryRewardCorruptionBudget_eq {K : Nat} (model : FiniteBanditModel K) (horizon : Nat) (rewardShift : Fin K -> Real) : finiteArmIIDStationaryRewardCorruptionBudget model horizon rewardShift = (((horizon + 1 : Nat) : Real)) * ((Finset.univ : Finset (Fin K)).erase model.bestArm).sum (fun arm => |rewardShift arm| + |rewardShift model.bestArm|)
theorem
BanditRLProof.Tsallis.finiteArmIIDStationaryRewardCorruptionBudget_zero
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem finiteArmIIDStationaryRewardCorruptionBudget_zero {K : Nat} (model : FiniteBanditModel K) (horizon : Nat) : finiteArmIIDStationaryRewardCorruptionBudget model horizon (fun _ => 0) = 0
theorem
BanditRLProof.Tsallis.integral_sampledScheduledHalfTsallisFiniteArmIIDStationaryCorruptedRewardLawRegret_le_log
Compiled
Scheduled half-Tsallis logarithmic regret for an IID finite-arm reward model with a fixed clipped reward shift. The additive corruption term is derived from `rewardShift`; it is not a free theorem parameter.
theorem integral_sampledScheduledHalfTsallisFiniteArmIIDStationaryCorruptedRewardLawRegret_le_log {K : Nat} (model : FiniteBanditModel K) (armLaw : Fin K -> Measure Rat) (hprob : forall arm, IsProbabilityMeasure (armLaw arm)) (hbound : forall arm, ∀ᵐ reward ∂armLaw arm, ((reward : Rat) : Real) ∈ Set.Icc (0 : Real) 1) (hmean : forall arm, integral (armLaw arm) (fun reward : Rat => ((reward : Rat) : Real)) = ((model.mean arm : Rat) : Real)) (rewardShift : Fin K -> Real) (hgapPos : forall arm, arm ≠ model.bestArm -> 0 < ((model.gap arm : Rat) : Real)) (horizon : Nat) : letI : Nonempty (Fin K)