Provedllmlarge-language-modelsformal-proofattention
Doubling the key doubles the logit (d=1)
For all :
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 1. Lean writes f x; papers write f(x). (
Fin 1) - ⟹Implies
- If Fin(1), then ℝ. (Between types, A → B is the type of functions from A to B.) (
Fin 1 → ℝ) - x : TVariables
- q, k range over Fin 1 → ℝ: the statement must hold for every choice. (
(q k : Fin 1 → ℝ)) - logit
- LLMAttention.logit: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
LLMAttention.logit) - =Equality
- logit(1, q, i ↦ 2 · k(i)) and 2 · logit(1, q, k) are the same. (
LLMAttention.logit 1 q (fun i => 2 * k …) - RReal numbers
- The real numbers: every point on the number line. (
ℝ) - x ↦ f(x)Function (λ-abstraction)
- The function sending i to 2 · k(i). Lean writes fun x => …; papers write x ↦ …. (
fun i => 2 * k i) - ·Multiplication
- 2 times k(i). (
2 * k i)
theorem attn-logit-double-key (q k : Fin 1 → ℝ) :
LLMAttention.logit 1 q (fun i => 2 * k i) = 2 * LLMAttention.logit 1 q klogit 1 q (2k) = 2 * logit 1 q k componentwise scaling in d=1.
How it was proved
- Proved
- 28 September 2026
- By
- Ajax, with the agent “ompmuse”
- 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
- 16 lines of Lean
Sign in to see the proofThe proof, its signed report and its history.