Where a raw rich chip actually lands on a closed face #
RichChipDecoder turns the raw (slot, form, coefficient) triples into a
divisor by evaluating each form and reading off pathVertex. RichChipBridge
identifies the physical mass at a coordinate with the checker's syntactic
first-match accounting. What is still missing between them is purely the
closed-face trichotomy: which coordinate of which slot is which vertex.
That is this module. It has no arithmetic content; it is the pathVertex
case split (0 / length / interior) pushed through rawChipDivisor_apply.
The one place it is not a triviality is the head mass on a collapsed slot.
When length e = 0 the two endpoints of the slot are the same vertex, so
adding a tail term and a head term would count a chip there twice.
headMassAdj suppresses the head term exactly there; RichChipBridge's
rawChipMassAt_eq_zero_of_coord_eq_zero says the suppressed value was 0
anyway, so nothing is lost.
Vertex identities on a degenerate subdivision #
Path vertices are determined by slot and position. This tiny lemma is the
only place the dependency of PathPosition on the slot has to be substituted
away.
On its own slot, the path vertex one past an interior offset is that interior vertex.
Conversely, a path vertex which is an interior vertex names its own slot and offset.
The core-class half of the same trichotomy.
The evaluated decoder, resolved #
Every raw chip of an accepted rich leaf evaluates into the closed interval of its own slot. This is the hypothesis both placement lemmas need in order to remove the total decoder's clamp.
The decoded vertex of an in-range chip is the literal path vertex of its evaluated coordinate.
Placement at an interior vertex #
The interior chip coefficient. On a closed face the decoded raw chip divisor at an interior vertex is exactly the physical chip mass of that slot at that coordinate.
Placement at a core class #
The head-side physical chip mass, suppressed on a collapsed slot.
On a slot of length 0 the two displayed endpoints are the same vertex, so a
tail term and a head term would double count. By
RichChipBridge.rawChipMassAt_eq_zero_of_coord_eq_zero an accepted rich leaf
has no chip on such a slot at all, so the suppressed value is 0; the if is
what makes that visible without a hypothesis.
Equations
- Utilities.Subdivision.ClosedRowProof.RichWitness.headMassAdj d w x e = if d.length e = 0 then 0 else w.rawChipMassAt x ↑e ↑(d.length e)
Instances For
The core-class chip coefficient. On a closed face the decoded raw chip divisor at a contracted core class is the sum, over slots, of the two endpoint masses of the slots whose endpoints lie in the class.