Occurrence-safe separating edges #
SeparatingEdgeCut G x y records a vertex cut crossed by exactly one edge
occurrence, from x on the chosen side to y outside it. The full
multiplicity equation is important for multigraphs: a bridge in the
underlying simple graph is not enough when parallel edge occurrences exist.
A finite cut whose unique crossing edge occurrence is x-y.
- right_not_mem : y ∉ self.side
Instances For
The distinguished endpoints are joined by exactly one edge occurrence.
A vertex on the chosen side has one outgoing edge exactly when it is the distinguished endpoint.
A vertex outside the chosen side has one incoming edge exactly when it is the distinguished endpoint.
Firing the chosen side transfers one chip across its unique separating edge.
The endpoints of a separating edge represent the same degree-one divisor class.
Normalizing a firing script across one separating edge #
Add a constant on the chosen side so that the firing levels at the two bridge endpoints agree.
Equations
- cut.normalizeScript sigma = sigma + (sigma y - sigma x) • indicatorScript G cut.side
Instances For
Normalization really equalizes the two endpoint levels.
The exact change in the principal divisor under one bridge normalization.
Two separating edges cannot cross one another. Relative to the chosen
side of cut, the endpoints of other lie on the same side unless other
is the very same unoriented bridge occurrence.
Normalizing across one separating edge preserves equality across every other separating edge that was already normalized.