Rank transport under an adjacency-preserving vertex equivalence #
This file provides a narrow graph-transport layer for chip-firing
certificates. Two CFGraphs are related when a vertex
equivalence preserves every edge multiplicity. That is exactly the data used
by prin, so divisors, firing scripts, winnability, rank bounds, and
Brill--Noether existence transport without requiring a general graph
isomorphism API.
A vertex equivalence preserving the multiplicity of every unordered edge.
The name emphasizes the only graph structure used below: preservation of the chip-firing Laplacian. No equality of the oriented edge multisets is required.
The vertex equivalence preserving edge multiplicities, hence transporting the graph Laplacian.
Instances For
Equations
- Utilities.Certificate.LaplacianEquiv.instCoeFunForallV = { coe := fun (equivalence : Utilities.Certificate.LaplacianEquiv G H) => ⇑equivalence.toEquiv }
Compose adjacency-preserving vertex equivalences. This belongs in the basic transport API rather than in a particular subdivision construction, so proof-carrying normalization certificates can combine independent graph presentations without changing universes.
Instances For
Reverse an adjacency-preserving vertex equivalence.
Instances For
Transport a firing script forward along the vertex equivalence.
Instances For
Vertex valence is preserved by an adjacency-preserving equivalence.
Effectivity is unchanged by relabeling vertices.
Divisor degree is unchanged by relabeling vertices.
The principal divisor of a transported firing script is the transported principal divisor.
Linear equivalence transports forward.
Linear equivalence is unchanged by relabeling vertices.
Winnability transports forward.
Winnability is unchanged by relabeling vertices.
Graph connectivity is preserved by an adjacency-preserving vertex equivalence.
Connectivity is unchanged by a Laplacian-preserving relabeling.
Brill--Noether existence is unchanged by an adjacency-preserving vertex equivalence. The proof transports only the requested rank lower bound; it does not require a general equality theorem for ranks.
A closed parallel-edge relabeling example #
Vertex labels for the closed two-vertex example.
Instances For
Two vertices joined by two parallel edges.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The same parallel pair with both endpoint labels exchanged.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Swapping the two labels preserves every Laplacian entry, including the off-diagonal multiplicity two.
Equations
- Utilities.Certificate.LaplacianEquiv.Examples.parallelPairEquiv = { toEquiv := Equiv.swap 0 1, num_edges_eq := Utilities.Certificate.LaplacianEquiv.Examples.parallelPairEquiv._proof_1 }