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.ArithmeticZeroExtension

Generated source map for this Lean module.

Module map

Declarations
5
Placeholders
0

Imports

BanditRLProof.LowerBounds.ArithmeticPrefixCode, BanditRLProof.LowerBounds.HuffmanConstruction

Imported by

BanditRLProof, BanditRLProof.LowerBounds.ArithmeticBlockCoding

Declarations

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

def BanditRLProof.LowerBounds.supportTaggedWord 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.supportTaggedWord

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

noncomputable def supportTaggedWord {α : Type*} (p : α → ℝ) (positive : BinaryPrefixCode {a // 0 < p a}) (fallback : BinaryPrefixCode α) (a : α) : List Bool
theorem BanditRLProof.LowerBounds.supportTaggedWord_prefixFree 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.supportTaggedWord_prefixFree

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

theorem supportTaggedWord_prefixFree {α : Type*} (p : α → ℝ) (positive : BinaryPrefixCode {a // 0 < p a}) (fallback : BinaryPrefixCode α) {a b : α} (h : supportTaggedWord p positive fallback a <+: supportTaggedWord p positive fallback b) : a = b
def BanditRLProof.LowerBounds.BinaryPrefixCode.extendZeroMass Compiled

Extend an arithmetic support code to all symbols, with a one-bit escape tag.

Used in these reading views: Bandit Book

1. Finite bandits, traces, and regret

Canonical node identitydeclaration:BanditRLProof.LowerBounds.BinaryPrefixCode.extendZeroMass

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

noncomputable def BinaryPrefixCode.extendZeroMass {α : Type*} (p : α → ℝ) (positive : BinaryPrefixCode {a // 0 < p a}) (fallback : BinaryPrefixCode α) : BinaryPrefixCode α where
theorem BanditRLProof.LowerBounds.expectedCodeLength_extendZeroMass_le Compiled

Zero-mass fallback words cost nothing in expectation. The extra support tag adds only one bit to a support code with information-plus-two length bound.

Used in these reading views: Bandit Book

1. Finite bandits, traces, and regret

Canonical node identitydeclaration:BanditRLProof.LowerBounds.expectedCodeLength_extendZeroMass_le

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

theorem expectedCodeLength_extendZeroMass_le {α : Type*} [Fintype α] (p : α → ℝ) (hp : ∀ a, 0 ≤ p a) (hs : ∑ a, p a = 1) (positive : BinaryPrefixCode {a // 0 < p a}) (fallback : BinaryPrefixCode α) (hpos : ∀ a (ha : 0 < p a), ((positive.encode ⟨a, ha⟩).length : ℝ) ≤ Real.log (p a)⁻¹ / Real.log 2 + 2) : expectedCodeLength p (positive.extendZeroMass p fallback) ≤ discreteEntropyBaseTwo Finset.univ p + 3
theorem BanditRLProof.LowerBounds.exists_zeroSafe_arithmeticCode Compiled

Arithmetic coding on the positive support, extended to every message. Only the zero-mass escape branch uses the supplied total Huffman fallback.

Used in these reading views: Bandit Book

1. Finite bandits, traces, and regret

Canonical node identitydeclaration:BanditRLProof.LowerBounds.exists_zeroSafe_arithmeticCode

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

theorem exists_zeroSafe_arithmeticCode {α : Type*} [Fintype α] {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) (q : α → ℝ) (hq : ∀ a, 0 ≤ q a) (hqs : ∑ a, q a = 1) (hmass : ∀ a, ((message a).map p).prod = q a) : ∃ positive : BinaryPrefixCode {a // 0 < q a}, (∀ a, (positive.encode a).length = arithmeticLength (q a.val)) ∧ (∀ a, (arithmeticInterval p (message a.val)).1 ≤ dyadicAddressLower (positive.encode a) ∧ dyadicAddressUpper (positive.encode a) < (arithmeticInterval p (message a.val)).2) ∧ expectedCodeLength q (positive.extendZeroMass q (huffmanCode q hq)) ≤ discreteEntropyBaseTwo Finset.univ q + 3