Provedattentionversion-9finite-lawconstructible-state
Direct stored channel and member positions preserve the complete finite history
For all , , , , , , , and , if (given 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. (
ℕ) - x ∈ TVariables
- n, d range over natural numbers: the statement must hold for every choice. (
(n d : ℕ)) - Type
- Type: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Type) - ·Multiplication
- Type times . (
Type*) - NormedAddCommGroup
- NormedAddCommGroup: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
NormedAddCommGroup) - f(x)Function application
- NormedAddCommGroup applied to E. Lean writes f x; papers write f(x). (
NormedAddCommGroup E) - InnerProductSpace
- InnerProductSpace: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
InnerProductSpace) - Key
- Key: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Key) - 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) - ⟹Implies
- If Fin(n), then Key(d). (Between types, A → B is the type of functions from A to B.) (
Fin n → Key d) - <Less than
- 0 is strictly smaller than n. (
0<n) - Row
- Row: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Row) - =Equality
- sum(univ, z ↦ rejectionWeight(indexedChannelWeight(A, q, w… and sum(univ, z ↦ rejectionWeight(surrogateProposal(reference(… are the same. (
(Finset.sum Finset.univ (fun z : Path (…) - sum
- Finset.sum: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Finset.sum) - ×Product
- Pairs of an element of Row(d, E) and an element of Bool. (
Row d E × Bool) - univ
- Finset.univ: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Finset.univ) - 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) - Path
- Path: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Path) - ChannelDraw
- ChannelDraw: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
ChannelDraw) - rejectionWeight
- rejectionWeight: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
rejectionWeight) - indexedChannelWeight
- indexedChannelWeight: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
indexedChannelWeight) - x ↦ f(x)Function (λ-abstraction)
- The function sending j to accept(indexedRow(A, w, k, v, j.2)). Lean writes fun x => …; papers write x ↦ …. (
fun j => accept (indexedRow A w k v j.2)) - indexedRow
- indexedRow: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
indexedRow) - p₁Component
- The second component of the pair j. (
j.2) - (a, b)Tuple
- The ordered pair (or tuple) of 1.2(indexedRow(A, w, k, v, z(i))), z(i).2. (
(indexedRow A w k v (z i).1.2,(z i).2)) - e.f1.2
- 1.2 of indexedRow(A, w, k, v, z(i)): Lean's dot notation e.1.2 means 1.2 applied to e. (
indexedRow A w k v (z i).1.2) - surrogateProposal
- surrogateProposal: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
surrogateProposal) - reference
- reference: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
reference) - surrogate
- surrogate: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
surrogate) - (x : T)Type ascription
- ⟨k(j), v(j)⟩ read as a Row(d, E). Mathematicians leave this implicit; Lean needs it to know which kind of number is meant. (
(⟨k j,v j⟩ : Row d E)) - ⟨a, b⟩Anonymous constructor
- Builds a structure (a pair, a subtype element, …) from k(j), v(j). (
⟨k j,v j⟩)
theorem attention-v9-indexed-channel-history {n d : ℕ} {E : Type*} [NormedAddCommGroup E] [InnerProductSpace ℝ E] (A q : Key d) (w : ℝ) (k : Fin n → Key d)
(v : Fin n → E) (hn : 0<n) (accept : Row d E → ℝ)
(m : ℕ) (f : (Fin m → Row d E × Bool) → ℝ) :
( (Finset.sum Finset.univ (fun z : Path (ChannelDraw A w k v) m =>
rejectionWeight (indexedChannelWeight A q w k v)
(fun j => accept (indexedRow A w k v j.2)) m z *
f (fun i => (indexedRow A w k v (z i).1.2,(z i).2)))) =
Finset.sum Finset.univ (fun z : Path (Fin n) m =>
rejectionWeight (surrogateProposal (reference A q w k v) (surrogate A q w k))
(fun j => accept (⟨k j,v j⟩ : Row d E)) m z *
f (fun i => (⟨k (z i).1,v (z i).1⟩,(z i).2))))Version 9 exact frozen target. Proof references the validated additive definition library. This mathematical finite-law/invariant target does not certify compiled Rust RAM runtime or the general linear-summary LP bridge.
How it was proved
- Proved
- 7 October 2026
- By
- Ajax
- 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.