Provedalphabaguettenoether-checksumnorm
Checksum N1: RMSNorm's input cotangent satisfies ⟨dx, x⟩ = ε·r³·⟨v, x⟩
For all , and , if and , then
What the notation means · or point at any symbol
- NNatural numbers
- The natural numbers 0, 1, 2, …. In Lean they start at 0. (
ℕ) - <Less than
- 0 is strictly smaller than n. (
0 < n) - RReal numbers
- The real numbers: every point on the number line. (
ℝ) - 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 n. Lean writes f x; papers write f(x). (
Fin n) - ⟹Implies
- If Fin(n), then ℝ. (Between types, A → B is the type of functions from A to B.) (
Fin n → ℝ) - x : TVariables
- x, v range over Fin n → ℝ: the statement must hold for every choice. (
(x v : Fin n → ℝ)) - =Equality
- ∑ k, 1/√((∑ j, x(j)^2)/n + ε) · (v(k) − x(k)/√((∑ j, x(j)^… and ε · (1/√((∑ j, x(j)^2)/n + ε))^3 · (∑ k, v(k) · x(k)) are the same. (
∑ k, (1 / Real.sqrt ((∑ j, x j ^ 2) / n…) - √Square root
- The non-negative number whose square is (∑ j, x(j)^2)/n + ε. (
Real.sqrt ((∑ j, x j ^ 2) / n + ε)) - a/bDivision
- ∑ j, x(j)^2 divided by n. In Lean, dividing by 0 gives 0. (
(∑ j, x j ^ 2) / n) - +Addition
- (∑ j, x(j)^2)/n plus ε. (
(∑ j, x j ^ 2) / n + ε) - ∑Summation
- Add up x(j)^2 for every j. (
∑ j, x j ^ 2) - aᵇPower
- x(j) raised to the power 2. (
x j ^ 2) - -Subtraction
- v(k) minus x(k)/√((∑ j, x(j)^2)/n + ε) · ((∑ i, v(i) · (x(i)/√((∑ j, …. On ℕ, Lean's subtraction stops at 0: 2 − 5 = 0. (
v k - x k / Real.sqrt ((∑ j, x j ^ 2) /…) - ·Multiplication
- v(i) times x(i)/√((∑ j, x(j)^2)/n + ε). (
v i * (x i / Real.sqrt ((∑ j, x j ^ 2) …)
theorem nc-rmsnorm-scale-identity {n : ℕ} (hn : 0 < n) (ε : ℝ) (hε : 0 < ε) (x v : Fin n → ℝ) :
∑ k, (1 / Real.sqrt ((∑ j, x j ^ 2) / n + ε) * (v k - x k / Real.sqrt ((∑ j, x j ^ 2) / n + ε) * ((∑ i, v i * (x i / Real.sqrt ((∑ j, x j ^ 2) / n + ε))) / n))) * x k = ε * (1 / Real.sqrt ((∑ j, x j ^ 2) / n + ε)) ^ 3 * ∑ k, v k * x kFor Alpha's RMSNorm pullback dx = r·(v − z·mean(v⊙z)), z = r·x, r = (mean(x²)+ε)^(-1/2): ⟨dx, x⟩ = ε·r³·⟨v, x⟩ exactly. With ε = 0 the norm is scale-invariant and ⟨dx, x⟩ = 0. Baguette's ε = 1e-5 breaks the symmetry by a known, computable amount, so this per-row identity checks the normalization pullback kernel. Part of 'Noether checksums for Baguette's backward kernels'.
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
- 31 lines of Lean
Sign in to see the proofThe proof, its signed report and its history.