proofs
Provedsampleability-lawtile-proposalgpuchi-square

Tile marginalization data processing for the chi-square cost factor

For all J,T∈Type⁡\htmlData{mx=1}{J, T \in \htmlData{mx=0}{\operatorname{Type}}}, tile:J→T\htmlData{mx=3}{\mathit{tile} : \htmlData{mx=0}{J} \mathrel{\htmlData{mx=2}{\to}} \htmlData{mx=1}{T}} and π,r:J→R\htmlData{mx=3}{\pi, r : \htmlData{mx=0}{J} \mathrel{\htmlData{mx=2}{\to}} \htmlData{mx=1}{\mathbb{R}}}, if ∀j, 0<r(j)\htmlData{mx=4}{\forall j,\ 0 \mathrel{\htmlData{mx=3}{<}} \htmlData{mx=2}{\htmlData{mx=0}{r}(\htmlData{mx=1}{j})}} (given Fintype⁡ J\htmlData{mx=2}{\htmlData{mx=0}{\operatorname{Fintype}}\,\htmlData{mx=1}{J}}, Fintype⁡ T\htmlData{mx=2}{\htmlData{mx=0}{\operatorname{Fintype}}\,\htmlData{mx=1}{T}} and DecidableEq⁡ T\htmlData{mx=2}{\htmlData{mx=0}{\operatorname{DecidableEq}}\,\htmlData{mx=1}{T}}), then

∑t(∑j∈filter⁡(j↦tile(j)=t)π(j))2∑j∈filter⁡(j↦tile(j)=t)r(j)≤∑jπ(j)2r(j)\htmlData{mx=26}{\sum_{t} \htmlData{mx=25}{\frac{\htmlData{mx=12}{\left(\htmlData{mx=11}{\sum_{j \in \htmlData{mx=7}{\htmlData{mx=0}{\operatorname{filter}}(\htmlData{mx=6}{j \mapsto \htmlData{mx=3}{\htmlData{mx=1}{\mathit{tile}}(\htmlData{mx=2}{j})} \mathrel{\htmlData{mx=5}{=}} \htmlData{mx=4}{t}})}} \htmlData{mx=10}{\htmlData{mx=8}{\pi}(\htmlData{mx=9}{j})}}\right)^{2}}}{\htmlData{mx=24}{\sum_{j \in \htmlData{mx=20}{\htmlData{mx=13}{\operatorname{filter}}(\htmlData{mx=19}{j \mapsto \htmlData{mx=16}{\htmlData{mx=14}{\mathit{tile}}(\htmlData{mx=15}{j})} \mathrel{\htmlData{mx=18}{=}} \htmlData{mx=17}{t}})}} \htmlData{mx=23}{\htmlData{mx=21}{r}(\htmlData{mx=22}{j})}}}}} \mathrel{\htmlData{mx=36}{\leq}} \htmlData{mx=35}{\sum_{j} \htmlData{mx=34}{\frac{\htmlData{mx=30}{\htmlData{mx=29}{\htmlData{mx=27}{\pi}(\htmlData{mx=28}{j})}^{2}}}{\htmlData{mx=33}{\htmlData{mx=31}{r}(\htmlData{mx=32}{j})}}}}
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)
x ∈ TVariables
J, T range over Type: the statement must hold for every choice. ((J T : 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 J. Lean writes f x; papers write f(x). (Fintype J)
DecidableEq
DecidableEq: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (DecidableEq)
⟹Implies
If J, then T. (Between types, A → B is the type of functions from A to B.) (J → T)
x : TVariables
π, r range over J → ℝ: the statement must hold for every choice. ((π r : J → ℝ))
∀For all
The statement after the comma holds for every j. (∀ j, 0 < r j)
≤At most
∑ t, (∑ j, π(j))^2/(∑ j, r(j)) is less than or equal to ∑ j, π(j)^2/r(j). (∑ t, (∑ j ∈ Finset.univ.filter (fun j =…)
RReal numbers
The real numbers: every point on the number line. (ℝ)
<Less than
0 is strictly smaller than r(j). (0 < r j)
aᵇPower
∑ j, π(j) raised to the power 2. ((∑ j ∈ Finset.univ.filter (fun j => til…)
a/bDivision
(∑ j, π(j))^2 divided by ∑ j, r(j). In Lean, dividing by 0 gives 0. ((∑ j ∈ Finset.univ.filter (fun j => til…)
∑Summation
Add up π(j) for each j in filter(j ↦ tile(j) = t). (∑ j ∈ Finset.univ.filter (fun j => tile…)
filter
Finset.univ.filter: 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.filter)
x ↦ f(x)Function (λ-abstraction)
The function sending j to tile(j) = t. Lean writes fun x => …; papers write x ↦ …. (fun j => tile j = t)
=Equality
tile(j) and t are the same. (tile j = t)
πPi
The ratio of a circle's circumference to its diameter, ≈ 3.14159. (π)

Verified inequality concerns marginal target and proposal masses over a partition. It does not price within-tile computation or key sampling, and does not resolve GPU access efficiency. Uniform within-tile selection changes the proposal and can increase the full factor. Exact tile aggregation requires all tile scores and value reads to be charged.

How it was proved

Proved
5 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
12 lines of Lean
Sign in to see the proofThe proof, its signed report and its history.

More proved statements