Surjectivity of T via the balance forest β (Part II of the bijection). #
For a level-canonical (d-1)-subset U ⊆ ZMod (d*m), the balance forest β(U) is the
explicit critical portrait with T(β(U)) = U — the discriminating section property (a wrong
parent rule fails this). Construction (paper Part II / bare-Lean betaParent):
- For a survivor
u(fiberφ = u.val % m, levellu = u.val / m) and levelk, the deficiency isD(k) = S(φ+k·m, u) − (lu−k−1)whereS(x,y) = #{t∈U : x<t.val<y}(Scount). betaK U uis the largestk ≤ lu−1withD(k)=0(Nat.findGreatest);betaParent U uis the fiber-φpoint at levelbetaK.β(U)(beta) is the set of connected components (betaBlock) of the parent edges(v*(u),u), recovered viaRelation.ReflTransGenof the adjacency relationbAdj. Each block'sminValis its non-Uroot (betaRoot); the survivors of each block are exactly itsU-points.
PROVED (sorry-free, axioms ⊆ {propext, Classical.choice, Quot.sound}):
discrete_ivt— discrete IVT viaNat.findGreatest;exists_balance(E) +betaK_max(M2).Defc_pos_after— M2 strict positivity (the prefix/GPRE bound): the deficiency is> 0strictly past the balance index (a second use of the discrete IVT, on[j, lu-1]).betaParent_inj(I, parent injectivity, via the deficiency additive split + maximality).T_beta—T(β(U)) = U(the load-bearing, discriminating spec).betaBlock_critical(IsCriticalSet per block),beta_pairwise_disjoint,beta_weight(∑(|S|−1)=d−1) — three of the fourPortraitconjuncts.beta_unlinked(N) is REDUCED tobeta_interval_closedand PROVED from it.
NOW FULLY PROVED (no remaining sorry):
beta_interval_closed— the geometric heart of N: a point of one block strictly inside another block's.val-span forces the whole block inside. Proved via the no-escape propertyP(noEscape, a second discrete IVT on ψ-points anchored by theQdeficiency bound, with theGPREprefix bound andN0window lemma; theψ ≥ φ / ψ < φfiber split is handled bysep_master), then the laminarity bridge (root_ge,descend_cross) turnsPinto the two-sided.val-span containment usingbetaBlock_disjoint. Downstream (beta_unlinked,beta_portrait,T_surjOn) is therefore complete: SURJECTIVITY ofT(alld) is proved. Axioms:{propext, Classical.choice, Quot.sound}(nosorryAx, nonative_decide).
Layer 0: discrete IVT via Nat.findGreatest. #
Layer 1: Scount and the deficiency. #
The integer deficiency of survivor u (column φ, level lu) at index k:
D(k) = Scount U (φ + k*m) u.val − (lu − k − 1).
Equations
- CriticalPortraits.Defc U φ lu uval k = ↑(CriticalPortraits.Scount U (φ + k * m) uval) - (↑lu - ↑k - 1)
Instances For
Layer 2: existence of a balance index. #
Existence (E). For a survivor u of a canonical U with level ≥ 1, some balance index
k ≤ lu-1 has deficiency 0.
The largest balance index K of survivor u (the highest balance parent's level).
Equations
- CriticalPortraits.betaK U u = Nat.findGreatest (fun (k : ℕ) => CriticalPortraits.Defc U (u.val % m) (u.val / m) u.val k = 0) (u.val / m - 1)
Instances For
The parent point: the ZMod element at betaParentVal.
Equations
Instances For
betaParent's .val is exactly betaParentVal (round-trips since it is < d*m).
Layer 4: adjacency, reachability, and blocks as components. #
The adjacency relation (symmetrized parent step).
Equations
- CriticalPortraits.bAdj U a b = (CriticalPortraits.bEdge U a b ∨ CriticalPortraits.bEdge U b a)
Instances For
Reachability: the reflexive-transitive closure of adjacency.
Equations
- CriticalPortraits.bReach U a b = Relation.ReflTransGen (CriticalPortraits.bAdj U) a b
Instances For
The active vertices of β(U): the survivors and their balance parents.
Equations
Instances For
The block of a point x: everything in bVerts U reachable from x.
Equations
- CriticalPortraits.betaBlock U x = {y ∈ CriticalPortraits.bVerts U | decide (CriticalPortraits.bReach U x y) = true}
Instances For
The balance forest β(U): the connected components of the parent edges.
Equations
Instances For
Layer 5: structural facts. #
Layer 6: Scount additivity and parent injectivity (I). #
Scount split through an interior U-point w: if x < w.val < y and w ∈ U, then
Scount U x y = Scount U x w.val + 1 + Scount U w.val y.
Injectivity (I). The parent map is injective on survivors of canonical U.
Layer 7: the root function (descend to the non-U sink). #
One descent step: parent if a survivor (level ≥ 1), else stay.
Equations
- CriticalPortraits.bStep U x = if _hx : x ∈ U then CriticalPortraits.betaParent U x else x
Instances For
The root of x: iterate bStep until a non-U point. Well-founded on .val.
Equations
- CriticalPortraits.betaRoot hd hm hcanon x = if _hx : x ∈ U then CriticalPortraits.betaRoot hd hm hcanon (CriticalPortraits.betaParent U x) else x
Instances For
Layer 8: block membership and the min = root. #
Layer 9: T(β U) = U. #
Layer 10: β U is a Portrait — IsCriticalSet per block. #
Each block is a critical set.
Layer 11: blocks determined by reachability; Disjoint. #
Layer 12: the weight identity ∑(|S|-1) = d-1. #
Layer 12b: M2 strict positivity past the balance index (the prefix bound). #
M2 strict positivity. For a survivor u of canonical U and betaK U u < j ≤ lu-1,
the deficiency at j is strictly positive. If it were ≤ 0, then since D(lu-1) ≥ 0 (E1)
and up-steps are ≤ 1, the discrete IVT on [j, lu-1] yields an exact zero > K,
contradicting maximality betaK_max.
Layer 12c: the no-escape property P and the laminarity bridge to interval-closure. #
GPRE prefix bound. For a survivor u of canonical U, with K := betaK U u and a
φ-column index j with K < j ≤ lu, the survivor count from v*(u) up to the φ-point at
level j is at most j - K - 1.
N0. No survivor lies strictly inside one column-window above an edge bottom:
there is no t ∈ U with v*(u) < t.val < v*(u) + m.
Q (the deficiency-sign anchor). For an edge (v,u) = (v*(u), u) and an interior survivor
s (fiber ψ), if y = ψ + ly*m is the ψ-point in [v, v+m), then the deficiency of s
at level ly is ≤ 0.
P (no escape). For an edge (v,u) = (v*(u), u) of canonical U and an interior survivor
s (v < s.val < u.val), the balance parent of s does not escape below v:
v*(u).val ≤ v*(s).val.
The root stays above the edge bottom: for an edge (v,u) and any vertex w strictly
inside its val-interval, the root of w has val ≥ v.
Descend across a threshold. If w is a vertex with betaRoot w ≤ L < w.val,
then descending
the parent chain crosses L: some survivor b reachable from w has
v*(b).val ≤ L < b.val.