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

Lean module · Foundations

BanditRLProof.LowerBounds.ArithmeticPrefixCode

Generated source map for this Lean module.

Module map

Declarations
5
Placeholders
0

Imports

BanditRLProof.LowerBounds.DyadicAddresses

Imported by

BanditRLProof, BanditRLProof.LowerBounds.ArithmeticZeroExtension

Declarations

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

theorem BanditRLProof.LowerBounds.arithmeticAddress_prefix_forces_eq Compiled

No declaration docstring is present; use the chapter context and exact statement below.

Used in these reading views: Bandit Book

1. Finite bandits, traces, and regret

Canonical node identitydeclaration:BanditRLProof.LowerBounds.arithmeticAddress_prefix_forces_eq

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

theorem arithmeticAddress_prefix_forces_eq {k : ℕ} (p : Fin k → ℝ) (hp : ∀ i, 0 ≤ p i) (hs : ∑ i, p i = 1) (u v : List (Fin k)) (hlen : u.length = v.length) (cu cv : List Bool) (huL : (arithmeticInterval p u).1 ≤ dyadicAddressLower cu) (huU : dyadicAddressUpper cu < (arithmeticInterval p u).2) (hvL : (arithmeticInterval p v).1 ≤ dyadicAddressLower cv) (hvU : dyadicAddressUpper cv < (arithmeticInterval p v).2) (hprefix : cu <+: cv) : u = v
theorem BanditRLProof.LowerBounds.exists_arithmeticPrefixCode Compiled

Assemble arithmetic-cell addresses into a genuine prefix code, preserving the supplied bit lengths. The width budgets are discharged by later allocation.

Used in these reading views: Bandit Book

1. Finite bandits, traces, and regret

Canonical node identitydeclaration:BanditRLProof.LowerBounds.exists_arithmeticPrefixCode

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

theorem exists_arithmeticPrefixCode {α : Type*} {k : ℕ} (p : Fin k → ℝ) (hp : ∀ i, 0 ≤ p i) (hs : ∑ i, p i = 1) (message : α → List (Fin k)) (hinj : Function.Injective message) (hlen : ∀ a b, (message a).length = (message b).length) (bits : α → ℕ) (hbudget : ∀ a, 2 * (1 / (2 : ℝ) ^ bits a) ≤ (arithmeticInterval p (message a)).2 - (arithmeticInterval p (message a)).1) : ∃ code : BinaryPrefixCode α, (∀ a, (code.encode a).length = bits a) ∧ ∀ a, (arithmeticInterval p (message a)).1 ≤ dyadicAddressLower (code.encode a) ∧ dyadicAddressUpper (code.encode a) < (arithmeticInterval p (message a)).2
def BanditRLProof.LowerBounds.arithmeticLength Compiled

One extra bit beyond strict Shannon length fits a dyadic cell inside the arithmetic interval, rather than merely meeting a Kraft budget.

Used in these reading views: Bandit Book

1. Finite bandits, traces, and regret

Canonical node identitydeclaration:BanditRLProof.LowerBounds.arithmeticLength

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

noncomputable def arithmeticLength (mass : ℝ) : ℕ
theorem BanditRLProof.LowerBounds.arithmeticLength_width_budget Compiled

No declaration docstring is present; use the chapter context and exact statement below.

Used in these reading views: Bandit Book

1. Finite bandits, traces, and regret

Canonical node identitydeclaration:BanditRLProof.LowerBounds.arithmeticLength_width_budget

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

theorem arithmeticLength_width_budget {mass : ℝ} (hm : 0 < mass) : 2 * (1 / (2 : ℝ) ^ arithmeticLength mass) < mass
theorem BanditRLProof.LowerBounds.arithmeticLength_le_information_add_two Compiled

No declaration docstring is present; use the chapter context and exact statement below.

Used in these reading views: Bandit Book

1. Finite bandits, traces, and regret

Canonical node identitydeclaration:BanditRLProof.LowerBounds.arithmeticLength_le_information_add_two

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

theorem arithmeticLength_le_information_add_two {mass : ℝ} (hm : 0 < mass) (hm1 : mass ≤ 1) : (arithmeticLength mass : ℝ) ≤ Real.log mass⁻¹ / Real.log 2 + 2