Provedattentionversion-9finite-lawconstructible-state
Built weighted member trees preserve every finite acceptance history statistic
For all , , , , , and , if (given ), then
What the notation means · or point at any symbol
- 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*) - Fintype
- Fintype: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Fintype) - f(x)Function application
- Fintype applied to C. Lean writes f x; papers write f(x). (
Fintype C) - NNatural numbers
- The natural numbers 0, 1, 2, …. In Lean they start at 0. (
ℕ) - ⟹Implies
- If C, then ℝ. (Between types, A → B is the type of functions from A to B.) (
C → ℝ) - ∀For all
- The statement after the comma holds for every ch, j. (
∀ ch j,0≤ω ch j) - 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) - RReal numbers
- The real numbers: every point on the number line. (
ℝ) - Copies
- Copies: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Copies) - =Equality
- sum(univ, z ↦ rejectionWeight(x ↦ treeJoint(h, coeff, ω, x… and sum(univ, z ↦ rejectionWeight(j ↦ sum(univ, ch ↦ coeff(ch)… 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) - ≤At most
- 0 is less than or equal to ω(ch, j). (
0≤ω ch j) - ×Product
- Pairs of an element of Copies(Bool, h) and an element of Bool. (
Copies Bool h × Bool) - 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) - 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) - 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) - 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) - x ↦ f(x)Function (λ-abstraction)
- The function sending x to treeJoint(h, coeff, ω, x.1, x.2). Lean writes fun x => …; papers write x ↦ …. (
fun x => treeJoint h coeff ω x.1 x.2) - treeJoint
- treeJoint: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
treeJoint) - p₁Component
- The first component of the pair x. (
x.1) - returned
- MassTree.returned: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
MassTree.returned) - memberTree
- memberTree: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
memberTree) - (a, b)Tuple
- The ordered pair (or tuple) of 1.2(returned(1.1(memberTree(h, ω, z(i))), z(i))), z(i).2. (
(MassTree.returned (memberTree h ω (z i…) - e.f1.2
- 1.2 of returned(1.1(memberTree(h, ω, z(i))), z(i)): Lean's dot notation e.1.2 means 1.2 applied to e. (
MassTree.returned (memberTree h ω (z i)…) - e.f1.1
- 1.1 of memberTree(h, ω, z(i)): Lean's dot notation e.1.1 means 1.1 applied to e. (
memberTree h ω (z i).1.1) - a/bDivision
- sum(univ, ch ↦ coeff(ch) · ω(ch, j)) divided by mixtureTotal(coeff, ω). In Lean, dividing by 0 gives 0. (
(Finset.sum Finset.univ (fun ch => coef…) - mixtureTotal
- mixtureTotal: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
mixtureTotal)
theorem attention-v9-tree-channel-history {C : Type*} [Fintype C] (h : ℕ) (coeff : C → ℝ) (ω : C → Copies Bool h → ℝ)
(hω : ∀ ch j,0≤ω ch j) (accept : Copies Bool h → ℝ) (m : ℕ)
(f : (Fin m → Copies Bool h × Bool) → ℝ) :
( (Finset.sum Finset.univ (fun z : Path (C × Copies Bool h) m =>
rejectionWeight (fun x => treeJoint h coeff ω x.1 x.2)
(fun x => accept (MassTree.returned (memberTree h ω x.1) x.2)) m z *
f (fun i => (MassTree.returned (memberTree h ω (z i).1.1) (z i).1.2,(z i).2)))) =
Finset.sum Finset.univ (fun z : Path (Copies Bool h) m =>
rejectionWeight (fun j => (Finset.sum Finset.univ (fun ch => coeff ch*ω ch j))/mixtureTotal coeff ω) accept m z * f z))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
- 15 lines of Lean
Sign in to see the proofThe proof, its signed report and its history.