One-edge subdivision refinement #
An edge refinement replaces one ordered edge occurrence by two positive-length occurrences through a new bivalent core vertex. This file provides proof-carrying transport across that operation.
The fully proved part is deliberately occurrence-based:
- a bijection of subdivision vertices and a bijection of emitted unit steps,
preserving each unordered endpoint pair, produce a
LaplacianEquiv; - the canonical split core and its positive-length
SubdivisionGraph.Specare constructed without collapsing parallel slots; - the canonical split's vertex and unit-step equivalences, and the resulting
canonicalSplitLaplacianEquiv, are constructed and checked internally; OneSplitDatapackages the corresponding finite bijections for an arbitrary endpoint-sorted presentation.
Matching such a presentation to its source remains an explicit data obligation rather than treating edge ordering as definitional equality.
Occurrence-preserving graph transport #
A vertex equivalence and a bijection of emitted unit-step occurrences
induce a LaplacianEquiv when each step preserves its unordered endpoints.
The step equivalence, rather than an endpoint-pair map, retains parallel-edge
multiplicity.
Equations
- Utilities.Certificate.OneEdgeSplitRefinement.laplacianEquivOfUnorientedUnitSteps source target vertexEquiv stepEquiv unitEdge_eq = { toEquiv := vertexEquiv, num_edges_eq := ⋯ }
Instances For
Ordered endpoint preservation is the special case with no reversed slots.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Composition of two Laplacian-preserving relabelings.
Equations
Instances For
The canonical split core #
Original vertices embed below the fresh last core vertex.
Equations
- Utilities.Certificate.OneEdgeSplitRefinement.oldVertex _source vertex = vertex.castSucc
Instances For
The fresh bivalent vertex.
Equations
Instances For
Original slots embed below the fresh last edge slot.
Equations
- Utilities.Certificate.OneEdgeSplitRefinement.oldSlot _source edge = edge.castSucc
Instances For
Slot occupied by the second half of the split edge.
Equations
Instances For
Replace the named occurrence by a path through the fresh vertex. All other occurrences retain their old slots, including parallel copies.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The first half remains in the old slot and the second half occupies the new last slot.
Equations
- Utilities.Certificate.OneEdgeSplitRefinement.splitLength source split first second i = Fin.lastCases second (fun (edge : Fin p) => if edge = split then first else source.length edge) i
Instances For
Positive-length subdivision specification on the canonical split core.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Proof-carrying normalization of refinements #
Data required to connect one fixed edge refinement to its
source subdivision. stepEquiv is an equivalence of occurrences, so sorted
parallel slots remain distinct; unitEdge_eq permits endpoint orientation to
reverse.
- splitEdge : Fin p
The source edge divided into two positive segments in the expanded presentation.
- firstLength : ℕ
The positive first-segment length in the one-edge split.
- secondLength : ℕ
The positive second-segment length, whose sum with the first equals the original edge length.
The bijection between source and expanded subdivision vertices.
The bijection of unit-edge occurrences, required to match endpoints under
vertexEquivup to reversal.
Instances For
A checked one-split normalization preserves the chip-firing Laplacian.
Equations
- data.laplacianEquiv = Utilities.Certificate.OneEdgeSplitRefinement.laplacianEquivOfUnorientedUnitSteps source expanded data.vertexEquiv data.stepEquiv ⋯
Instances For
Exact edge count, obtained from the occurrence bijection itself.
A checked one-edge refinement preserves the full finite-length
transmission-existence problem after carrying both marks through the checked
vertex equivalence. This is stronger than bnExists_iff: it transports all
ASP witnesses at once, not only their Grassmannian consequences.
Canonical split of a subdivision occurrence #
The vertex map for the canonical split. On the selected subdivided path,
the new core vertex occupies path position first; all other positions keep
their evident old-slot names.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The inverse of canonicalSplitVertexMap, written by cases on the fresh
core vertex and fresh edge slot.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical split preserves the underlying subdivision vertex set up to
the explicit reclassification of the chosen path's position first as a
fresh core vertex.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Canonical occurrence refinement #
The occurrence map for the canonical split. A unit step before the new core vertex remains in the old slot; every later step is moved to the new second slot. Thus this is a reclassification of the same unit-edge path, not an edge contraction or a change of the discrete graph.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Inverse occurrence map for canonicalSplitStepMap.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The unit-step occurrences of a subdivision are unchanged when one path is canonically split at a positive interior position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compatibility of the canonical vertex and step maps #
On old core vertices the canonical vertex equivalence is the evident inclusion into the enlarged core.
An interior point in an unsplit slot keeps both its slot and coordinate.
A selected-slot interior point strictly before the split remains in the first (old) slot.
The old interior position at the split becomes the fresh core vertex.
A selected-slot interior point strictly after the split moves to the
second slot, with its coordinate shifted by first.
Along an unsplit core slot, the canonical vertex equivalence agrees with the literal numerical path position.
On the first segment of the selected slot, numerical path positions are
unchanged. The common endpoint at first is the fresh core vertex.
The point at which a slot is split is carried to the fresh bivalent core vertex. This proof-term-stable endpoint form is the one used by generated multi-split certificates.
Each emitted unit step has exactly the same ordered endpoints after the canonical split. Unlike a slotwise relabeling, no orientation reversal is needed: only the slot containing a position changes.
Splitting one positive-length slot through a new bivalent core vertex preserves the subdivision graph in the Laplacian sense used by certificate checking.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Identity refinement #
The identity refinement uses the reflexive vertex and occurrence bijections.
Equations
- One or more equations did not get rendered due to their size.