Canonical three-way ports for finite graph incidences #
Each listed edge contributes its two endpoint occurrences in order. An incidence is assigned the number of preceding equal vertex labels, reduced modulo three. When every vertex occurs at most three times, reduction does nothing and every incidence of that vertex gets a distinct port. Parallel listed edges remain distinct; a loop contributes two incidences.
Main definitions #
Cslib.Complexity.Graph.incidenceVertices: finite list of endpoint occurrences.Cslib.Complexity.Graph.incidencePort: canonical three-way port of an occurrence.Cslib.Complexity.Graph.canonicalPorts: finite edge-indexed port table.
Main results #
Cslib.Complexity.Graph.incidencePort_injective: equal vertex/port pairs identify incidences whenever endpoint occurrence counts are at most three.
Endpoints of all listed edges, counting edge occurrences rather than simple-graph degree.
Instances For
Number of endpoint occurrences is twice the edge-list length.
Executable port assignment; under the degree hypothesis the remainder is the rank itself.
Instances For
One canonical port pair per listed edge.
For graphs with at most three incidences per vertex, no remainder reduction occurs.
Equal vertex labels and canonical ports identify endpoint occurrences when all incidence counts are at most three.
The endpoint occurrence index agrees with the finite flattened endpoint list.
Vertex and canonical port determine both the edge occurrence and which end it is.
Canonical vertex-position/port pairs are distinct at every pair of different listed edges.