Iterated canonical bivalent splits #
This module packages a finite sequence of the canonical positive one-edge
splits from OneEdgeSplitRefinement. The numbers of core vertices and edge
slots change at every step, so PackedSpec hides those indices while each
CanonicalSplitStep retains the split occurrence, its two positive lengths,
and the required length sum.
Composing the checked one-edge LaplacianEquivs gives a reusable transport
from the original subdivision presentation to any presentation obtained by a
finite chain of positive bivalent refinements. In particular, Brill--Noether
existence is invariant along the whole chain.
A subdivision specification together with its dependent core sizes.
- n : ℕ
The number of core vertices in the packed subdivision specification.
- p : ℕ
The number of ordered core slots in the packed subdivision specification.
- spec : SubdivisionGraph.Spec self.n self.p
The positive-length subdivision specification with the stored vertex and slot counts.
Instances For
The finite graph presented by a packed subdivision specification.
Instances For
Its subdivision vertices.
Instances For
The target presentation produced by one canonical bivalent split.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A proof-carrying canonical bivalent split between packed presentations.
target_eq makes the target exactly the canonical split. Relabeling a
separately generated presentation remains a subsequent LaplacianEquiv
obligation.
The source slot divided by this canonical split step.
- firstLength : ℕ
The positive length of the first segment created by the split.
- secondLength : ℕ
The positive length of the second segment, completing the original slot length.
Instances For
The checked one-edge equivalence attached to a canonical split step.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A data-carrying reflexive-transitive closure of canonical split steps.
Unlike Relation.ReflTransGen, this lives in Type: the endpoint graph
equivalence retains the concrete split data instead of eliminating a
proposition into computational data.
- refl {source : PackedSpec} : CanonicalSplitChain source source
- tail {source middle target : PackedSpec} : CanonicalSplitChain source middle → CanonicalSplitStep middle target → CanonicalSplitChain source target
Instances For
Regard one canonical split as a one-step chain.
Equations
Instances For
Concatenate two canonical split chains.
Equations
Instances For
Compose the one-edge equivalences along a split chain.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compose the one-edge equivalences along a split chain.
Equations
Instances For
The vertex transport determined by a split chain.
Equations
- chain.vertexEquiv = chain.laplacianEquiv.toEquiv
Instances For
Iterated positive bivalent splitting preserves Brill--Noether existence, in both directions and for every rank and degree.