Provedalphabaguettebaguette-zschedule
Int64 headroom: 2¹⁶ terms of magnitude ≤ 2⁴⁰ sum to at most 2⁵⁶ < 2⁶³
For all , if , then
What the notation means · or point at any symbol
- 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) - f(x)Function application
- Fin applied to 65536. Lean writes f x; papers write f(x). (
Fin 65536) - ⟹Implies
- If Fin(65536), then ℤ. (Between types, A → B is the type of functions from A to B.) (
Fin 65536 → ℤ) - ∀For all
- The statement after the comma holds for every i. (
∀ i, |q i| ≤ 2 ^ 40) - ∧And
- Both hold: |∑ i, q(i)| ≤ 2^56, and 2^56 < 2^63. (
|∑ i, q i| ≤ 2 ^ 56 ∧ (2:ℤ) ^ 56 < 2 ^ …) - ∑Summation
- Add up q(i) for every i. (
∑ i, q i) - |x|Absolute value
- The size of q(i) without its sign. (
|q i|) - ≤At most
- |q(i)| is less than or equal to 2^40. (
|q i| ≤ 2 ^ 40) - ZIntegers
- The integers …, −2, −1, 0, 1, 2, …. (
ℤ) - aᵇPower
- 2 raised to the power 40. (
2 ^ 40) - (x : T)As integers
- 2 read as an element of integers. Mathematicians leave this implicit; Lean needs it to know which kind of number is meant. (
(2:ℤ)) - <Less than
- 2^56 is strictly smaller than 2^63. (
(2:ℤ) ^ 56 < 2 ^ 63)
theorem bz-int64-headroom (q : Fin 65536 → ℤ) (h : ∀ i, |q i| ≤ 2 ^ 40) :
|∑ i, q i| ≤ 2 ^ 56 ∧ (2:ℤ) ^ 56 < 2 ^ 63Baguette's largest reductions have at most 65,536 terms (vocabulary rows, or 4,096 keys × 9 heads ≤ 2¹⁶). With per-term codes bounded by 2⁴⁰, an int64 accumulator cannot overflow in any order. Part of the plan 'Baguette-Z: closed-loop certified integer-state training'.
How it was proved
- Proved
- 3 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
- 17 lines of Lean
Sign in to see the proofThe proof, its signed report and its history.