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
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 identity
declaration:BanditRLProof.UCB.armStreamAction_eq_initializationArm_of_ltReading 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 identity
declaration:BanditRLProof.UCB.pullCount_armStreamAction_K_eq_oneReading 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 identity
declaration:BanditRLProof.UCB.pullCount_armStreamAction_pos_of_K_leReading 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 identity
declaration:BanditRLProof.UCB.K_lt_of_one_lt_pullCount_armStreamActionReading 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 identity
declaration:BanditRLProof.UCB.armStreamAction_eq_realIndexAction_of_K_leReading 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 identity
declaration:BanditRLProof.UCB.realIndex_le_realIndex_armStreamAction_of_K_leReading 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 identity
declaration:BanditRLProof.UCB.meanGap_le_two_realWidth_of_selectedReading 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 identity
declaration:BanditRLProof.UCB.pullCount_le_eight_scale_log_div_gap_sqReading 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 identity
declaration:BanditRLProof.UCB.realPullThresholdReading 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 identity
declaration:BanditRLProof.UCB.pullThresholdReading 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 identity
declaration:BanditRLProof.UCB.indexTailReading 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 identity
declaration:BanditRLProof.UCB.constSumReading 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 identity
declaration:BanditRLProof.UCB.selectedLargePullCountEventReading 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 identity
declaration:BanditRLProof.UCB.lowerIndexFailureReading 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 identity
declaration:BanditRLProof.UCB.upperIndexFailureReading 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 identity
declaration:BanditRLProof.UCB.selectedLargePullCountEvent_subset_lower_union_upperReading 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 identity
declaration:BanditRLProof.UCB.measure_selectedLargePullCountEvent_le_two_mul_indexTailReading 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 identity
declaration:BanditRLProof.UCB.lintegral_selectedLargePullCount_indicator_sum_le_two_mul_constSumReading 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 identity
declaration:BanditRLProof.UCB.lintegral_natCast_pullCount_armStreamAction_le_threshold_add_two_mul_constSumReading 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 identity
declaration:BanditRLProof.UCB.indexTail_ne_topReading 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 identity
declaration:BanditRLProof.UCB.constSum_ne_topReading 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 identity
declaration:BanditRLProof.UCB.integrable_real_pullCount_armStreamActionReading 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 identity
declaration:BanditRLProof.UCB.integral_real_pullCount_armStreamAction_le_threshold_add_two_mul_constSumReading 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 identity
declaration:BanditRLProof.UCB.pullThreshold_cast_le_realPullThreshold_add_twoReading 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 identity
declaration:BanditRLProof.UCB.integral_real_pullCount_armStreamAction_le_realThreshold_add_two_add_two_mul_constSumReading 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 identity
declaration:BanditRLProof.UCB.integral_realKernelRegret_armStreamAction_le_sum_gap_mul_realThreshold_add_two_add_two_mul_constSumReading 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 identity
declaration:BanditRLProof.UCB.integral_realKernelRegret_armStreamAction_le_lml_sumReading 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 identity
declaration:BanditRLProof.UCB.measurable_armStreamActionTraceReading 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 identity
declaration:BanditRLProof.UCB.measurable_realKernelRegret_actionTraceReading 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 identity
declaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_armStreamActionReading 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 identity
declaration:BanditRLProof.UCB.identDistrib_action_armStreamAction_of_identDistrib_armStreamReading 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 identity
declaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_armStreamReading 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 identity
declaration:BanditRLProof.UCB.identDistrib_action_of_identDistrib_actionRewardTraceReading 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 identity
declaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_identDistrib_actionRewardTraceReading 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 identity
declaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_common_actionReward_condDistribReading 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 identity
declaration:BanditRLProof.UCB.identDistrib_actionRewardTrace_of_condDistrib_eq_armStreamReading 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 identity
declaration:BanditRLProof.UCB.identDistrib_actionRewardTrace_of_split_condDistrib_eq_armStreamReading 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 identity
declaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_split_condDistrib_eq_armStreamReading 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 identity
declaration:BanditRLProof.UCB.integral_realKernelRegret_externalAction_le_lml_sum_of_condDistrib_eq_armStreamReading 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))