Documentation

LeanPool.BrillNoetherGraphs.Utilities.Iso.GraphContractionFibreTree

Tree fibres in equal-genus topological contractions #

The first ingredient is a small general fact about finite loopless multigraphs: a connected graph has at least one fewer edge occurrence than vertices. We prove it by forgetting multiplicities, taking a spanning tree in the resulting simple graph, and observing that every simple edge has an ambient occurrence.

This is the local inequality used with the Euler accounting in GraphContractionEuler: after the still-to-be-packaged partition identity for the fibre edge multisets, equality of source and target genus forces equality in this bound fibre by fibre.

Forgetting multiplicities cannot create more edges than the ambient multigraph has occurrences.

Every connected loopless multigraph has at least |V|-1 edge occurrences. Parallel edges are allowed.

The cyclomatic genus of a connected loopless multigraph is nonnegative.

The fibre vertex cards partition the source vertex set.

theorem Utilities.Certificate.GraphContractionCertificate.sum_fibreGraph_edge_cards {G : CFGraph} {H : CFGraph} (c : GraphContractionCertificate G H) (hValid : c.Valid) :
∑ target : H.V, (c.fibreGraph hValid target).edges.card = (Multiset.filter (fun (edge : G.V × G.V) => c.vertexMap edge.1 = c.vertexMap edge.2) G.edges).card

Fibre edge cards partition the source edge occurrences which are contracted by the vertex map.

Internal directed multiplicity counts every contracted edge occurrence at each of its two endpoints.

The internal directed multiplicity is twice the total number of edge occurrences in the induced fibre graphs.

A connected-fibre quotient cannot increase cyclomatic genus.

If a connected-fibre quotient preserves genus, every fibre has exactly one fewer edge occurrence than vertices.

In an equal-genus topological contraction, each fibre is a tree after forgetting parallel-edge multiplicities.

Each connected contraction fibre has nonnegative cyclomatic genus.