Finite signed-dart presentations #
This file removes arbitrary dart names from a finite surface cell complex. Unoriented edges are
the quotient of darts by orientation reversal. When reversal has no fixed points, choosing one
orientation in each orbit identifies all darts with signed orbit names, and a final finite
relabeling gives names in Fin.
The construction uses only Dart, inv, finiteness, and the involution laws. In particular it
does not trust the stored vertex endpoints. This is the combinatorial input needed before cyclic
boundary-word moves can be stated independently of a presentation's original edge names.
Relabel signed darts along an equivalence of edge names.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The equivalence relation on darts generated by reversing orientation.
Equations
- K.edgeSetoid = { r := K.SameEdge, iseqv := ⋯ }
Instances For
Unoriented edges are inverse-dart orbits.
Equations
- K.EdgeOrbit = Quotient K.edgeSetoid
Instances For
The unoriented edge containing a dart.
Instances For
Equations
A fixed-point-free involution presents the darts as signed unoriented edges.
Equations
Instances For
The number of unoriented edges, computed as the number of inverse-dart orbits.
Equations
Instances For
Relabel arbitrary darts as signed Fin-labelled unoriented edges.
Equations
Instances For
A face boundary with its arbitrary dart names replaced by signed finite edge labels.
Equations
- K.normalizedBoundary hinv f = List.map (⇑(K.finSignedDartEquiv hinv)) (K.boundary f)
Instances For
Finite relabeling loses no information from a face boundary.