Lean module · Foundations
BanditRLProof.Algorithms.HOOTree
Finite implementation of the infinite HOO binary-tree search. Fuel is an implementation device; the depth proofs show it cannot truncate the search.
Module map
Imports
No project-local imports.
Imported by
BanditRLProof.Algorithms.HOOHistory, BanditRLProof.HOOGeometry
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
abbrev
BanditRLProof.HOO.Node
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.HOO.NodeReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
abbrev Node
def
BanditRLProof.HOO.child
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.HOO.childReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def child (v : Node) (b : Bool) : Node
theorem
BanditRLProof.HOO.child_length
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.HOO.child_lengthReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
@[simp] theorem child_length (v : Node) (b : Bool) : (child v b).length = v.length + 1
theorem
BanditRLProof.HOO.prefix_child
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.HOO.prefix_childReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem prefix_child (v : Node) (b : Bool) : v <+: child v b
def
BanditRLProof.HOO.depthBound
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.HOO.depthBoundReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def depthBound (S : Finset Node) : ℕ
theorem
BanditRLProof.HOO.length_le_depthBound
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.HOO.length_le_depthBoundReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem length_le_depthBound {S : Finset Node} {v : Node} (hv : v ∈ S) : v.length ≤ depthBound S
theorem
BanditRLProof.HOO.not_mem_of_depth_lt
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.HOO.not_mem_of_depth_ltReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem not_mem_of_depth_lt {S : Finset Node} {v : Node} (hv : depthBound S < v.length) : v ∉ S
def
BanditRLProof.HOO.backward
Compiled
Unexpanded nodes have infinity; expanded nodes use the source min/max rule.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.HOO.backwardReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def backward (S : Finset Node) (U : Node → WithTop ℝ) : ℕ → Node → WithTop ℝ | 0, _ => ⊤ | k+1, v => if v ∈ S then min (U v) (max (backward S U k (child v false)) (backward S U k (child v true))) else ⊤ theorem backward_not_mem (S : Finset Node) (U : Node → WithTop ℝ) (k : ℕ) (v : Node) (hv : v ∉ S) : backward S U k v = ⊤
theorem
BanditRLProof.HOO.backward_not_mem
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.HOO.backward_not_memReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem backward_not_mem (S : Finset Node) (U : Node → WithTop ℝ) (k : ℕ) (v : Node) (hv : v ∉ S) : backward S U k v = ⊤
theorem
BanditRLProof.HOO.backward_stable_succ
Compiled
Increasing already sufficient fuel has no effect on B.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.HOO.backward_stable_succReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem backward_stable_succ (S : Finset Node) (U : Node → WithTop ℝ) (k : ℕ) (v : Node) (hk : depthBound S < v.length + k) : backward S U (k+1) v = backward S U k v
def
BanditRLProof.HOO.bValue
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.HOO.bValueReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def bValue (S : Finset Node) (U : Node → WithTop ℝ) (v : Node) : WithTop ℝ
theorem
BanditRLProof.HOO.bValue_not_mem
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.HOO.bValue_not_memReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem bValue_not_mem (S : Finset Node) (U : Node → WithTop ℝ) (v : Node) (hv : v ∉ S) : bValue S U v = ⊤
theorem
BanditRLProof.HOO.bValue_eq
Compiled
The actual finite computation satisfies the exact recursive B equation.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.HOO.bValue_eqReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem bValue_eq (S : Finset Node) (U : Node → WithTop ℝ) (v : Node) (hv : v ∈ S) : bValue S U v = min (U v) (max (bValue S U (child v false)) (bValue S U (child v true)))
def
BanditRLProof.HOO.preferred
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.HOO.preferredReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def preferred (B : Node → WithTop ℝ) (v : Node) : Bool
theorem
BanditRLProof.HOO.preferred_max
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.HOO.preferred_maxReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem preferred_max (B : Node → WithTop ℝ) (v : Node) : B (child v (preferred B v)) = max (B (child v false)) (B (child v true))
def
BanditRLProof.HOO.walk
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.HOO.walkReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def walk (S : Finset Node) (B : Node → WithTop ℝ) : ℕ → Node → Node | 0, v => v | k+1, v => if v ∈ S then walk S B k (child v (preferred B v)) else v theorem walk_not_mem (S : Finset Node) (B : Node → WithTop ℝ) (k : ℕ) (v : Node) (hk : depthBound S < v.length + k) : walk S B k v ∉ S
theorem
BanditRLProof.HOO.walk_not_mem
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.HOO.walk_not_memReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem walk_not_mem (S : Finset Node) (B : Node → WithTop ℝ) (k : ℕ) (v : Node) (hk : depthBound S < v.length + k) : walk S B k v ∉ S
theorem
BanditRLProof.HOO.prefix_walk
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.HOO.prefix_walkReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem prefix_walk (S : Finset Node) (B : Node → WithTop ℝ) (k : ℕ) (v : Node) : v <+: walk S B k v
theorem
BanditRLProof.HOO.walk_length_le
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.HOO.walk_length_leReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem walk_length_le (S : Finset Node) (B : Node → WithTop ℝ) (k : ℕ) (v : Node) : (walk S B k v).length ≤ v.length + k
def
BanditRLProof.HOO.select
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.HOO.selectReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def select (S : Finset Node) (U : Node → WithTop ℝ) : Node
theorem
BanditRLProof.HOO.select_not_mem
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.HOO.select_not_memReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem select_not_mem (S : Finset Node) (U : Node → WithTop ℝ) : select S U ∉ S
theorem
BanditRLProof.HOO.select_length_le
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.HOO.select_length_leReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem select_length_le (S : Finset Node) (U : Node → WithTop ℝ) : (select S U).length ≤ depthBound S + 1
theorem
BanditRLProof.HOO.bValue_le_walk
Compiled
The recursive optimistic value cannot decrease along the selected path.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.HOO.bValue_le_walkReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem bValue_le_walk (S : Finset Node) (U : Node → WithTop ℝ) (k : ℕ) (v : Node) : bValue S U v ≤ bValue S U (walk S (bValue S U) k v)