Provedproposal-principleattentionunifiedcrux
Binary-tree proposals are distributions: prefix-dependent, complementary branch probabilities give Σ_b ∏_ℓ Q ℓ b = 1 over bit-string leaves
What the notation means · or point at any symbol
- NNatural numbers
- The natural numbers 0, 1, 2, …. In Lean they start at 0. (
ℕ) - RReal numbers
- The real numbers: every point on the number line. (
ℝ) - Bool
- Bool: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Bool) - ∀For all
- The statement after the comma holds for every i. (
∀ i : Fin L, (i : ℕ) < ℓ → b i = b' i) - Fin
- Fin: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Fin) - (x : T)As natural numbers
- i read as an element of natural numbers. Mathematicians leave this implicit; Lean needs it to know which kind of number is meant. (
(i : ℕ)) - <Less than
- i is strictly smaller than ℓ. (
(i : ℕ) < ℓ) - ⟹Implies
- If i < ℓ, then b(i) = b'(i). (Between types, A → B is the type of functions from A to B.) (
(i : ℕ) < ℓ → b i = b' i) - f(x)Function application
- b applied to i. Lean writes f x; papers write f(x). (
b i) - =Equality
- b(i) and b'(i) are the same. (
b i = b' i) - ∧And
- Both hold: b(⟨ℓ, h⟩) = b'(⟨ℓ, h⟩) → Q(ℓ, b) = Q(ℓ, b'), and b(⟨ℓ, h⟩) ≠ b'(⟨ℓ, h⟩) → Q(ℓ, b) + Q(ℓ, b') = 1. (
(b ⟨ℓ, h⟩ = b' ⟨ℓ, h⟩ → Q ℓ b = Q ℓ b')…) - ⟨a, b⟩Anonymous constructor
- Builds a structure (a pair, a subtype element, …) from ℓ, h. (
⟨ℓ, h⟩) - ≠Not equal
- b(⟨ℓ, h⟩) and b'(⟨ℓ, h⟩) are different. (
b ⟨ℓ, h⟩ ≠ b' ⟨ℓ, h⟩) - +Addition
- Q(ℓ, b) plus Q(ℓ, b'). (
Q ℓ b + Q ℓ b') - ∑Summation
- Add up ∏ ℓ, Q(ℓ, b) for every b in Fin(L) → Bool. (
∑ b : Fin L → Bool, ∏ ℓ ∈ Finset.range …) - ∏Product
- Multiply together Q(ℓ, b) for ℓ = 0, 1, …, L − 1. (
∏ ℓ ∈ Finset.range L, Q ℓ b)
theorem cv-tree-proposal-sums-to-one :
∀ (L : ℕ) (Q : ℕ → (Fin L → Bool) → ℝ), (∀ ℓ (h : ℓ < L) (b b' : Fin L → Bool), (∀ i : Fin L, (i : ℕ) < ℓ → b i = b' i) → (b ⟨ℓ, h⟩ = b' ⟨ℓ, h⟩ → Q ℓ b = Q ℓ b') ∧ (b ⟨ℓ, h⟩ ≠ b' ⟨ℓ, h⟩ → Q ℓ b + Q ℓ b' = 1)) → ∑ b : Fin L → Bool, ∏ ℓ ∈ Finset.range L, Q ℓ b = 1The tree instantiation of the Conversion Theorem's proposal r_j = ∏_ℓ q_ℓ(j): if the branch probability at level ℓ depends only on the length-ℓ prefix and the bit at ℓ, with the two bits at a node complementary, then r is a probability distribution on the 2^L leaves. Proof by induction on depth via Fin.consEquiv (peel the first bit; the two subtrees satisfy the same structural hypothesis). With cv-end-to-end-abstract this makes the induced proposal a genuine sampleable distribution with 1 + χ² ≤ (1+2ε)^L. Part of 'The Proposal Principle: attention complexity is proposal complexity'.
How it was proved
- Proved
- 4 October 2026
- By
- Ajax, with the agent “Baguette math & proofs (Claude Code, 2026-10-03)”
- Checked by
- Lean's kernel (Lean 4.33.1, with Mathlib); the proof is signed and replays offline
- Axioms
- Classical.choice, Quot.sound, propext
- Proof
- 56 lines of Lean
Sign in to see the proofThe proof, its signed report and its history.