Lean module · Tsallis-FTRL
BanditRLProof.TsallisFTRLRecursiveTrajectory
# Recursive half-Tsallis trajectories This module builds the pure half-Tsallis finite-history policy and its Ionescu--Tulcea trajectory. The only selector-specific input is coordinate measurability of the canonical noncomputable minimizer for every measurable finite-history score. Simplex feasibility, score recursion, policy kernels, and conditional action laws are constructed locally.
Module map
Imports
BanditRLProof.TsallisFTRLExpectedStability, BanditRLProof.Exp3SampledHistoryScore, BanditRLProof.Exp3PredictableAdversary, BanditRLProof.Exp3SampledHedge
Imported by
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
structure
BanditRLProof.Tsallis.HalfTsallisFiniteHistorySelectorMeasurability
Compiled
Reusable regularity boundary for the noncomputable half-Tsallis selector. It asks only that measurable finite-history score coordinates produce measurable selected probability coordinates.
structure HalfTsallisFiniteHistorySelectorMeasurability {Action : Type u} [MeasurableSpace Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) : Prop where
def
BanditRLProof.Tsallis.initialHalfTsallisDistribution
Compiled
Initial pure half-Tsallis law, before any observed pair.
noncomputable def initialHalfTsallisDistribution {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) : Action -> Real
theorem
BanditRLProof.Tsallis.finiteActionDistribution_initialHalfTsallisDistribution
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem finiteActionDistribution_initialHalfTsallisDistribution {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) : Exp3.FiniteActionDistribution arms (initialHalfTsallisDistribution arms harms eta)
def
BanditRLProof.Tsallis.sampledHalfTsallisHistoryScore
Compiled
Cumulative importance-weighted score through an inclusive observed pair history, using the pure half-Tsallis law generated by the previous score.
noncomputable def sampledHalfTsallisHistoryScore {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) : (n : Nat) -> History.FinitePairHistory Action Real n -> Action -> Real | 0, history, action => Exp3.importanceWeightedLoss (initialHalfTsallisDistribution arms harms eta) (fun _ => (history ⟨0, Finset.mem_Iic.mpr le_rfl⟩).2) (history ⟨0, Finset.mem_Iic.mpr le_rfl⟩).1 action | n + 1, history, action => let previous := Exp3.previousPairHistory history sampledHalfTsallisHistoryScore arms harms eta n previous action + Exp3.importanceWeightedLoss (halfTsallisMinimizer arms harms eta (sampledHalfTsallisHistoryScore arms harms eta n previous)) (fun _ => (history ⟨n + 1, Finset.mem_Iic.mpr le_rfl⟩).2) (history ⟨n + 1, Finset.mem_Iic.mpr le_rfl⟩).1 action @[simp] theorem sampledHalfTsallisHistoryScore_zero {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (history : History.FinitePairHistory Action Real 0) (action : Action) : sampledHalfTsallisHistoryScore arms harms eta 0 history action = Exp3.importanceWeightedLoss (initialHalfTsallisDistribution arms harms eta) (fun _ => (history ⟨0, Finset.mem_Iic.mpr le_rfl⟩).2) (history ⟨0, Finset.mem_Iic.mpr le_rfl⟩).1 action
theorem
BanditRLProof.Tsallis.sampledHalfTsallisHistoryScore_zero
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sampledHalfTsallisHistoryScore_zero {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (history : History.FinitePairHistory Action Real 0) (action : Action) : sampledHalfTsallisHistoryScore arms harms eta 0 history action = Exp3.importanceWeightedLoss (initialHalfTsallisDistribution arms harms eta) (fun _ => (history ⟨0, Finset.mem_Iic.mpr le_rfl⟩).2) (history ⟨0, Finset.mem_Iic.mpr le_rfl⟩).1 action
theorem
BanditRLProof.Tsallis.sampledHalfTsallisHistoryScore_succ
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sampledHalfTsallisHistoryScore_succ {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (n : Nat) (history : History.FinitePairHistory Action Real (n + 1)) (action : Action) : sampledHalfTsallisHistoryScore arms harms eta (n + 1) history action = sampledHalfTsallisHistoryScore arms harms eta n (Exp3.previousPairHistory history) action + Exp3.importanceWeightedLoss (halfTsallisMinimizer arms harms eta (sampledHalfTsallisHistoryScore arms harms eta n (Exp3.previousPairHistory history))) (fun _ => (history ⟨n + 1, Finset.mem_Iic.mpr le_rfl⟩).2) (history ⟨n + 1, Finset.mem_Iic.mpr le_rfl⟩).1 action
theorem
BanditRLProof.Tsallis.measurable_sampledHalfTsallisHistoryScore
Compiled
The generic selector contract makes the recursively accumulated score measurable at every supported action coordinate.
theorem measurable_sampledHalfTsallisHistoryScore {Action : Type u} [MeasurableSpace Action] [MeasurableSingletonClass Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) : forall n action, action ∈ arms -> Measurable (fun history : History.FinitePairHistory Action Real n => sampledHalfTsallisHistoryScore arms harms eta n history action)
def
BanditRLProof.Tsallis.sampledHalfTsallisHistoryDistribution
Compiled
Pure half-Tsallis probabilities generated by the sampled score.
noncomputable def sampledHalfTsallisHistoryDistribution {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (n : Nat) : History.FinitePairHistory Action Real n -> Action -> Real
def
BanditRLProof.Tsallis.sampledHalfTsallisHistoryDistributionSource
Compiled
Measurable finite-action source for the recursively generated policy.
noncomputable def sampledHalfTsallisHistoryDistributionSource {Action : Type u} [MeasurableSpace Action] [MeasurableSingletonClass Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) (n : Nat) : Exp3.MeasurableFiniteActionDistribution arms (sampledHalfTsallisHistoryDistribution arms harms eta n)
def
BanditRLProof.Tsallis.sampledHalfTsallisHistoryAlgorithm
Compiled
Stochastic finite-history algorithm generated by the recursive pure half-Tsallis score.
noncomputable def sampledHalfTsallisHistoryAlgorithm {Action : Type u} [MeasurableSpace Action] [MeasurableSingletonClass Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) : Thompson.HistoryAlgorithm Action Real where
theorem
BanditRLProof.Tsallis.sampledHalfTsallisHistoryAlgorithm_policy
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem sampledHalfTsallisHistoryAlgorithm_policy {Action : Type u} [MeasurableSpace Action] [MeasurableSingletonClass Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) (n : Nat) : (sampledHalfTsallisHistoryAlgorithm arms harms eta selector).policy n = Exp3.finiteActionKernel arms (sampledHalfTsallisHistoryDistribution arms harms eta n) (sampledHalfTsallisHistoryDistributionSource arms harms eta selector n)
def
BanditRLProof.Tsallis.sampledHalfTsallisTrajectoryKernel
Compiled
Complete environment-indexed recursive pure half-Tsallis trajectory.
noncomputable def sampledHalfTsallisTrajectoryKernel {Env : Type v} {Action : Type u} [MeasurableSpace Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [DecidableEq Action] [Nonempty Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) (environment : Thompson.MeasurableHistoryEnvironment Env Action Real) : Kernel Env ((n : Nat) -> Action × Real)
theorem
BanditRLProof.Tsallis.sampledHalfTsallisTrajectoryMeasure_condDistrib_action
Compiled
Every successor action has the recursive pure half-Tsallis finite-action law conditional on its visible pair-history prefix.
theorem sampledHalfTsallisTrajectoryMeasure_condDistrib_action {Env : Type v} {Action : Type u} [MeasurableSpace Env] [StandardBorelSpace Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsFiniteMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) (environment : Thompson.MeasurableHistoryEnvironment Env Action Real) (n : Nat) : condDistrib (fun sample : Env × ((k : Nat) -> Action × Real) => (sample.2 (n + 1)).1) (fun sample => Preorder.frestrictLe n sample.2) (prior ⊗ₘ sampledHalfTsallisTrajectoryKernel arms harms eta selector environment) =ᵐ[ (prior ⊗ₘ sampledHalfTsallisTrajectoryKernel arms harms eta selector environment).map (fun sample => Preorder.frestrictLe n sample.2)] Exp3.finiteActionKernel arms (sampledHalfTsallisHistoryDistribution arms harms eta n) (sampledHalfTsallisHistoryDistributionSource arms harms eta selector n)
theorem
BanditRLProof.Tsallis.sampledHalfTsallisTrajectoryMeasure_condDistrib_action_given_environment
Compiled
The same conditional law after retaining the environment in the visible history. The policy kernel is comapped along the pair-history projection.
theorem sampledHalfTsallisTrajectoryMeasure_condDistrib_action_given_environment {Env : Type v} {Action : Type u} [MeasurableSpace Env] [StandardBorelSpace Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsFiniteMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) (environment : Thompson.MeasurableHistoryEnvironment Env Action Real) (n : Nat) : condDistrib (fun sample : Env × ((k : Nat) -> Action × Real) => (sample.2 (n + 1)).1) (fun sample : Env × ((k : Nat) -> Action × Real) => (sample.1, Preorder.frestrictLe n sample.2)) (prior ⊗ₘ sampledHalfTsallisTrajectoryKernel arms harms eta selector environment) =ᵐ[ (prior ⊗ₘ sampledHalfTsallisTrajectoryKernel arms harms eta selector environment).map (fun sample : Env × ((k : Nat) -> Action × Real) => (sample.1, Preorder.frestrictLe n sample.2))] (Exp3.finiteActionKernel arms (sampledHalfTsallisHistoryDistribution arms harms eta n) (sampledHalfTsallisHistoryDistributionSource arms harms eta selector n)).comap (fun input : Env × History.FinitePairHistory Action Real n => input.2) (measurable_snd : Measurable (fun input : Env × History.FinitePairHistory Action Real n => input.2))
def
BanditRLProof.Tsallis.sampledHalfTsallisHistoryAt
Compiled
Visible environment/pair-history state before successor action `n + 1`.
def sampledHalfTsallisHistoryAt {Env : Type v} {Action : Type u} (n : Nat) (sample : Env × ((k : Nat) -> Action × Real)) : Env × History.FinitePairHistory Action Real n
def
BanditRLProof.Tsallis.sampledHalfTsallisActionAt
Compiled
Successor action sampled after the visible prefix through `n`.
def sampledHalfTsallisActionAt {Env : Type v} {Action : Type u} (n : Nat) (sample : Env × ((k : Nat) -> Action × Real)) : Action
def
BanditRLProof.Tsallis.sampledHalfTsallisScoreAt
Compiled
Recursive half-Tsallis score on an environment/prefix state.
noncomputable def sampledHalfTsallisScoreAt {Env : Type v} {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (n : Nat) : Env × History.FinitePairHistory Action Real n -> Action -> Real
def
BanditRLProof.Tsallis.sampledHalfTsallisPredictableLossAt
Compiled
Predictable successor loss vector on an environment/prefix state.
def sampledHalfTsallisPredictableLossAt {Env : Type v} {Action : Type u} [MeasurableSpace Env] [MeasurableSpace Action] (loss : Exp3.PredictableLossVector Env Action) (n : Nat) : Env × History.FinitePairHistory Action Real n -> Action -> Real
def
BanditRLProof.Tsallis.sampledHalfTsallisProbabilityAt
Compiled
Pure half-Tsallis probability on an environment/prefix state.
noncomputable def sampledHalfTsallisProbabilityAt {Env : Type v} {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (n : Nat) : Env × History.FinitePairHistory Action Real n -> Action -> Real
def
BanditRLProof.Tsallis.sampledHalfTsallisUpdatedAt
Compiled
Canonical sampled-action update on an environment/prefix state.
noncomputable def sampledHalfTsallisUpdatedAt {Env : Type v} {Action : Type u} [MeasurableSpace Env] [MeasurableSpace Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (loss : Exp3.PredictableLossVector Env Action) (n : Nat) : Env × History.FinitePairHistory Action Real n -> Action -> Action -> Real
def
BanditRLProof.Tsallis.sampledHalfTsallisHistoryActionStabilityAt
Compiled
The one-round stability score on visible history/action pairs.
noncomputable def sampledHalfTsallisHistoryActionStabilityAt {Env : Type v} {Action : Type u} [MeasurableSpace Env] [MeasurableSpace Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (loss : Exp3.PredictableLossVector Env Action) (n : Nat) : (Env × History.FinitePairHistory Action Real n) × Action -> Real
def
BanditRLProof.Tsallis.sampledHalfTsallisHalfPowerBoundAt
Compiled
The roundwise half-power budget on a visible history.
noncomputable def sampledHalfTsallisHalfPowerBoundAt {Env : Type v} {Action : Type u} [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (n : Nat) : Env × History.FinitePairHistory Action Real n -> Real
def
BanditRLProof.Tsallis.sampledHalfTsallisSuccessorStabilityAt
Compiled
The actual displayed stability term with the next generated prefix's current selector, rather than the sampled-action update notation.
noncomputable def sampledHalfTsallisSuccessorStabilityAt {Env : Type v} {Action : Type u} [MeasurableSpace Env] [MeasurableSpace Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (loss : Exp3.PredictableLossVector Env Action) (n : Nat) (sample : Env × ((k : Nat) -> Action × Real)) : Real
def
BanditRLProof.Tsallis.sampledHalfTsallisEnvironmentHistoryDistributionSource
Compiled
Environment-lifted measurable probability source at one prefix level.
noncomputable def sampledHalfTsallisEnvironmentHistoryDistributionSource {Env : Type v} {Action : Type u} [MeasurableSpace Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) (n : Nat) : Exp3.MeasurableFiniteActionDistribution arms (sampledHalfTsallisProbabilityAt (Env
def
BanditRLProof.Tsallis.sampledHalfTsallisPolicyAt
Compiled
Algorithm policy comapped to the environment/prefix state.
noncomputable def sampledHalfTsallisPolicyAt {Env : Type v} {Action : Type u} [MeasurableSpace Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [DecidableEq Action] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) (n : Nat) : Kernel (Env × History.FinitePairHistory Action Real n) Action
theorem
BanditRLProof.Tsallis.sampledHalfTsallisScoreAt_succ_ae
Compiled
The recursive score on generated prefixes follows the predictable importance-weighted update almost surely.
theorem sampledHalfTsallisScoreAt_succ_ae {Env : Type v} {Action : Type u} [MeasurableSpace Env] [StandardBorelSpace Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsFiniteMeasure prior] (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) (loss : Exp3.PredictableLossVector Env Action) (n : Nat) : let mu := prior ⊗ₘ sampledHalfTsallisTrajectoryKernel arms harms eta selector loss.environment (fun sample => sampledHalfTsallisHistoryScore arms harms eta (n + 1) (Preorder.frestrictLe (n + 1) sample.2)) =ᵐ[mu] (fun sample candidate => sampledHalfTsallisHistoryScore arms harms eta n (Preorder.frestrictLe n sample.2) candidate + Exp3.importanceWeightedLoss (sampledHalfTsallisHistoryDistribution arms harms eta n (Preorder.frestrictLe n sample.2)) (loss.successor n sample.1 (Preorder.frestrictLe n sample.2)) (sample.2 (n + 1)).1 candidate)
theorem
BanditRLProof.Tsallis.integral_sum_sampledHalfTsallisSuccessorStability_le_integral_sum_halfPowerStabilityBound
Compiled
Generated predictable-trajectory finite-horizon half-Tsallis stability. The trajectory construction discharges the policy-kernel, conditional-law, and successor-score-recursion obligations. The remaining explicit inputs are the canonical selector measurability contract and regularity of the updated stability score under each generated history/action product law.
theorem integral_sum_sampledHalfTsallisSuccessorStability_le_integral_sum_halfPowerStabilityBound {Env : Type v} {Action : Type u} [MeasurableSpace Env] [StandardBorelSpace Env] [MeasurableSpace Action] [MeasurableSingletonClass Action] [StandardBorelSpace Action] [Nonempty Action] [DecidableEq Action] (prior : Measure Env) [IsFiniteMeasure prior] (horizon : Nat) (arms : Finset Action) (harms : arms.Nonempty) (eta : Real) (heta : 0 < eta) (selector : HalfTsallisFiniteHistorySelectorMeasurability arms harms eta) (loss : Exp3.PredictableLossVector Env Action) (hscore : forall n, Measurable (sampledHalfTsallisHistoryActionStabilityAt arms harms eta loss n)) (hIntegrable : forall n, Integrable (sampledHalfTsallisHistoryActionStabilityAt arms harms eta loss n) ((prior ⊗ₘ sampledHalfTsallisTrajectoryKernel arms harms eta selector loss.environment).map (sampledHalfTsallisHistoryAt n) ⊗ₘ sampledHalfTsallisPolicyAt (Env