Vertex-name maps on actual listed graph darts #
All declared names and edge endpoints are mapped pointwise. Edge positions and end tags remain unchanged, even for a noninjective map. This supplies endpoint equations for vertex identification and nonloop contraction; arbitrary renaming alone does not supply a rotation or preserve numerical genus. Isolated declarations remain in the mapped vertex list.
theorem Cslib.Complexity.Graph.endpoints_declared_relabel (G : Graph) (f : ℕ → ℕ) (hG : ∀ v ∈ G.incidenceVertices, v ∈ G.vertices) (v : ℕ) :
Mapping all declared names and edge endpoints retains endpoint declaration, without an injectivity assumption on the map.
The actual endpoint is mapped by the supplied name function.
Mapping vertex names commutes with edge reversal.