BanditRLlib
Lean gate passed before this site build; local proof declarations are shown as compiled.Lean-verified build · exact declarations linked.

Lean module · UCB

BanditRLProof.Algorithms.UCBArmStreamExpectedPullCount

This module connects the source-faithful one-sided index tails to the local selected-small/selected-large pull-count decomposition. It stays in ENNReal until a downstream Bochner-regret wrapper requests a Real expectation.

Module map

Declarations
39
Placeholders
0

Imports

BanditRLProof.Algorithms.UCBArmStreamTail, BanditRLProof.Algorithms.ETCCountLemmas, BanditRLProof.Algorithms.ETCFiniteArmRewardLaw, BanditRLProof.Algorithms.ETCRealInfinitePiTail, BanditRLProof.ExpectationPullCount, BanditRLProof.MeasurablePullCountCast, BanditRLProof.RealKernelRegretPullCount

Imported by

BanditRLProof, BanditRLProof.Algorithms.UCBArmStreamAsymptotics, BanditRLProof.Algorithms.UCBRealLMLCompat

Declarations

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

theorem BanditRLProof.UCB.armStreamAction_eq_initializationArm_of_lt Compiled

During initialization the recursive process follows round robin exactly.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.armStreamAction_eq_initializationArm_of_lt

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem armStreamAction_eq_initializationArm_of_lt {K : Nat} (hK : 0 < K) (c : Real) (stream : ArmRewardStream K) (t : Nat) (ht : t < K) : armStreamAction hK c stream t = initializationArm hK t
theorem BanditRLProof.UCB.pullCount_armStreamAction_K_eq_one Compiled

Every arm is pulled exactly once in the first full initialization cycle.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.pullCount_armStreamAction_K_eq_one

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem pullCount_armStreamAction_K_eq_one {K : Nat} (hK : 0 < K) (c : Real) (stream : ArmRewardStream K) (arm : Fin K) : pullCount (armStreamAction hK c stream) arm K = 1
theorem BanditRLProof.UCB.pullCount_armStreamAction_pos_of_K_le Compiled

After initialization every arm has positive prior pull count.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.pullCount_armStreamAction_pos_of_K_le

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem pullCount_armStreamAction_pos_of_K_le {K : Nat} (hK : 0 < K) (c : Real) (stream : ArmRewardStream K) (arm : Fin K) (t : Nat) (ht : K <= t) : 0 < pullCount (armStreamAction hK c stream) arm t
theorem BanditRLProof.UCB.K_lt_of_one_lt_pullCount_armStreamAction Compiled

A second pull cannot occur before the round-robin cycle is complete.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.K_lt_of_one_lt_pullCount_armStreamAction

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem K_lt_of_one_lt_pullCount_armStreamAction {K : Nat} (hK : 0 < K) (c : Real) (stream : ArmRewardStream K) (arm : Fin K) (t : Nat) (hcount : 1 < pullCount (armStreamAction hK c stream) arm t) : K < t
theorem BanditRLProof.UCB.armStreamAction_eq_realIndexAction_of_K_le Compiled

After initialization the recursive action is the native trace UCB argmax.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.armStreamAction_eq_realIndexAction_of_K_le

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem armStreamAction_eq_realIndexAction_of_K_le {K : Nat} (hK : 0 < K) (c : Real) (stream : ArmRewardStream K) (t : Nat) (ht : K <= t) : armStreamAction hK c stream t = realIndexAction hK (armStreamAction hK c stream) (armStreamReward hK c stream) c t
theorem BanditRLProof.UCB.realIndex_le_realIndex_armStreamAction_of_K_le Compiled

The selected recursive action maximizes the actual random-width index.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.realIndex_le_realIndex_armStreamAction_of_K_le

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem realIndex_le_realIndex_armStreamAction_of_K_le {K : Nat} (hK : 0 < K) (c : Real) (stream : ArmRewardStream K) (t : Nat) (ht : K <= t) (arm : Fin K) : realIndex (armStreamAction hK c stream) (armStreamReward hK c stream) c arm t <= realIndex (armStreamAction hK c stream) (armStreamReward hK c stream) c (armStreamAction hK c stream t) t
theorem BanditRLProof.UCB.meanGap_le_two_realWidth_of_selected Compiled

Good confidence inequalities force the selected arm gap below twice its width.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.meanGap_le_two_realWidth_of_selected

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem meanGap_le_two_realWidth_of_selected {K : Nat} (hK : 0 < K) (c : Real) (stream : ArmRewardStream K) (t : Nat) (ht : K <= t) (trueMean : Fin K -> Real) (best chosen : Fin K) (hselected : armStreamAction hK c stream t = chosen) (hbest : trueMean best <= realEmpiricalMean (armStreamAction hK c stream) (armStreamReward hK c stream) best t + realWidth (armStreamAction hK c stream) c best t) (hchosen : realEmpiricalMean (armStreamAction hK c stream) (armStreamReward hK c stream) chosen t - realWidth (armStreamAction hK c stream) c chosen t <= trueMean chosen) : meanGap trueMean best chosen <= 2 * realWidth (armStreamAction hK c stream) c chosen t
theorem BanditRLProof.UCB.pullCount_le_eight_scale_log_div_gap_sq Compiled

Squaring the good-event gap inequality gives the standard UCB count bound.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.pullCount_le_eight_scale_log_div_gap_sq

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem pullCount_le_eight_scale_log_div_gap_sq {K : Nat} (action : ActionTrace (Fin K)) (arm : Fin K) (scale gap : Real) (t : Nat) (hscale : 0 <= scale) (hgap : 0 < gap) (hcount : 0 < pullCount action arm t) (hgap_le : gap <= 2 * realWidth action scale arm t) : (pullCount action arm t : Real) <= 8 * scale * Real.log ((t + 1 : Nat) : Real) / gap ^ 2
def BanditRLProof.UCB.realPullThreshold Compiled

Real threshold used for the horizon-wide pull-count split.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.realPullThreshold

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def realPullThreshold (c : Real) (sigma2 : NNReal) (gap : Real) (n : Nat) : Real
def BanditRLProof.UCB.pullThreshold Compiled

Integer split point: one more than the ceiling of the real threshold.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.pullThreshold

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def pullThreshold (c : Real) (sigma2 : NNReal) (gap : Real) (n : Nat) : Nat
def BanditRLProof.UCB.indexTail Compiled

The one-sided inverse-power tail budget at time `t`.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.indexTail

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def indexTail (c : Real) (t : Nat) : ENNReal
def BanditRLProof.UCB.constSum Compiled

Finite-horizon sum of the source-faithful one-sided index tails.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.constSum

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def constSum (c : Real) (n : Nat) : ENNReal
def BanditRLProof.UCB.selectedLargePullCountEvent Compiled

A selected arm whose prior count has crossed the horizon threshold.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.selectedLargePullCountEvent

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def selectedLargePullCountEvent {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (gap : Real) (arm : Fin K) (n t : Nat) : Set (ArmRewardStream K)
def BanditRLProof.UCB.lowerIndexFailure Compiled

Lower-index failure for a fixed arm of the recursive process.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.lowerIndexFailure

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def lowerIndexFailure {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (arm : Fin K) (mean : Real) (t : Nat) : Set (ArmRewardStream K)
def BanditRLProof.UCB.upperIndexFailure Compiled

Upper-index failure for a fixed arm of the recursive process.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.upperIndexFailure

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

noncomputable def upperIndexFailure {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (arm : Fin K) (mean : Real) (t : Nat) : Set (ArmRewardStream K)
theorem BanditRLProof.UCB.selectedLargePullCountEvent_subset_lower_union_upper Compiled

Crossing the horizon count threshold while selecting a positive-gap arm forces one of the two one-sided index failures used by the arm-stream tail module.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.selectedLargePullCountEvent_subset_lower_union_upper

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem selectedLargePullCountEvent_subset_lower_union_upper {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (nu : Kernel (Fin K) Real) (arm : Fin K) (n t : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hgap : 0 < realKernelGap nu arm) (ht : t < n) : selectedLargePullCountEvent hK c sigma2 (realKernelGap nu arm) arm n t ⊆ lowerIndexFailure hK c sigma2 (ETC.realKernelBestArm hK nu) (realKernelMean nu (ETC.realKernelBestArm hK nu)) t ∪ upperIndexFailure hK c sigma2 arm (realKernelMean nu arm) t
theorem BanditRLProof.UCB.measure_selectedLargePullCountEvent_le_two_mul_indexTail Compiled

The selected-large event has twice the one-sided inverse-power budget.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.measure_selectedLargePullCountEvent_le_two_mul_indexTail

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem measure_selectedLargePullCountEvent_le_two_mul_indexTail {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (n t : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hgap : 0 < realKernelGap nu arm) (ht : t < n) (hsubGBest : HasSubgaussianMGF (fun reward => reward - realKernelMean nu (ETC.realKernelBestArm hK nu)) sigma2 (nu (ETC.realKernelBestArm hK nu))) (hsubGArm : HasSubgaussianMGF (fun reward => reward - realKernelMean nu arm) sigma2 (nu arm)) : armStreamMeasure nu (selectedLargePullCountEvent hK c sigma2 (realKernelGap nu arm) arm n t) <= 2 * indexTail c t
theorem BanditRLProof.UCB.lintegral_selectedLargePullCount_indicator_sum_le_two_mul_constSum Compiled

Finite-time selected-large indicators integrate to twice `constSum`.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.lintegral_selectedLargePullCount_indicator_sum_le_two_mul_constSum

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem lintegral_selectedLargePullCount_indicator_sum_le_two_mul_constSum {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hgap : 0 < realKernelGap nu arm) (hsubGBest : HasSubgaussianMGF (fun reward => reward - realKernelMean nu (ETC.realKernelBestArm hK nu)) sigma2 (nu (ETC.realKernelBestArm hK nu))) (hsubGArm : HasSubgaussianMGF (fun reward => reward - realKernelMean nu arm) sigma2 (nu arm)) : ∫⁻ stream : ArmRewardStream K, (Finset.range n).sum (fun t : Nat => if armStreamAction hK (c * (sigma2 : Real)) stream t = arm ∧ pullThreshold c sigma2 (realKernelGap nu arm) n <= pullCount (armStreamAction hK (c * (sigma2 : Real)) stream) arm t then (1 : ENNReal) else 0) ∂armStreamMeasure nu <= 2 * constSum c n
theorem BanditRLProof.UCB.lintegral_natCast_pullCount_armStreamAction_le_threshold_add_two_mul_constSum Compiled

ENNReal expected pull-count bound for one positive-gap arm of the concrete recursive UCB process.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.lintegral_natCast_pullCount_armStreamAction_le_threshold_add_two_mul_constSum

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem lintegral_natCast_pullCount_armStreamAction_le_threshold_add_two_mul_constSum {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hgap : 0 < realKernelGap nu arm) (hsubGBest : HasSubgaussianMGF (fun reward => reward - realKernelMean nu (ETC.realKernelBestArm hK nu)) sigma2 (nu (ETC.realKernelBestArm hK nu))) (hsubGArm : HasSubgaussianMGF (fun reward => reward - realKernelMean nu arm) sigma2 (nu arm)) : ∫⁻ stream : ArmRewardStream K, (pullCount (armStreamAction hK (c * (sigma2 : Real)) stream) arm n : ENNReal) ∂armStreamMeasure nu <= (pullThreshold c sigma2 (realKernelGap nu arm) n : ENNReal) + 2 * constSum c n
theorem BanditRLProof.UCB.indexTail_ne_top Compiled

Every finite inverse-power tail budget is finite.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.indexTail_ne_top

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem indexTail_ne_top (c : Real) (t : Nat) : indexTail c t ≠ ∞
theorem BanditRLProof.UCB.constSum_ne_top Compiled

The finite-horizon inverse-power tail sum is finite.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.constSum_ne_top

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem constSum_ne_top (c : Real) (n : Nat) : constSum c n ≠ ∞
theorem BanditRLProof.UCB.integrable_real_pullCount_armStreamAction Compiled

Real pull counts of the measurable recursive process are integrable.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integrable_real_pullCount_armStreamAction

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integrable_real_pullCount_armStreamAction {K : Nat} (hK : 0 < K) (c : Real) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (n : Nat) : Integrable (fun stream : ArmRewardStream K => (pullCount (armStreamAction hK c stream) arm n : Real)) (armStreamMeasure nu)
theorem BanditRLProof.UCB.integral_real_pullCount_armStreamAction_le_threshold_add_two_mul_constSum Compiled

Real Bochner expected pull-count bound obtained from the ENNReal endpoint.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_real_pullCount_armStreamAction_le_threshold_add_two_mul_constSum

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_real_pullCount_armStreamAction_le_threshold_add_two_mul_constSum {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hgap : 0 < realKernelGap nu arm) (hsubGBest : HasSubgaussianMGF (fun reward => reward - realKernelMean nu (ETC.realKernelBestArm hK nu)) sigma2 (nu (ETC.realKernelBestArm hK nu))) (hsubGArm : HasSubgaussianMGF (fun reward => reward - realKernelMean nu arm) sigma2 (nu arm)) : ∫ stream : ArmRewardStream K, (pullCount (armStreamAction hK (c * (sigma2 : Real)) stream) arm n : Real) ∂armStreamMeasure nu <= (pullThreshold c sigma2 (realKernelGap nu arm) n : Real) + 2 * (constSum c n).toReal
theorem BanditRLProof.UCB.pullThreshold_cast_le_realPullThreshold_add_two Compiled

The ceiling threshold is bounded by the exact LML real threshold plus two.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.pullThreshold_cast_le_realPullThreshold_add_two

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem pullThreshold_cast_le_realPullThreshold_add_two (c : Real) (sigma2 : NNReal) (gap : Real) (n : Nat) (hthreshold : 0 <= realPullThreshold c sigma2 gap n) : (pullThreshold c sigma2 gap n : Real) <= realPullThreshold c sigma2 gap n + 2
theorem BanditRLProof.UCB.integral_real_pullCount_armStreamAction_le_realThreshold_add_two_add_two_mul_constSum Compiled

LML-shaped Real expected pull-count bound without a ceiling term.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_real_pullCount_armStreamAction_le_realThreshold_add_two_add_two_mul_constSum

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_real_pullCount_armStreamAction_le_realThreshold_add_two_add_two_mul_constSum {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (arm : Fin K) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hgap : 0 < realKernelGap nu arm) (hsubGBest : HasSubgaussianMGF (fun reward => reward - realKernelMean nu (ETC.realKernelBestArm hK nu)) sigma2 (nu (ETC.realKernelBestArm hK nu))) (hsubGArm : HasSubgaussianMGF (fun reward => reward - realKernelMean nu arm) sigma2 (nu arm)) : ∫ stream : ArmRewardStream K, (pullCount (armStreamAction hK (c * (sigma2 : Real)) stream) arm n : Real) ∂armStreamMeasure nu <= realPullThreshold c sigma2 (realKernelGap nu arm) n + 2 + 2 * (constSum c n).toReal
theorem BanditRLProof.UCB.integral_realKernelRegret_armStreamAction_le_sum_gap_mul_realThreshold_add_two_add_two_mul_constSum Compiled

Finite-arm expected regret bound for the concrete recursive arm-stream UCB process, in the same gap-weighted shape as the pinned LML route.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_realKernelRegret_armStreamAction_le_sum_gap_mul_realThreshold_add_two_add_two_mul_constSum

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_realKernelRegret_armStreamAction_le_sum_gap_mul_realThreshold_add_two_add_two_mul_constSum {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hsubG : forall arm : Fin K, HasSubgaussianMGF (fun reward => reward - realKernelMean nu arm) sigma2 (nu arm)) : ∫ stream : ArmRewardStream K, realKernelRegret nu (armStreamAction hK (c * (sigma2 : Real)) stream) n ∂armStreamMeasure nu <= (Finset.univ : Finset (Fin K)).sum (fun arm => realKernelGap nu arm * (realPullThreshold c sigma2 (realKernelGap nu arm) n + 2 + 2 * (constSum c n).toReal))
theorem BanditRLProof.UCB.integral_realKernelRegret_armStreamAction_le_lml_sum Compiled

Canonical arm-stream specialization of the pinned LML UCB regret theorem, with exactly the upstream gap-weighted finite-sum right-hand side.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_realKernelRegret_armStreamAction_le_lml_sum

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_realKernelRegret_armStreamAction_le_lml_sum {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hsubG : forall arm : Fin K, HasSubgaussianMGF (fun reward => reward - realKernelMean nu arm) sigma2 (nu arm)) : ∫ stream : ArmRewardStream K, realKernelRegret nu (armStreamAction hK (c * (sigma2 : Real)) stream) n ∂armStreamMeasure nu <= (Finset.univ : Finset (Fin K)).sum (fun arm => 8 * c * (sigma2 : Real) * Real.log ((n + 1 : Nat) : Real) / realKernelGap nu arm + realKernelGap nu arm * (2 + 2 * (constSum c n).toReal))
theorem BanditRLProof.UCB.measurable_armStreamActionTrace Compiled

The complete recursive arm-stream action trace is measurable.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.measurable_armStreamActionTrace

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem measurable_armStreamActionTrace {K : Nat} (hK : 0 < K) (c : Real) : Measurable (armStreamAction hK c : ArmRewardStream K -> ActionTrace (Fin K))
theorem BanditRLProof.UCB.measurable_realKernelRegret_actionTrace Compiled

Kernel regret is a measurable functional of a finite-arm action trace.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.measurable_realKernelRegret_actionTrace

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem measurable_realKernelRegret_actionTrace {K : Nat} (nu : Kernel (Fin K) Real) (n : Nat) : Measurable (fun action : ActionTrace (Fin K) => realKernelRegret nu action n)
theorem BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_armStreamAction Compiled

Any external action process with the same complete action-trace law as the canonical arm-stream UCB process inherits its exact LML-shaped regret bound.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_armStreamAction

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_armStreamAction {Omega : Type*} [MeasurableSpace Omega] {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (mu : Measure Omega) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (hident : IdentDistrib action (armStreamAction hK (c * (sigma2 : Real))) mu (armStreamMeasure nu)) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hsubG : forall arm : Fin K, HasSubgaussianMGF (fun reward => reward - realKernelMean nu arm) sigma2 (nu arm)) : integral mu (fun omega => realKernelRegret nu (action omega) n) <= (Finset.univ : Finset (Fin K)).sum (fun arm => 8 * c * (sigma2 : Real) * Real.log ((n + 1 : Nat) : Real) / realKernelGap nu arm + realKernelGap nu arm * (2 + 2 * (constSum c n).toReal))
theorem BanditRLProof.UCB.identDistrib_action_armStreamAction_of_identDistrib_armStream Compiled

An external action generated almost surely by the recursive UCB map inherits the canonical action-trace law from an identically distributed latent arm stream.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.identDistrib_action_armStreamAction_of_identDistrib_armStream

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem identDistrib_action_armStreamAction_of_identDistrib_armStream {Omega : Type*} [MeasurableSpace Omega] {K : Nat} (hK : 0 < K) (c : Real) (mu : Measure Omega) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (armStream : Omega -> ArmRewardStream K) (action : Omega -> ActionTrace (Fin K)) (hstreamLaw : IdentDistrib armStream (id : ArmRewardStream K -> ArmRewardStream K) mu (armStreamMeasure nu)) (haction : ∀ᵐ omega ∂mu, action omega = armStreamAction hK c (armStream omega)) : IdentDistrib action (armStreamAction hK c) mu (armStreamMeasure nu)
theorem BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_armStream Compiled

Exact LML-shaped regret for an external action generated from a latent arm stream with the canonical complete stream law.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_armStream

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_armStream {Omega : Type*} [MeasurableSpace Omega] {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (mu : Measure Omega) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (armStream : Omega -> ArmRewardStream K) (action : Omega -> ActionTrace (Fin K)) (hstreamLaw : IdentDistrib armStream (id : ArmRewardStream K -> ArmRewardStream K) mu (armStreamMeasure nu)) (haction : ∀ᵐ omega ∂mu, action omega = armStreamAction hK (c * (sigma2 : Real)) (armStream omega)) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hsubG : forall arm : Fin K, HasSubgaussianMGF (fun reward => reward - realKernelMean nu arm) sigma2 (nu arm)) : integral mu (fun omega => realKernelRegret nu (action omega) n) <= (Finset.univ : Finset (Fin K)).sum (fun arm => 8 * c * (sigma2 : Real) * Real.log ((n + 1 : Nat) : Real) / realKernelGap nu arm + realKernelGap nu arm * (2 + 2 * (constSum c n).toReal))
theorem BanditRLProof.UCB.identDistrib_action_of_identDistrib_actionRewardTrace Compiled

Identical laws of complete action/reward trajectories imply identical laws of their action traces. This is the projection used by LML's `IsAlgEnvSeq.identDistrib_trajectory` route.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.identDistrib_action_of_identDistrib_actionRewardTrace

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem identDistrib_action_of_identDistrib_actionRewardTrace {Omega Xi : Type*} [MeasurableSpace Omega] [MeasurableSpace Xi] {K : Nat} (mu : Measure Omega) (mu' : Measure Xi) (action : Omega -> ActionTrace (Fin K)) (reward : Omega -> RewardTrace Real) (action' : Xi -> ActionTrace (Fin K)) (reward' : Xi -> RewardTrace Real) (htrajectory : IdentDistrib (fun omega t => (action omega t, reward omega t)) (fun xi t => (action' xi t, reward' xi t)) mu mu') : IdentDistrib action action' mu mu'
theorem BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_actionRewardTrace Compiled

Exact LML-shaped regret transported from an observable action/reward trajectory law matching the canonical recursive arm-stream UCB trajectory.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_actionRewardTrace

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_actionRewardTrace {Omega : Type*} [MeasurableSpace Omega] {K : Nat} (hK : 0 < K) (c : Real) (sigma2 : NNReal) (mu : Measure Omega) (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (reward : Omega -> RewardTrace Real) (htrajectory : IdentDistrib (fun omega t => (action omega t, reward omega t)) (fun stream t => (armStreamAction hK (c * (sigma2 : Real)) stream t, armStreamReward hK (c * (sigma2 : Real)) stream t)) mu (armStreamMeasure nu)) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hsubG : forall arm : Fin K, HasSubgaussianMGF (fun x => x - realKernelMean nu arm) sigma2 (nu arm)) : integral mu (fun omega => realKernelRegret nu (action omega) n) <= (Finset.univ : Finset (Fin K)).sum (fun arm => 8 * c * (sigma2 : Real) * Real.log ((n + 1 : Nat) : Real) / realKernelGap nu arm + realKernelGap nu arm * (2 + 2 * (constSum c n).toReal))
theorem BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_common_actionReward_condDistrib Compiled

Exact LML-shaped regret from upstream-style initial and successor action/reward conditional laws. The external process and the canonical arm-stream UCB process need only share the same initial pair marginal and the same history-indexed successor pair kernels; full trajectory `IdentDistrib` is then supplied by Ionescu-Tulcea/projective-limit uniqueness.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_common_actionReward_condDistrib

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_realKernelRegret_externalAction_le_lml_sum_of_common_actionReward_condDistrib {Omega : Type*} [MeasurableSpace Omega] {K : Nat} [NeZero K] (hK : 0 < K) (c : Real) (sigma2 : NNReal) (mu : Measure Omega) [IsFiniteMeasure mu] (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (reward : Omega -> RewardTrace Real) (haction : forall t : Nat, Measurable (fun omega : Omega => action omega t)) (hreward : forall t : Nat, Measurable (fun omega : Omega => reward omega t)) (mu0 : Measure (Fin K × Real)) [IsProbabilityMeasure mu0] (pairKernel : (i : Nat) -> Kernel (History.FinitePairHistory (Fin K) Real i) (Fin K × Real)) [forall i, IsMarkovKernel (pairKernel i)] (hzero : Measure.map (fun omega : Omega => (action omega 0, reward omega 0)) mu = mu0) (hzeroCanonical : Measure.map (fun stream : ArmRewardStream K => (armStreamAction hK (c * (sigma2 : Real)) stream 0, armStreamReward hK (c * (sigma2 : Real)) stream 0)) (armStreamMeasure nu) = mu0) (hcond : forall i : Nat, condDistrib (fun omega : Omega => (action omega (i + 1), reward omega (i + 1))) (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i) mu =ᵐ[mu.map (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i)] pairKernel i) (hcondCanonical : forall i : Nat, condDistrib (fun stream : ArmRewardStream K => (armStreamAction hK (c * (sigma2 : Real)) stream (i + 1), armStreamReward hK (c * (sigma2 : Real)) stream (i + 1))) (fun stream : ArmRewardStream K => History.finitePairHistoryOfTrace (armStreamAction hK (c * (sigma2 : Real)) stream) (armStreamReward hK (c * (sigma2 : Real)) stream) i) (armStreamMeasure nu) =ᵐ[(armStreamMeasure nu).map (fun stream : ArmRewardStream K => History.finitePairHistoryOfTrace (armStreamAction hK (c * (sigma2 : Real)) stream) (armStreamReward hK (c * (sigma2 : Real)) stream) i)] pairKernel i) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hsubG : forall arm : Fin K, HasSubgaussianMGF (fun x => x - realKernelMean nu arm) sigma2 (nu arm)) : integral mu (fun omega => realKernelRegret nu (action omega) n) <= (Finset.univ : Finset (Fin K)).sum (fun arm => 8 * c * (sigma2 : Real) * Real.log ((n + 1 : Nat) : Real) / realKernelGap nu arm + realKernelGap nu arm * (2 + 2 * (constSum c n).toReal))
theorem BanditRLProof.UCB.identDistrib_actionRewardTrace_of_condDistrib_eq_armStream Compiled

An external action/reward process has the same complete observable trajectory law as canonical arm-stream UCB when its initial pair marginal and every successor pair conditional distribution agree with the corresponding canonical ones. The canonical initial measure and kernel family are chosen internally.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.identDistrib_actionRewardTrace_of_condDistrib_eq_armStream

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem identDistrib_actionRewardTrace_of_condDistrib_eq_armStream {Omega : Type*} [MeasurableSpace Omega] {K : Nat} [NeZero K] (hK : 0 < K) (c : Real) (sigma2 : NNReal) (mu : Measure Omega) [IsFiniteMeasure mu] (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (reward : Omega -> RewardTrace Real) (haction : forall t : Nat, Measurable (fun omega : Omega => action omega t)) (hreward : forall t : Nat, Measurable (fun omega : Omega => reward omega t)) (hzero : Measure.map (fun omega : Omega => (action omega 0, reward omega 0)) mu = Measure.map (fun stream : ArmRewardStream K => (armStreamAction hK (c * (sigma2 : Real)) stream 0, armStreamReward hK (c * (sigma2 : Real)) stream 0)) (armStreamMeasure nu)) (hcond : forall i : Nat, condDistrib (fun omega : Omega => (action omega (i + 1), reward omega (i + 1))) (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i) mu =ᵐ[mu.map (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i)] condDistrib (fun stream : ArmRewardStream K => (armStreamAction hK (c * (sigma2 : Real)) stream (i + 1), armStreamReward hK (c * (sigma2 : Real)) stream (i + 1))) (fun stream : ArmRewardStream K => History.finitePairHistoryOfTrace (armStreamAction hK (c * (sigma2 : Real)) stream) (armStreamReward hK (c * (sigma2 : Real)) stream) i) (armStreamMeasure nu)) : IdentDistrib (fun omega t => (action omega t, reward omega t)) (fun stream t => (armStreamAction hK (c * (sigma2 : Real)) stream t, armStreamReward hK (c * (sigma2 : Real)) stream t)) mu (armStreamMeasure nu)
theorem BanditRLProof.UCB.identDistrib_actionRewardTrace_of_split_condDistrib_eq_armStream Compiled

An external process has the canonical observable UCB trajectory law from the four split law surfaces used by LML's `IsAlgEnvSeq`: the initial action law, the initial feedback law given that action, the successor action law given finite pair history, and the successor feedback law given history and the next action. The canonical split kernels and their `compProd` pair kernels are chosen internally.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.identDistrib_actionRewardTrace_of_split_condDistrib_eq_armStream

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem identDistrib_actionRewardTrace_of_split_condDistrib_eq_armStream {Omega : Type*} [MeasurableSpace Omega] {K : Nat} [NeZero K] (hK : 0 < K) (c : Real) (sigma2 : NNReal) (mu : Measure Omega) [IsFiniteMeasure mu] (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (reward : Omega -> RewardTrace Real) (haction : forall t : Nat, Measurable (fun omega : Omega => action omega t)) (hreward : forall t : Nat, Measurable (fun omega : Omega => reward omega t)) (hzeroAction : Measure.map (fun omega : Omega => action omega 0) mu = Measure.map (fun stream : ArmRewardStream K => armStreamAction hK (c * (sigma2 : Real)) stream 0) (armStreamMeasure nu)) (hzeroFeedback : condDistrib (fun omega : Omega => reward omega 0) (fun omega : Omega => action omega 0) mu =ᵐ[ mu.map (fun omega : Omega => action omega 0)] condDistrib (fun stream : ArmRewardStream K => armStreamReward hK (c * (sigma2 : Real)) stream 0) (fun stream : ArmRewardStream K => armStreamAction hK (c * (sigma2 : Real)) stream 0) (armStreamMeasure nu)) (hcondAction : forall i : Nat, condDistrib (fun omega : Omega => action omega (i + 1)) (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i) mu =ᵐ[ mu.map (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i)] condDistrib (fun stream : ArmRewardStream K => armStreamAction hK (c * (sigma2 : Real)) stream (i + 1)) (fun stream : ArmRewardStream K => History.finitePairHistoryOfTrace (armStreamAction hK (c * (sigma2 : Real)) stream) (armStreamReward hK (c * (sigma2 : Real)) stream) i) (armStreamMeasure nu)) (hcondFeedback : forall i : Nat, condDistrib (fun omega : Omega => reward omega (i + 1)) (fun omega : Omega => (History.finitePairHistoryOfTrace (action omega) (reward omega) i, action omega (i + 1))) mu =ᵐ[ mu.map (fun omega : Omega => (History.finitePairHistoryOfTrace (action omega) (reward omega) i, action omega (i + 1)))] condDistrib (fun stream : ArmRewardStream K => armStreamReward hK (c * (sigma2 : Real)) stream (i + 1)) (fun stream : ArmRewardStream K => (History.finitePairHistoryOfTrace (armStreamAction hK (c * (sigma2 : Real)) stream) (armStreamReward hK (c * (sigma2 : Real)) stream) i, armStreamAction hK (c * (sigma2 : Real)) stream (i + 1))) (armStreamMeasure nu)) : IdentDistrib (fun omega t => (action omega t, reward omega t)) (fun stream t => (armStreamAction hK (c * (sigma2 : Real)) stream t, armStreamReward hK (c * (sigma2 : Real)) stream t)) mu (armStreamMeasure nu)
theorem BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_split_condDistrib_eq_armStream Compiled

Exact canonical arm-stream UCB regret from the four split action/feedback law fields corresponding to LML's `IsAlgEnvSeq` interface.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_split_condDistrib_eq_armStream

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_realKernelRegret_externalAction_le_lml_sum_of_split_condDistrib_eq_armStream {Omega : Type*} [MeasurableSpace Omega] {K : Nat} [NeZero K] (hK : 0 < K) (c : Real) (sigma2 : NNReal) (mu : Measure Omega) [IsFiniteMeasure mu] (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (reward : Omega -> RewardTrace Real) (haction : forall t : Nat, Measurable (fun omega : Omega => action omega t)) (hreward : forall t : Nat, Measurable (fun omega : Omega => reward omega t)) (hzeroAction : Measure.map (fun omega : Omega => action omega 0) mu = Measure.map (fun stream : ArmRewardStream K => armStreamAction hK (c * (sigma2 : Real)) stream 0) (armStreamMeasure nu)) (hzeroFeedback : condDistrib (fun omega : Omega => reward omega 0) (fun omega : Omega => action omega 0) mu =ᵐ[ mu.map (fun omega : Omega => action omega 0)] condDistrib (fun stream : ArmRewardStream K => armStreamReward hK (c * (sigma2 : Real)) stream 0) (fun stream : ArmRewardStream K => armStreamAction hK (c * (sigma2 : Real)) stream 0) (armStreamMeasure nu)) (hcondAction : forall i : Nat, condDistrib (fun omega : Omega => action omega (i + 1)) (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i) mu =ᵐ[ mu.map (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i)] condDistrib (fun stream : ArmRewardStream K => armStreamAction hK (c * (sigma2 : Real)) stream (i + 1)) (fun stream : ArmRewardStream K => History.finitePairHistoryOfTrace (armStreamAction hK (c * (sigma2 : Real)) stream) (armStreamReward hK (c * (sigma2 : Real)) stream) i) (armStreamMeasure nu)) (hcondFeedback : forall i : Nat, condDistrib (fun omega : Omega => reward omega (i + 1)) (fun omega : Omega => (History.finitePairHistoryOfTrace (action omega) (reward omega) i, action omega (i + 1))) mu =ᵐ[ mu.map (fun omega : Omega => (History.finitePairHistoryOfTrace (action omega) (reward omega) i, action omega (i + 1)))] condDistrib (fun stream : ArmRewardStream K => armStreamReward hK (c * (sigma2 : Real)) stream (i + 1)) (fun stream : ArmRewardStream K => (History.finitePairHistoryOfTrace (armStreamAction hK (c * (sigma2 : Real)) stream) (armStreamReward hK (c * (sigma2 : Real)) stream) i, armStreamAction hK (c * (sigma2 : Real)) stream (i + 1))) (armStreamMeasure nu)) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hsubG : forall arm : Fin K, HasSubgaussianMGF (fun x => x - realKernelMean nu arm) sigma2 (nu arm)) : integral mu (fun omega => realKernelRegret nu (action omega) n) <= (Finset.univ : Finset (Fin K)).sum (fun arm => 8 * c * (sigma2 : Real) * Real.log ((n + 1 : Nat) : Real) / realKernelGap nu arm + realKernelGap nu arm * (2 + 2 * (constSum c n).toReal))
theorem BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_condDistrib_eq_armStream Compiled

Exact LML-shaped regret when the external initial and successor observable pair laws agree directly with canonical arm-stream UCB.

Used in these reading views: Bandit Book · Reinforcement Learning Book

4. UCB: confidence events to regret

Canonical node identitydeclaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_condDistrib_eq_armStream

Reading membership is not a proof dependency. Exact assumptions remain in the Lean statement.

theorem integral_realKernelRegret_externalAction_le_lml_sum_of_condDistrib_eq_armStream {Omega : Type*} [MeasurableSpace Omega] {K : Nat} [NeZero K] (hK : 0 < K) (c : Real) (sigma2 : NNReal) (mu : Measure Omega) [IsFiniteMeasure mu] (nu : Kernel (Fin K) Real) [IsMarkovKernel nu] (action : Omega -> ActionTrace (Fin K)) (reward : Omega -> RewardTrace Real) (haction : forall t : Nat, Measurable (fun omega : Omega => action omega t)) (hreward : forall t : Nat, Measurable (fun omega : Omega => reward omega t)) (hzero : Measure.map (fun omega : Omega => (action omega 0, reward omega 0)) mu = Measure.map (fun stream : ArmRewardStream K => (armStreamAction hK (c * (sigma2 : Real)) stream 0, armStreamReward hK (c * (sigma2 : Real)) stream 0)) (armStreamMeasure nu)) (hcond : forall i : Nat, condDistrib (fun omega : Omega => (action omega (i + 1), reward omega (i + 1))) (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i) mu =ᵐ[mu.map (fun omega : Omega => History.finitePairHistoryOfTrace (action omega) (reward omega) i)] condDistrib (fun stream : ArmRewardStream K => (armStreamAction hK (c * (sigma2 : Real)) stream (i + 1), armStreamReward hK (c * (sigma2 : Real)) stream (i + 1))) (fun stream : ArmRewardStream K => History.finitePairHistoryOfTrace (armStreamAction hK (c * (sigma2 : Real)) stream) (armStreamReward hK (c * (sigma2 : Real)) stream) i) (armStreamMeasure nu)) (n : Nat) (hc : 0 < c) (hsigma2 : sigma2 ≠ 0) (hsubG : forall arm : Fin K, HasSubgaussianMGF (fun x => x - realKernelMean nu arm) sigma2 (nu arm)) : integral mu (fun omega => realKernelRegret nu (action omega) n) <= (Finset.univ : Finset (Fin K)).sum (fun arm => 8 * c * (sigma2 : Real) * Real.log ((n + 1 : Nat) : Real) / realKernelGap nu arm + realKernelGap nu arm * (2 + 2 * (constSum c n).toReal))