Run merging and the paper's chain weight #
This file connects the list-level run-merging API to the exact adjacent-index product used in Propositions 5.7 and 5.9. It verifies the observation before paper (5.35): merging a constant run does not change the inverse-square chain weight, because every removed internal edge has weight one.
The left endpoint associated with an index in a chain of length m.
Equations
- Anderson4D.chainLeftIndex i = ⟨↑i, ⋯⟩
Instances For
def
Anderson4D.indexedChainProduct
{α : Type u_1}
{R : Type u_2}
[CommMonoid R]
{m : ℕ}
(edge : α → α → R)
(w : Fin m → α)
:
R
Fin-indexed form of a consecutive-edge product.
Equations
- Anderson4D.indexedChainProduct edge w = ∏ i : Fin m.pred, edge (w (Anderson4D.chainLeftIndex i)) (w (Anderson4D.chainRightIndex i))
Instances For
theorem
Anderson4D.listChainProduct_ofFn
{α : Type u_1}
{R : Type u_2}
[CommMonoid R]
{m : ℕ}
(edge : α → α → R)
(w : Fin m → α)
:
List and Fin-indexed consecutive-edge products agree.
The paper's adjacency-index carrier is canonically Fin (m-1).
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Anderson4D.latticePointChainProduct_mergeEqualRuns
{α : Type u_1}
[DecidableEq α]
(z : α → Fin 4 → ℤ)
(l : List α)
:
Exact weight invariance under merging all adjacent equal leaves.
theorem
Anderson4D.latticeChainProduct_mergeLetterRuns
{α : Type u_1}
[DecidableEq α]
(z : α → Fin 4 → ℤ)
(l : List α)
:
Paper (5.35): merge equal leaf letters first, then evaluate their lattice locations. The inverse-square chain weight is unchanged.