Component and face counts for vertex identification #
These facts use the literal successor swap and endpoint update of mergeVertices. The
cofacial premise is needed for the face-splitting count; distinct endpoint names are needed
for the two old vertex cycles to merge. Unchanged components retain their indexed faces.
Original declared endpoints remain declared under the actual name update.
Identifying two vertices already in one old component preserves exactly its edge components. This statement uses actual old and new dart endpoints, not an injective name map.
Literal incoming-face swap caused by the outgoing vertex-corner swap.
A cofacial identification adds one actual face in its component, retaining every other component's face quotient. The selected corners are distinct vertices but may revisit a face.
The actual component vertex set is the image of its old set under the one-name update.
The selected component loses exactly the second old vertex name. Other components retain all their distinct declared names, including declared points.
No indexed edge occurrence is removed or identified by the vertex-name update.
Identifying two distinct incident vertices at cofacial corners preserves the existing componentwise numerical genus-zero predicate. Closed and point components outside the selected component retain their old counts. No injective map on boundary variable labels is assumed.