Lean module · Thompson sampling
BanditRLProof.Algorithms.ThompsonStationaryReward
# Stationary reward kernels for the Thompson concentration route This module isolates the stationary feedback adapter and the algorithm-independent latent-arm-stream tail used by the Thompson Bayesian-regret route. The tail theorems deliberately quantify over an arbitrary action trace: only the next-unused-coordinate reward rule and the product arm-stream law matter.
Module map
Imports
BanditRLProof.Algorithms.ThompsonClippedUCBScore, BanditRLProof.Algorithms.UCBArmStreamTail
Imported by
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
abbrev
BanditRLProof.Thompson.UnitArmStream
Compiled
Uniform random table used to represent all stationary reward-kernel draws.
abbrev UnitArmStream (K : Nat)
def
BanditRLProof.Thompson.uniformUnitArmStreamMeasure
Compiled
Independent uniform coordinates indexed by pull number and arm.
noncomputable def uniformUnitArmStreamMeasure (K : Nat) : Measure (UnitArmStream K)
def
BanditRLProof.Thompson.stationaryRewardSampler
Compiled
A fixed measurable uniform-randomness representation of a reward kernel.
noncomputable def stationaryRewardSampler {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] : (Env × Fin K) -> Set.Icc (0 : Real) 1 -> Real
theorem
BanditRLProof.Thompson.measurable_uncurry_stationaryRewardSampler
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_uncurry_stationaryRewardSampler {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] : Measurable (Function.uncurry (stationaryRewardSampler rewardKernel))
theorem
BanditRLProof.Thompson.stationaryRewardSampler_map_volume
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem stationaryRewardSampler_map_volume {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (input : Env × Fin K) : Measure.map (stationaryRewardSampler rewardKernel input) volume = rewardKernel input
def
BanditRLProof.Thompson.rewardStreamOfUnitArmStream
Compiled
Turn one environment and one uniform table into its latent reward table.
noncomputable def rewardStreamOfUnitArmStream {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] : Env × UnitArmStream K -> UCB.ArmRewardStream K
theorem
BanditRLProof.Thompson.measurable_rewardStreamOfUnitArmStream
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_rewardStreamOfUnitArmStream {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] : Measurable (rewardStreamOfUnitArmStream rewardKernel)
def
BanditRLProof.Thompson.stationaryRewardKernelAt
Compiled
The arm-indexed reward kernel obtained by freezing the environment.
noncomputable def stationaryRewardKernelAt {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (env : Env) : Kernel (Fin K) Real
theorem
BanditRLProof.Thompson.stationaryRewardKernelAt_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem stationaryRewardKernelAt_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (env : Env) (arm : Fin K) : stationaryRewardKernelAt rewardKernel env arm = rewardKernel (env, arm)
def
BanditRLProof.Thompson.stationaryArmStreamKernel
Compiled
Markov kernel that samples an independent latent reward stream at each environment.
noncomputable def stationaryArmStreamKernel {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] : Kernel Env (UCB.ArmRewardStream K)
theorem
BanditRLProof.Thompson.stationaryArmStreamKernel_apply
Compiled
At a fixed environment, the sampled latent table has the canonical product arm-stream law.
theorem stationaryArmStreamKernel_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (env : Env) : stationaryArmStreamKernel rewardKernel env = UCB.armStreamMeasure (stationaryRewardKernelAt rewardKernel env)
def
BanditRLProof.Thompson.stationaryMeasurableHistoryEnvironment
Compiled
A stationary reward kernel is a measurable history environment that ignores history.
noncomputable def stationaryMeasurableHistoryEnvironment {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] : MeasurableHistoryEnvironment Env (Fin K) Real where
theorem
BanditRLProof.Thompson.stationaryMeasurableHistoryEnvironment_initialFeedback
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem stationaryMeasurableHistoryEnvironment_initialFeedback {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] : (stationaryMeasurableHistoryEnvironment rewardKernel).initialFeedback = rewardKernel
theorem
BanditRLProof.Thompson.stationaryMeasurableHistoryEnvironment_feedback_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem stationaryMeasurableHistoryEnvironment_feedback_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (n : Nat) (env : Env) (history : History.FinitePairHistory (Fin K) Real n) (arm : Fin K) : (stationaryMeasurableHistoryEnvironment rewardKernel).feedback n (env, (history, arm)) = rewardKernel (env, arm)
theorem
BanditRLProof.Thompson.stationaryMeasurableHistoryEnvironment_at_initialFeedback_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem stationaryMeasurableHistoryEnvironment_at_initialFeedback_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (env : Env) (arm : Fin K) : ((stationaryMeasurableHistoryEnvironment rewardKernel).at env).initialFeedback arm = rewardKernel (env, arm)
theorem
BanditRLProof.Thompson.stationaryMeasurableHistoryEnvironment_at_feedback_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem stationaryMeasurableHistoryEnvironment_at_feedback_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (env : Env) (n : Nat) (history : History.FinitePairHistory (Fin K) Real n) (arm : Fin K) : ((stationaryMeasurableHistoryEnvironment rewardKernel).at env).feedback n (history, arm) = rewardKernel (env, arm)
def
BanditRLProof.Thompson.latentArmStreamInitialReward
Compiled
Initial reward read from coordinate zero of the selected latent arm.
def latentArmStreamInitialReward {Env : Type u} {K : Nat} : ((Env × UCB.ArmRewardStream K) × Fin K) → Real
theorem
BanditRLProof.Thompson.measurable_latentArmStreamInitialReward
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_latentArmStreamInitialReward {Env : Type u} {K : Nat} [MeasurableSpace Env] : Measurable (latentArmStreamInitialReward (Env
def
BanditRLProof.Thompson.latentArmStreamNextReward
Compiled
Next unused reward coordinate determined by the visible finite history.
noncomputable def latentArmStreamNextReward {Env : Type u} {K : Nat} (n : Nat) : ((Env × UCB.ArmRewardStream K) × (History.FinitePairHistory (Fin K) Real n × Fin K)) → Real
theorem
BanditRLProof.Thompson.measurable_latentArmStreamNextReward
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_latentArmStreamNextReward {Env : Type u} {K : Nat} [MeasurableSpace Env] (n : Nat) : Measurable (latentArmStreamNextReward (Env
def
BanditRLProof.Thompson.latentArmStreamMeasurableHistoryEnvironment
Compiled
Measurable deterministic feedback environment that exposes a latent reward table through the next-unused-coordinate rule. The first environment component is retained for the Bayesian model but does not affect feedback.
noncomputable def latentArmStreamMeasurableHistoryEnvironment {Env : Type u} {K : Nat} [MeasurableSpace Env] : MeasurableHistoryEnvironment (Env × UCB.ArmRewardStream K) (Fin K) Real where
theorem
BanditRLProof.Thompson.latentArmStreamMeasurableHistoryEnvironment_initialFeedback_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem latentArmStreamMeasurableHistoryEnvironment_initialFeedback_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (env : Env) (stream : UCB.ArmRewardStream K) (arm : Fin K) : (latentArmStreamMeasurableHistoryEnvironment (Env
theorem
BanditRLProof.Thompson.latentArmStreamMeasurableHistoryEnvironment_feedback_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem latentArmStreamMeasurableHistoryEnvironment_feedback_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (n : Nat) (env : Env) (stream : UCB.ArmRewardStream K) (history : History.FinitePairHistory (Fin K) Real n) (arm : Fin K) : (latentArmStreamMeasurableHistoryEnvironment (Env
theorem
BanditRLProof.Thompson.measurable_latentArmStreamNextReward_fixed
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_latentArmStreamNextReward_fixed {Env : Type u} {K : Nat} [MeasurableSpace Env] (n : Nat) (env : Env) (stream : UCB.ArmRewardStream K) : Measurable (fun input : History.FinitePairHistory (Fin K) Real n × Fin K => stream (ETC.realHistoryPullCount n input.1 input.2) input.2)
theorem
BanditRLProof.Thompson.latentArmStreamMeasurableHistoryEnvironment_at_initialFeedback_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem latentArmStreamMeasurableHistoryEnvironment_at_initialFeedback_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (env : Env) (stream : UCB.ArmRewardStream K) (arm : Fin K) : ((latentArmStreamMeasurableHistoryEnvironment (Env
theorem
BanditRLProof.Thompson.latentArmStreamMeasurableHistoryEnvironment_at_feedback_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem latentArmStreamMeasurableHistoryEnvironment_at_feedback_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (n : Nat) (env : Env) (stream : UCB.ArmRewardStream K) (history : History.FinitePairHistory (Fin K) Real n) (arm : Fin K) : ((latentArmStreamMeasurableHistoryEnvironment (Env
theorem
BanditRLProof.Thompson.canonicalLatentArmStreamTrajectory_reward_zero_ae
Compiled
The initial canonical reward reads coordinate zero of the selected arm.
theorem canonicalLatentArmStreamTrajectory_reward_zero_ae {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (stream : UCB.ArmRewardStream K) : ∀ᵐ trajectory ∂ canonicalMeasurableEnvironmentTrajectoryKernel algorithm (latentArmStreamMeasurableHistoryEnvironment (Env
theorem
BanditRLProof.Thompson.canonicalLatentArmStreamTrajectory_reward_succ_ae
Compiled
Every shifted canonical reward reads the selected arm's next unused coordinate.
theorem canonicalLatentArmStreamTrajectory_reward_succ_ae {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (stream : UCB.ArmRewardStream K) (n : Nat) : ∀ᵐ trajectory ∂ canonicalMeasurableEnvironmentTrajectoryKernel algorithm (latentArmStreamMeasurableHistoryEnvironment (Env
theorem
BanditRLProof.Thompson.canonicalLatentArmStreamTrajectory_reward_eq_rewardFromArmStream_ae
Compiled
The canonical trajectory under deterministic latent-stream feedback has the same reward trace as the pathwise next-unused-coordinate construction.
theorem canonicalLatentArmStreamTrajectory_reward_eq_rewardFromArmStream_ae {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (stream : UCB.ArmRewardStream K) : canonicalHistoryTrajectoryReward =ᵐ[ canonicalMeasurableEnvironmentTrajectoryKernel algorithm (latentArmStreamMeasurableHistoryEnvironment (Env
theorem
BanditRLProof.UCB.measurable_rewardFromArmStream_apply
Compiled
A next-unused arm-stream reward coordinate is measurable at each time.
theorem measurable_rewardFromArmStream_apply {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (action : Omega -> ActionTrace (Fin K)) (haction : forall t, Measurable (fun omega => action omega t)) (armStream : Omega -> ArmRewardStream K) (hmeasurable : forall i arm, Measurable (fun omega => armStream omega i arm)) (t : Nat) : Measurable (fun omega => rewardFromArmStream action armStream omega t)
theorem
BanditRLProof.UCB.measure_sumRewards_sub_pullCount_mul_ge_le_of_armStream_identDistrib
Compiled
Adaptive-count upper tail on any sample space whose latent-stream projection has the canonical stationary product law. The action trace may use additional algorithmic randomness carried by the sample space.
theorem measure_sumRewards_sub_pullCount_mul_ge_le_of_armStream_identDistrib {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (mu : Measure Omega) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (armStream : Omega -> ArmRewardStream K) (hmeasurable : forall i arm, Measurable (fun omega => armStream omega i arm)) (hstreamLaw : IdentDistrib armStream id mu (armStreamMeasure nu)) (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : mu {omega : Omega | threshold (pullCount (action omega) arm n) <= sumRewards (action omega) (rewardFromArmStream action armStream omega) arm n - (pullCount (action omega) arm n : Real) * mean} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.UCB.measure_pullCount_mul_sub_sumRewards_ge_le_of_armStream_identDistrib
Compiled
Lower-tail counterpart of the arbitrary-sample latent-stream transport.
theorem measure_pullCount_mul_sub_sumRewards_ge_le_of_armStream_identDistrib {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (mu : Measure Omega) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (armStream : Omega -> ArmRewardStream K) (hmeasurable : forall i arm, Measurable (fun omega => armStream omega i arm)) (hstreamLaw : IdentDistrib armStream id mu (armStreamMeasure nu)) (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : mu {omega : Omega | threshold (pullCount (action omega) arm n) <= (pullCount (action omega) arm n : Real) * mean - sumRewards (action omega) (rewardFromArmStream action armStream omega) arm n} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.UCB.measure_pos_and_sumRewards_sub_pullCount_mul_ge_le_of_armStream_identDistrib
Compiled
Positive-count upper tail under an arbitrary algorithmic-randomness coupling.
theorem measure_pos_and_sumRewards_sub_pullCount_mul_ge_le_of_armStream_identDistrib {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (mu : Measure Omega) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (armStream : Omega -> ArmRewardStream K) (hmeasurable : forall i arm, Measurable (fun omega => armStream omega i arm)) (hstreamLaw : IdentDistrib armStream id mu (armStreamMeasure nu)) (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, 0 < k -> k <= n -> 0 <= threshold k) : mu {omega : Omega | 0 < pullCount (action omega) arm n ∧ threshold (pullCount (action omega) arm n) <= sumRewards (action omega) (rewardFromArmStream action armStream omega) arm n - (pullCount (action omega) arm n : Real) * mean} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.UCB.measure_pos_and_pullCount_mul_sub_sumRewards_ge_le_of_armStream_identDistrib
Compiled
Positive-count lower tail under an arbitrary algorithmic-randomness coupling.
theorem measure_pos_and_pullCount_mul_sub_sumRewards_ge_le_of_armStream_identDistrib {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (mu : Measure Omega) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (armStream : Omega -> ArmRewardStream K) (hmeasurable : forall i arm, Measurable (fun omega => armStream omega i arm)) (hstreamLaw : IdentDistrib armStream id mu (armStreamMeasure nu)) (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, 0 < k -> k <= n -> 0 <= threshold k) : mu {omega : Omega | 0 < pullCount (action omega) arm n ∧ threshold (pullCount (action omega) arm n) <= (pullCount (action omega) arm n : Real) * mean - sumRewards (action omega) (rewardFromArmStream action armStream omega) arm n} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.UCB.measure_sumRewards_sub_pullCount_mul_ge_le_of_canonicalArmStream
Compiled
Adaptive-count upper tail for any action trace driven by a canonical latent arm stream. No UCB action rule is used.
theorem measure_sumRewards_sub_pullCount_mul_ge_le_of_canonicalArmStream {K : Nat} (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : ArmRewardStream K -> ActionTrace (Fin K)) (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : armStreamMeasure nu {stream : ArmRewardStream K | threshold (pullCount (action stream) arm n) <= sumRewards (action stream) (rewardFromArmStream action id stream) arm n - (pullCount (action stream) arm n : Real) * mean} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.UCB.measure_pullCount_mul_sub_sumRewards_ge_le_of_canonicalArmStream
Compiled
Adaptive-count lower tail for any action trace driven by a canonical latent arm stream. No UCB action rule is used.
theorem measure_pullCount_mul_sub_sumRewards_ge_le_of_canonicalArmStream {K : Nat} (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : ArmRewardStream K -> ActionTrace (Fin K)) (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : armStreamMeasure nu {stream : ArmRewardStream K | threshold (pullCount (action stream) arm n) <= (pullCount (action stream) arm n : Real) * mean - sumRewards (action stream) (rewardFromArmStream action id stream) arm n} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
def
BanditRLProof.Thompson.latentArmStreamTrajectoryKernel
Compiled
Canonical trajectory kernel after freezing the non-stream environment.
noncomputable def latentArmStreamTrajectoryKernel {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) : Kernel (UCB.ArmRewardStream K) ((n : Nat) -> Fin K × Real)
def
BanditRLProof.Thompson.latentArmStreamTrajectoryMeasure
Compiled
Joint law of a stationary latent arm stream and its generated trajectory.
noncomputable def latentArmStreamTrajectoryMeasure {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] : Measure (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real))
def
BanditRLProof.Thompson.latentArmStreamTrajectoryAction
Compiled
Action trace projected from the trajectory coordinate of the coupling.
def latentArmStreamTrajectoryAction {K : Nat} : (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real)) -> ActionTrace (Fin K)
def
BanditRLProof.Thompson.latentArmStreamTrajectoryReward
Compiled
Reward trace projected from the trajectory coordinate of the coupling.
def latentArmStreamTrajectoryReward {K : Nat} : (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real)) -> RewardTrace Real
theorem
BanditRLProof.Thompson.measurable_latentArmStreamTrajectoryAction_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_latentArmStreamTrajectoryAction_apply {K : Nat} (t : Nat) : Measurable (fun sample : UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real) => latentArmStreamTrajectoryAction sample t)
theorem
BanditRLProof.Thompson.measurable_latentArmStreamTrajectoryReward_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_latentArmStreamTrajectoryReward_apply {K : Nat} (t : Nat) : Measurable (fun sample : UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real) => latentArmStreamTrajectoryReward sample t)
theorem
BanditRLProof.Thompson.measurable_pullCount_selectedArm
Compiled
Pull counts remain measurable when the queried arm is sample-dependent.
theorem measurable_pullCount_selectedArm {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (action : Omega -> ActionTrace (Fin K)) (haction : forall t, Measurable (fun omega => action omega t)) (arm : Omega -> Fin K) (harm : Measurable arm) (n : Nat) : Measurable (fun omega => pullCount (action omega) (arm omega) n)
theorem
BanditRLProof.Thompson.measurable_sumRewards_selectedArm
Compiled
Selected-arm reward sums are measurable for a measurable arm selector.
theorem measurable_sumRewards_selectedArm {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (action : Omega -> ActionTrace (Fin K)) (reward : Omega -> RewardTrace Real) (haction : forall t, Measurable (fun omega => action omega t)) (hreward : forall t, Measurable (fun omega => reward omega t)) (arm : Omega -> Fin K) (harm : Measurable arm) (n : Nat) : Measurable (fun omega => sumRewards (action omega) (reward omega) (arm omega) n)
theorem
BanditRLProof.Thompson.measurable_realEmpiricalMean_selectedArm
Compiled
The real empirical mean is measurable for a measurable arm selector.
theorem measurable_realEmpiricalMean_selectedArm {Omega : Type u} {K : Nat} [MeasurableSpace Omega] (action : Omega -> ActionTrace (Fin K)) (reward : Omega -> RewardTrace Real) (haction : forall t, Measurable (fun omega => action omega t)) (hreward : forall t, Measurable (fun omega => reward omega t)) (arm : Omega -> Fin K) (harm : Measurable arm) (n : Nat) : Measurable (fun omega => UCB.realEmpiricalMean (action omega) (reward omega) (arm omega) n)
theorem
BanditRLProof.Thompson.identDistrib_fst_latentArmStreamTrajectoryMeasure
Compiled
The stream coordinate of the coupling has exactly the canonical stream law.
theorem identDistrib_fst_latentArmStreamTrajectoryMeasure {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] : IdentDistrib Prod.fst id (latentArmStreamTrajectoryMeasure algorithm env nu) (UCB.armStreamMeasure nu) where
theorem
BanditRLProof.Thompson.latentArmStreamTrajectoryReward_eq_rewardFromArmStream_ae
Compiled
The joint coupling reads its actual rewards from its own latent stream.
theorem latentArmStreamTrajectoryReward_eq_rewardFromArmStream_ae {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] : latentArmStreamTrajectoryReward =ᵐ[ latentArmStreamTrajectoryMeasure algorithm env nu] UCB.rewardFromArmStream latentArmStreamTrajectoryAction Prod.fst
theorem
BanditRLProof.Thompson.measure_latentArmStreamTrajectory_sumRewards_sub_pullCount_mul_ge_le
Compiled
Upper adaptive-count tail for rewards on the coupled Thompson trajectory.
theorem measure_latentArmStreamTrajectory_sumRewards_sub_pullCount_mul_ge_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : latentArmStreamTrajectoryMeasure algorithm env nu {sample | threshold (pullCount (latentArmStreamTrajectoryAction sample) arm n) <= sumRewards (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm n - (pullCount (latentArmStreamTrajectoryAction sample) arm n : Real) * mean} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.measure_latentArmStreamTrajectory_pullCount_mul_sub_sumRewards_ge_le
Compiled
Lower adaptive-count tail for rewards on the coupled Thompson trajectory.
theorem measure_latentArmStreamTrajectory_pullCount_mul_sub_sumRewards_ge_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : latentArmStreamTrajectoryMeasure algorithm env nu {sample | threshold (pullCount (latentArmStreamTrajectoryAction sample) arm n) <= (pullCount (latentArmStreamTrajectoryAction sample) arm n : Real) * mean - sumRewards (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm n} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.measure_latentArmStreamTrajectory_pos_and_sumRewards_sub_pullCount_mul_ge_le
Compiled
Positive-count upper tail for rewards on the coupled trajectory.
theorem measure_latentArmStreamTrajectory_pos_and_sumRewards_sub_pullCount_mul_ge_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, 0 < k -> k <= n -> 0 <= threshold k) : latentArmStreamTrajectoryMeasure algorithm env nu {sample | 0 < pullCount (latentArmStreamTrajectoryAction sample) arm n ∧ threshold (pullCount (latentArmStreamTrajectoryAction sample) arm n) <= sumRewards (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm n - (pullCount (latentArmStreamTrajectoryAction sample) arm n : Real) * mean} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.measure_latentArmStreamTrajectory_pos_and_pullCount_mul_sub_sumRewards_ge_le
Compiled
Positive-count lower tail for rewards on the coupled trajectory.
theorem measure_latentArmStreamTrajectory_pos_and_pullCount_mul_sub_sumRewards_ge_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, 0 < k -> k <= n -> 0 <= threshold k) : latentArmStreamTrajectoryMeasure algorithm env nu {sample | 0 < pullCount (latentArmStreamTrajectoryAction sample) arm n ∧ threshold (pullCount (latentArmStreamTrajectoryAction sample) arm n) <= (pullCount (latentArmStreamTrajectoryAction sample) arm n : Real) * mean - sumRewards (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm n} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
def
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryKernel
Compiled
Environment-indexed kernel that samples the stationary latent stream and then runs the actual history algorithm against next-unused deterministic feedback.
noncomputable def stationaryLatentArmStreamTrajectoryKernel {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) : Kernel Env (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryKernel_apply
Compiled
Its conditional law is exactly the fixed-environment coupling above.
theorem stationaryLatentArmStreamTrajectoryKernel_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) : stationaryLatentArmStreamTrajectoryKernel rewardKernel algorithm env = latentArmStreamTrajectoryMeasure algorithm env (stationaryRewardKernelAt rewardKernel env)
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryKernel_sumRewards_upper_tail
Compiled
Pointwise upper tail for the actual augmented Thompson trajectory kernel.
theorem stationaryLatentArmStreamTrajectoryKernel_sumRewards_upper_tail {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (env : Env) (arm : Fin K) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : stationaryLatentArmStreamTrajectoryKernel rewardKernel algorithm env {sample | threshold (pullCount (latentArmStreamTrajectoryAction sample) arm n) <= sumRewards (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm n - (pullCount (latentArmStreamTrajectoryAction sample) arm n : Real) * mean env arm} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryKernel_sumRewards_lower_tail
Compiled
Pointwise lower tail for the actual augmented Thompson trajectory kernel.
theorem stationaryLatentArmStreamTrajectoryKernel_sumRewards_lower_tail {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (env : Env) (arm : Fin K) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : stationaryLatentArmStreamTrajectoryKernel rewardKernel algorithm env {sample | threshold (pullCount (latentArmStreamTrajectoryAction sample) arm n) <= (pullCount (latentArmStreamTrajectoryAction sample) arm n : Real) * mean env arm - sumRewards (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm n} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryKernel_pos_and_sumRewards_upper_tail
Compiled
Positive-count upper tail for the environment-indexed augmented kernel.
theorem stationaryLatentArmStreamTrajectoryKernel_pos_and_sumRewards_upper_tail {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (env : Env) (arm : Fin K) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, 0 < k -> k <= n -> 0 <= threshold k) : stationaryLatentArmStreamTrajectoryKernel rewardKernel algorithm env {sample | 0 < pullCount (latentArmStreamTrajectoryAction sample) arm n ∧ threshold (pullCount (latentArmStreamTrajectoryAction sample) arm n) <= sumRewards (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm n - (pullCount (latentArmStreamTrajectoryAction sample) arm n : Real) * mean env arm} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryKernel_pos_and_sumRewards_lower_tail
Compiled
Positive-count lower tail for the environment-indexed augmented kernel.
theorem stationaryLatentArmStreamTrajectoryKernel_pos_and_sumRewards_lower_tail {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (env : Env) (arm : Fin K) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, 0 < k -> k <= n -> 0 <= threshold k) : stationaryLatentArmStreamTrajectoryKernel rewardKernel algorithm env {sample | 0 < pullCount (latentArmStreamTrajectoryAction sample) arm n ∧ threshold (pullCount (latentArmStreamTrajectoryAction sample) arm n) <= (pullCount (latentArmStreamTrajectoryAction sample) arm n : Real) * mean env arm - sumRewards (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm n} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
def
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryEnvironment
Compiled
Environment coordinate of the stationary augmented trajectory sample.
def stationaryLatentArmStreamTrajectoryEnvironment {Env : Type u} {K : Nat} : (Env × (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real))) -> Env
def
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryAction
Compiled
Action trace of the stationary augmented trajectory sample.
def stationaryLatentArmStreamTrajectoryAction {Env : Type u} {K : Nat} : (Env × (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real))) -> ActionTrace (Fin K)
def
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryReward
Compiled
Reward trace of the stationary augmented trajectory sample.
def stationaryLatentArmStreamTrajectoryReward {Env : Type u} {K : Nat} : (Env × (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real))) -> RewardTrace Real
theorem
BanditRLProof.Thompson.measurable_stationaryLatentArmStreamTrajectoryEnvironment
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_stationaryLatentArmStreamTrajectoryEnvironment {Env : Type u} {K : Nat} [MeasurableSpace Env] : Measurable (stationaryLatentArmStreamTrajectoryEnvironment (Env
theorem
BanditRLProof.Thompson.measurable_stationaryLatentArmStreamTrajectoryAction_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_stationaryLatentArmStreamTrajectoryAction_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (t : Nat) : Measurable (fun sample : Env × (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real)) => stationaryLatentArmStreamTrajectoryAction sample t)
theorem
BanditRLProof.Thompson.measurable_stationaryLatentArmStreamTrajectoryReward_apply
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem measurable_stationaryLatentArmStreamTrajectoryReward_apply {Env : Type u} {K : Nat} [MeasurableSpace Env] (t : Nat) : Measurable (fun sample : Env × (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real)) => stationaryLatentArmStreamTrajectoryReward sample t)
def
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure
Compiled
Prior mixture of the stationary latent stream and its actual trajectory.
noncomputable def stationaryLatentArmStreamTrajectoryMeasure {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (prior : Measure Env) (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) : Measure (Env × (UCB.ArmRewardStream K × ((n : Nat) -> Fin K × Real)))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_sumRewards_upper_tail
Compiled
Upper fixed-arm adaptive-count tail after mixing the fixed-environment augmented trajectory through the environment prior.
theorem stationaryLatentArmStreamTrajectoryMeasure_sumRewards_upper_tail {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (arm : Fin K) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | threshold (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n) <= sumRewards (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) arm n - (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n : Real) * mean (stationaryLatentArmStreamTrajectoryEnvironment sample) arm} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_sumRewards_lower_tail
Compiled
Lower-tail counterpart of the augmented-prior mixture theorem.
theorem stationaryLatentArmStreamTrajectoryMeasure_sumRewards_lower_tail {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (arm : Fin K) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, k <= n -> 0 <= threshold k) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | threshold (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n) <= (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n : Real) * mean (stationaryLatentArmStreamTrajectoryEnvironment sample) arm - sumRewards (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) arm n} <= (Finset.range (n + 1)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.measure_compProd_le_of_forall_kernel_apply_le
Compiled
Integrate a uniform pointwise kernel event bound through a probability prior.
theorem measure_compProd_le_of_forall_kernel_apply_le {Env : Type u} {Omega : Type v} [MeasurableSpace Env] [MeasurableSpace Omega] (prior : Measure Env) [IsProbabilityMeasure prior] (kernel : Kernel Env Omega) [IsMarkovKernel kernel] (event : Set (Env × Omega)) (hevent : MeasurableSet event) (bound : ENNReal) (hbound : forall env, kernel env (Prod.mk env ⁻¹' event) <= bound) : (prior ⊗ₘ kernel) event <= bound
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_pos_and_sumRewards_upper_tail
Compiled
Positive-count upper tail after mixing through the environment prior.
theorem stationaryLatentArmStreamTrajectoryMeasure_pos_and_sumRewards_upper_tail {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (arm : Fin K) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, 0 < k -> k <= n -> 0 <= threshold k) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | 0 < pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n ∧ threshold (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n) <= sumRewards (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) arm n - (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n : Real) * mean (stationaryLatentArmStreamTrajectoryEnvironment sample) arm} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_pos_and_sumRewards_lower_tail
Compiled
Positive-count lower tail after mixing through the environment prior.
theorem stationaryLatentArmStreamTrajectoryMeasure_pos_and_sumRewards_lower_tail {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (arm : Fin K) (n : Nat) (threshold : Nat -> Real) (hthreshold : forall k, 0 < k -> k <= n -> 0 <= threshold k) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | 0 < pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n ∧ threshold (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n) <= (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n : Real) * mean (stationaryLatentArmStreamTrajectoryEnvironment sample) arm - sumRewards (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) arm n} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(threshold k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
def
BanditRLProof.Thompson.clippedCountWidthThreshold
Compiled
Pull-count-scaled radius used by the clipped Thompson score.
noncomputable def clippedCountWidthThreshold (sigma2 : NNReal) (delta : Real) (k : Nat) : Real
theorem
BanditRLProof.Thompson.clippedCountWidthThreshold_nonneg
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
theorem clippedCountWidthThreshold_nonneg (sigma2 : NNReal) (delta : Real) (k : Nat) : 0 <= clippedCountWidthThreshold sigma2 delta k
theorem
BanditRLProof.Thompson.clippedCountWidthThreshold_sq_div_eq
Compiled
The clipped-score count threshold has the intended confidence exponent.
theorem clippedCountWidthThreshold_sq_div_eq (sigma2 : NNReal) (delta : Real) (k : Nat) (hsigma2 : sigma2 ≠ 0) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (hk : 0 < k) : (clippedCountWidthThreshold sigma2 delta k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)) = Real.log (1 / delta)
theorem
BanditRLProof.Thompson.sum_clippedCountWidthThreshold_tail_eq
Compiled
The positive-count clipped-radius exponential sum is exactly `n * delta`.
theorem sum_clippedCountWidthThreshold_tail_eq (sigma2 : NNReal) (delta : Real) (n : Nat) (hsigma2 : sigma2 ≠ 0) (hdelta : 0 < delta) (hdelta_one : delta <= 1) : ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(clippedCountWidthThreshold sigma2 delta k) ^ 2 / (2 * (k : Real) * (sigma2 : Real))))) = (n : ENNReal) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.measure_biUnion_clippedCountWidthThreshold_le_mul_sub_armPrefixSum_le
Compiled
A finite union of lower prefix deviations pays once per positive pull count.
theorem measure_biUnion_clippedCountWidthThreshold_le_mul_sub_armPrefixSum_le {K : Nat} (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (m : Nat) : UCB.armStreamMeasure nu (⋃ k ∈ Finset.Icc 1 m, {stream : UCB.ArmRewardStream K | clippedCountWidthThreshold sigma2 delta k <= (k : Real) * mean - UCB.armPrefixSum arm k stream}) <= (m : ENNReal) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.clippedCountWidthThreshold_le_mul_mean_sub_sumRewards
Compiled
A clipped-score lower-confidence failure implies a lower sum deviation.
theorem clippedCountWidthThreshold_le_mul_mean_sub_sumRewards {K : Nat} (action : ActionTrace (Fin K)) (reward : RewardTrace Real) (arm : Fin K) (n : Nat) (mean : Real) (sigma2 : NNReal) (delta : Real) (hcount : 0 < pullCount action arm n) (hindex : UCB.realEmpiricalMean action reward arm n + Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount action arm n : Real)) <= mean) : clippedCountWidthThreshold sigma2 delta (pullCount action arm n) <= (pullCount action arm n : Real) * mean - sumRewards action reward arm n
theorem
BanditRLProof.Thompson.clippedCountWidthThreshold_le_sumRewards_sub_mul_mean
Compiled
A clipped-score upper-confidence failure implies an upper sum deviation.
theorem clippedCountWidthThreshold_le_sumRewards_sub_mul_mean {K : Nat} (action : ActionTrace (Fin K)) (reward : RewardTrace Real) (arm : Fin K) (n : Nat) (mean : Real) (sigma2 : NNReal) (delta : Real) (hcount : 0 < pullCount action arm n) (hindex : mean <= UCB.realEmpiricalMean action reward arm n - Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount action arm n : Real))) : clippedCountWidthThreshold sigma2 delta (pullCount action arm n) <= sumRewards action reward arm n - (pullCount action arm n : Real) * mean
theorem
BanditRLProof.Thompson.measure_latentArmStreamTrajectory_exists_realEmpiricalMean_add_width_le_mean_le
Compiled
Finite-horizon lower-confidence failure for one arm on the coupled trajectory. All times with the same realized pull count reduce to the same latent-stream prefix event, so the bound pays for `1, ..., n - 1` once rather than unioning the fixed-time bounds.
theorem measure_latentArmStreamTrajectory_exists_realEmpiricalMean_add_width_le_mean_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (n : Nat) : latentArmStreamTrajectoryMeasure algorithm env nu {sample | ∃ t < n, 0 < pullCount (latentArmStreamTrajectoryAction sample) arm t ∧ UCB.realEmpiricalMean (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm t + Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (latentArmStreamTrajectoryAction sample) arm t : Real)) <= mean} <= (n - 1 : Nat) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_exists_selectedArm_realEmpiricalMean_add_width_le_mean_le
Compiled
Prior-mixed finite-horizon lower-confidence failure for an environment-dependent measurable arm selector.
theorem stationaryLatentArmStreamTrajectoryMeasure_exists_selectedArm_realEmpiricalMean_add_width_le_mean_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (selectedArm : Env -> Fin K) (hselectedArm : Measurable selectedArm) (n : Nat) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | ∃ t < n, 0 < pullCount (stationaryLatentArmStreamTrajectoryAction sample) (selectedArm (stationaryLatentArmStreamTrajectoryEnvironment sample)) t ∧ UCB.realEmpiricalMean (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) (selectedArm (stationaryLatentArmStreamTrajectoryEnvironment sample)) t + Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (stationaryLatentArmStreamTrajectoryAction sample) (selectedArm (stationaryLatentArmStreamTrajectoryEnvironment sample)) t : Real)) <= mean (stationaryLatentArmStreamTrajectoryEnvironment sample) (selectedArm (stationaryLatentArmStreamTrajectoryEnvironment sample))} <= (n - 1 : Nat) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_realEmpiricalMean_add_width_le_mean
Compiled
Prior-mixed lower-confidence failure bound for the clipped score radius.
theorem stationaryLatentArmStreamTrajectoryMeasure_realEmpiricalMean_add_width_le_mean {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (delta : Real) (arm : Fin K) (n : Nat) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | 0 < pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n ∧ UCB.realEmpiricalMean (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) arm n + Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n : Real)) <= mean (stationaryLatentArmStreamTrajectoryEnvironment sample) arm} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(clippedCountWidthThreshold sigma2 delta k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_mean_le_realEmpiricalMean_sub_width
Compiled
Prior-mixed upper-confidence failure bound for the clipped score radius.
theorem stationaryLatentArmStreamTrajectoryMeasure_mean_le_realEmpiricalMean_sub_width {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (delta : Real) (arm : Fin K) (n : Nat) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | 0 < pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n ∧ mean (stationaryLatentArmStreamTrajectoryEnvironment sample) arm <= UCB.realEmpiricalMean (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) arm n - Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n : Real))} <= ((Finset.range (n + 1)).filter (fun k => 0 < k)).sum (fun k => ENNReal.ofReal (Real.exp (-(clippedCountWidthThreshold sigma2 delta k) ^ 2 / (2 * (k : Real) * (sigma2 : Real)))))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_realEmpiricalMean_add_width_le_mean_le_nat_mul_delta
Compiled
Simplified `n * delta` lower-confidence failure bound.
theorem stationaryLatentArmStreamTrajectoryMeasure_realEmpiricalMean_add_width_le_mean_le_nat_mul_delta {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (arm : Fin K) (n : Nat) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | 0 < pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n ∧ UCB.realEmpiricalMean (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) arm n + Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n : Real)) <= mean (stationaryLatentArmStreamTrajectoryEnvironment sample) arm} <= (n : ENNReal) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_mean_le_realEmpiricalMean_sub_width_le_nat_mul_delta
Compiled
Simplified `n * delta` upper-confidence failure bound.
theorem stationaryLatentArmStreamTrajectoryMeasure_mean_le_realEmpiricalMean_sub_width_le_nat_mul_delta {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (arm : Fin K) (n : Nat) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | 0 < pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n ∧ mean (stationaryLatentArmStreamTrajectoryEnvironment sample) arm <= UCB.realEmpiricalMean (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) arm n - Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm n : Real))} <= (n : ENNReal) * ENNReal.ofReal delta
def
BanditRLProof.Thompson.stationaryLatentArmStreamPrior
Compiled
Bayesian prior augmented with the stationary latent arm stream.
noncomputable def stationaryLatentArmStreamPrior {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (prior : Measure Env) (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] : Measure (Env × UCB.ArmRewardStream K)
def
BanditRLProof.Thompson.stationaryLatentArmStreamCanonicalTrajectoryMeasure
Compiled
Canonical trajectory measure in the left-associated sample shape consumed by the Thompson Bayesian-regret decomposition.
noncomputable def stationaryLatentArmStreamCanonicalTrajectoryMeasure {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (prior : Measure Env) (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) : Measure ((Env × UCB.ArmRewardStream K) × ((n : Nat) -> Fin K × Real))
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_map_prodAssoc_symm
Compiled
The concentration and decomposition sample shapes agree by product associativity.
theorem stationaryLatentArmStreamTrajectoryMeasure_map_prodAssoc_symm {Env : Type u} {K : Nat} [MeasurableSpace Env] [NeZero K] (prior : Measure Env) (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) : (stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm).map MeasurableEquiv.prodAssoc.symm = stationaryLatentArmStreamCanonicalTrajectoryMeasure prior rewardKernel algorithm
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamCanonicalTrajectoryMeasure_realEmpiricalMean_add_width_le_mean_le_nat_mul_delta
Compiled
Decomposition-facing lower-confidence failure bound on the canonical augmented trajectory measure.
theorem stationaryLatentArmStreamCanonicalTrajectoryMeasure_realEmpiricalMean_add_width_le_mean_le_nat_mul_delta {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (arm : Fin K) (n : Nat) : stationaryLatentArmStreamCanonicalTrajectoryMeasure prior rewardKernel algorithm {sample : (Env × UCB.ArmRewardStream K) × ((n : Nat) → Fin K × Real) | 0 < pullCount (environmentTrajectoryAction sample) arm n ∧ UCB.realEmpiricalMean (environmentTrajectoryAction sample) (environmentTrajectoryReward sample) arm n + Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (environmentTrajectoryAction sample) arm n : Real)) <= mean sample.1.1 arm} <= (n : ENNReal) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamCanonicalTrajectoryMeasure_mean_le_realEmpiricalMean_sub_width_le_nat_mul_delta
Compiled
Decomposition-facing upper-confidence failure bound on the canonical augmented trajectory measure.
theorem stationaryLatentArmStreamCanonicalTrajectoryMeasure_mean_le_realEmpiricalMean_sub_width_le_nat_mul_delta {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (arm : Fin K) (n : Nat) : stationaryLatentArmStreamCanonicalTrajectoryMeasure prior rewardKernel algorithm {sample : (Env × UCB.ArmRewardStream K) × ((n : Nat) → Fin K × Real) | 0 < pullCount (environmentTrajectoryAction sample) arm n ∧ mean sample.1.1 arm <= UCB.realEmpiricalMean (environmentTrajectoryAction sample) (environmentTrajectoryReward sample) arm n - Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (environmentTrajectoryAction sample) arm n : Real))} <= (n : ENNReal) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamCanonicalTrajectoryMeasure_exists_selectedArm_realEmpiricalMean_add_width_le_mean_le
Compiled
Decomposition-facing horizon-uniform lower-confidence failure for a measurable environment-dependent arm, with the exact `(n - 1) * delta` cost.
theorem stationaryLatentArmStreamCanonicalTrajectoryMeasure_exists_selectedArm_realEmpiricalMean_add_width_le_mean_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (selectedArm : Env -> Fin K) (hselectedArm : Measurable selectedArm) (n : Nat) : stationaryLatentArmStreamCanonicalTrajectoryMeasure prior rewardKernel algorithm {sample : (Env × UCB.ArmRewardStream K) × ((n : Nat) -> Fin K × Real) | ∃ t < n, 0 < pullCount (environmentTrajectoryAction sample) (selectedArm sample.1.1) t ∧ UCB.realEmpiricalMean (environmentTrajectoryAction sample) (environmentTrajectoryReward sample) (selectedArm sample.1.1) t + Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (environmentTrajectoryAction sample) (selectedArm sample.1.1) t : Real)) <= mean sample.1.1 (selectedArm sample.1.1)} <= (n - 1 : Nat) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamCanonicalTrajectoryMeasure_integral_sum_mean_bestAction_sub_clippedUCB_le
Compiled
The first pinned-LML Thompson concentration expectation: the finite-horizon best-action mean minus clipped-UCB sum is controlled by the horizon-uniform lower-confidence failure event.
theorem stationaryLatentArmStreamCanonicalTrajectoryMeasure_integral_sum_mean_bestAction_sub_clippedUCB_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (bestAction : Env -> Fin K) (hbestAction : Measurable bestAction) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (l u : Real) (hlu : l <= u) (hmeanMem : forall env arm, mean env arm ∈ Set.Icc l u) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (n : Nat) : integral (stationaryLatentArmStreamCanonicalTrajectoryMeasure prior rewardKernel algorithm) (fun sample => ∑ t ∈ Finset.range n, (mean sample.1.1 (bestAction sample.1.1) - clippedUCB l u (sigma2 : Real) delta (environmentTrajectoryAction sample) (environmentTrajectoryReward sample) (bestAction sample.1.1) t)) <= (u - l) * (n - 1) * n * delta
theorem
BanditRLProof.Thompson.measure_biUnion_clippedCountWidthThreshold_le_armPrefixSum_sub_mul_le
Compiled
A finite union of upper prefix deviations pays once per positive pull count.
theorem measure_biUnion_clippedCountWidthThreshold_le_armPrefixSum_sub_mul_le {K : Nat} (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (m : Nat) : UCB.armStreamMeasure nu (⋃ k ∈ Finset.Icc 1 m, {stream : UCB.ArmRewardStream K | clippedCountWidthThreshold sigma2 delta k <= UCB.armPrefixSum arm k stream - (k : Real) * mean}) <= (m : ENNReal) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.measure_latentArmStreamTrajectory_exists_mean_le_realEmpiricalMean_sub_width_le
Compiled
Finite-horizon upper-confidence failure for one arm on the coupled trajectory. Times with the same positive pull count collapse to one latent-stream prefix event, preserving the exact `(n - 1) * delta` cost.
theorem measure_latentArmStreamTrajectory_exists_mean_le_realEmpiricalMean_sub_width_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (mean : Real) (sigma2 : NNReal) (hsubG : HasSubgaussianMGF (fun reward => reward - mean) sigma2 (nu arm)) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (n : Nat) : latentArmStreamTrajectoryMeasure algorithm env nu {sample | ∃ t < n, 0 < pullCount (latentArmStreamTrajectoryAction sample) arm t ∧ mean <= UCB.realEmpiricalMean (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm t - Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (latentArmStreamTrajectoryAction sample) arm t : Real))} <= (n - 1 : Nat) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.measure_latentArmStreamTrajectory_exists_arm_exists_mean_le_realEmpiricalMean_sub_width_le
Compiled
Finite-arm union of the horizon upper-confidence failures at fixed environment.
theorem measure_latentArmStreamTrajectory_exists_arm_exists_mean_le_realEmpiricalMean_sub_width_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (algorithm : HistoryAlgorithm (Fin K) Real) (env : Env) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (mean : Fin K -> Real) (sigma2 : NNReal) (hsubG : forall arm, HasSubgaussianMGF (fun reward => reward - mean arm) sigma2 (nu arm)) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (n : Nat) : latentArmStreamTrajectoryMeasure algorithm env nu {sample | ∃ arm : Fin K, ∃ t < n, 0 < pullCount (latentArmStreamTrajectoryAction sample) arm t ∧ mean arm <= UCB.realEmpiricalMean (latentArmStreamTrajectoryAction sample) (latentArmStreamTrajectoryReward sample) arm t - Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (latentArmStreamTrajectoryAction sample) arm t : Real))} <= (K : ENNReal) * ((n - 1 : Nat) : ENNReal) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamTrajectoryMeasure_exists_arm_exists_mean_le_realEmpiricalMean_sub_width_le
Compiled
Prior mixing preserves the finite-arm horizon upper-confidence budget.
theorem stationaryLatentArmStreamTrajectoryMeasure_exists_arm_exists_mean_le_realEmpiricalMean_sub_width_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (n : Nat) : stationaryLatentArmStreamTrajectoryMeasure prior rewardKernel algorithm {sample | ∃ arm : Fin K, ∃ t < n, 0 < pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm t ∧ mean (stationaryLatentArmStreamTrajectoryEnvironment sample) arm <= UCB.realEmpiricalMean (stationaryLatentArmStreamTrajectoryAction sample) (stationaryLatentArmStreamTrajectoryReward sample) arm t - Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (stationaryLatentArmStreamTrajectoryAction sample) arm t : Real))} <= (K : ENNReal) * ((n - 1 : Nat) : ENNReal) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamCanonicalTrajectoryMeasure_exists_arm_exists_mean_le_realEmpiricalMean_sub_width_le
Compiled
Decomposition-facing finite-arm horizon upper-confidence failure with exact `K * (n - 1) * delta` cost.
theorem stationaryLatentArmStreamCanonicalTrajectoryMeasure_exists_arm_exists_mean_le_realEmpiricalMean_sub_width_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (n : Nat) : stationaryLatentArmStreamCanonicalTrajectoryMeasure prior rewardKernel algorithm {sample | ∃ arm : Fin K, ∃ t < n, 0 < pullCount (environmentTrajectoryAction sample) arm t ∧ mean sample.1.1 arm <= UCB.realEmpiricalMean (environmentTrajectoryAction sample) (environmentTrajectoryReward sample) arm t - Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) / (pullCount (environmentTrajectoryAction sample) arm t : Real))} <= (K : ENNReal) * ((n - 1 : Nat) : ENNReal) * ENNReal.ofReal delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamCanonicalTrajectoryMeasure_integral_sum_clippedUCB_action_sub_mean_le
Compiled
The second pinned-LML Thompson concentration expectation: selected-action clipped-UCB excess is bounded by deterministic pull-count summation plus the finite-arm horizon upper-confidence failure budget.
theorem stationaryLatentArmStreamCanonicalTrajectoryMeasure_integral_sum_clippedUCB_action_sub_mean_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (algorithm : HistoryAlgorithm (Fin K) Real) (mean : Env -> Fin K -> Real) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (l u : Real) (hlu : l <= u) (hmeanMem : forall env arm, mean env arm ∈ Set.Icc l u) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (n : Nat) : integral (stationaryLatentArmStreamCanonicalTrajectoryMeasure prior rewardKernel algorithm) (fun sample => ∑ t ∈ Finset.range n, (clippedUCB l u (sigma2 : Real) delta (environmentTrajectoryAction sample) (environmentTrajectoryReward sample) (environmentTrajectoryAction sample t) t - mean sample.1.1 (environmentTrajectoryAction sample t))) <= (u - l) * K + 4 * Real.sqrt (2 * (sigma2 : Real) * Real.log (1 / delta) * K * n) + (u - l) * K * (n - 1) * n * delta
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamCanonicalTrajectoryMeasure_integral_trajectoryBayesMeanRegret_le_of_delta
Compiled
Stationary-reward Thompson Bayesian regret with an explicit confidence parameter. This is the decomposition-facing join of the two pinned-LML clipped-UCB expectation bounds. The analytic upper bound is in fact comparator-uniform, but the public Bayesian-regret endpoint deliberately retains `IsOptimalMeanSelector mean bestAction` as an interpretation contract.
theorem stationaryLatentArmStreamCanonicalTrajectoryMeasure_integral_trajectoryBayesMeanRegret_le_of_delta {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (bestAction : Env -> Fin K) (hbestAction : Measurable bestAction) (mean : Env -> Fin K -> Real) (hbest : IsOptimalMeanSelector mean bestAction) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (l u : Real) (hlu : l <= u) (hmeanMem : forall env arm, mean env arm ∈ Set.Icc l u) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (delta : Real) (hdelta : 0 < delta) (hdelta_one : delta <= 1) (n : Nat) : let augmentedPrior := stationaryLatentArmStreamPrior prior rewardKernel let feedbackEnvironment := latentArmStreamMeasurableHistoryEnvironment (Env
theorem
BanditRLProof.Thompson.stationaryLatentArmStreamCanonicalTrajectoryMeasure_integral_trajectoryBayesMeanRegret_le
Compiled
Pinned-LML stationary-reward Thompson Bayesian-regret bound, obtained from the explicit-confidence theorem with `delta = 1 / n ^ 2`. Unlike the comparator-relative decomposition, this endpoint explicitly requires the selector to maximize the declared mean surface pointwise.
theorem stationaryLatentArmStreamCanonicalTrajectoryMeasure_integral_trajectoryBayesMeanRegret_le {Env : Type u} {K : Nat} [MeasurableSpace Env] [StandardBorelSpace Env] [Nonempty Env] [NeZero K] (prior : Measure Env) [IsProbabilityMeasure prior] (rewardKernel : Kernel (Env × Fin K) Real) [IsMarkovKernel rewardKernel] (bestAction : Env -> Fin K) (hbestAction : Measurable bestAction) (mean : Env -> Fin K -> Real) (hbest : IsOptimalMeanSelector mean bestAction) (hmeas_mean : Measurable (fun input : Env × Fin K => mean input.1 input.2)) (l u : Real) (hlu : l <= u) (hmeanMem : forall env arm, mean env arm ∈ Set.Icc l u) (sigma2 : NNReal) (hsubG : forall env arm, HasSubgaussianMGF (fun reward => reward - mean env arm) sigma2 (rewardKernel (env, arm))) (hsigma2 : sigma2 ≠ 0) (n : Nat) : let augmentedPrior := stationaryLatentArmStreamPrior prior rewardKernel let feedbackEnvironment := latentArmStreamMeasurableHistoryEnvironment (Env