Lean module · Foundations
BanditRLProof.LowerBounds.HuffmanAlphabet
Generated source map for this Lean module.
Module map
Imports
BanditRLProof.LowerBounds.HuffmanStep
Imported by
BanditRLProof, BanditRLProof.LowerBounds.HuffmanConstruction
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
theorem
BanditRLProof.LowerBounds.expectedCodeLength_relabel
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 identity
declaration:BanditRLProof.LowerBounds.expectedCodeLength_relabelReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem expectedCodeLength_relabel {α β : Type*} [Fintype α] [Fintype β] (p : α → ℝ) (code : BinaryPrefixCode α) (e : β ≃ α) : expectedCodeLength (p ∘ e) (code.relabel e) = expectedCodeLength p code
theorem
BanditRLProof.LowerBounds.IsOptimalPrefixCode.relabel
Compiled
Global optimality is independent of the names of the alphabet symbols.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.LowerBounds.IsOptimalPrefixCode.relabelReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem IsOptimalPrefixCode.relabel {α β : Type*} [Fintype α] [Fintype β] (p : α → ℝ) (code : BinaryPrefixCode α) (e : β ≃ α) (hopt : IsOptimalPrefixCode p code) : IsOptimalPrefixCode (p ∘ e) (code.relabel e)
def
BanditRLProof.LowerBounds.HuffmanRemainder
Compiled
The unmerged symbols, retaining their original labels.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.LowerBounds.HuffmanRemainderReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def HuffmanRemainder {α : Type*} (a b : α)
def
BanditRLProof.LowerBounds.huffmanSplitEquiv
Compiled
Separate two selected symbols as the false and true leaves.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.LowerBounds.huffmanSplitEquivReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def huffmanSplitEquiv {α : Type*} [DecidableEq α] (a b : α) (hab : a ≠ b) : HuffmanRemainder a b ⊕ Bool ≃ α where
theorem
BanditRLProof.LowerBounds.huffmanSplitEquiv_false
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 identity
declaration:BanditRLProof.LowerBounds.huffmanSplitEquiv_falseReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
@[simp] theorem huffmanSplitEquiv_false {α : Type*} [DecidableEq α] (a b : α) (hab : a ≠ b) : huffmanSplitEquiv a b hab (.inr false) = a
theorem
BanditRLProof.LowerBounds.huffmanSplitEquiv_true
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 identity
declaration:BanditRLProof.LowerBounds.huffmanSplitEquiv_trueReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
@[simp] theorem huffmanSplitEquiv_true {α : Type*} [DecidableEq α] (a b : α) (hab : a ≠ b) : huffmanSplitEquiv a b hab (.inr true) = b
theorem
BanditRLProof.LowerBounds.huffman_merged_card_lt
Compiled
Merging two distinct symbols reduces the recursive alphabet size by one.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.LowerBounds.huffman_merged_card_ltReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem huffman_merged_card_lt {α : Type*} [Fintype α] [DecidableEq α] (a b : α) (hab : a ≠ b) : Fintype.card (Option (HuffmanRemainder a b)) < Fintype.card α
theorem
BanditRLProof.LowerBounds.exists_two_least_weights
Compiled
A finite nontrivial alphabet has two least weights, including ties.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.LowerBounds.exists_two_least_weightsReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem exists_two_least_weights {α : Type*} [Fintype α] [DecidableEq α] [Nontrivial α] (p : α → ℝ) : ∃ a b, a ≠ b ∧ (∀ i, p a ≤ p i) ∧ (∀ i, i ≠ a → p b ≤ p i)