Native polynomial-time unweighted perfect and maximum matching #
Import this module for graph-only executable search, correctness against the existing Mathlib
Graph.induced.Subgraph model, ordinary native polynomial-time certificates on complete framed
binary graph inputs, and the perfect-matching P corollary.
Graph.maximumMatching returns actual selected original edge pairs; its cardinality is at least
that of every actual matching. Graph.perfectMatching returns those pairs exactly when a perfect
matching exists. Graph.maximumMatchingPositions provides canonical original edge positions and
Graph.edgesAtPositions their executable conversion. The empty graph returns the empty perfect
matching; isolates are admitted and left unmatched by maximum search. Loops, undeclared endpoints,
parallel/reversed edges and duplicate vertex declarations follow the existing induced simple graph.
This specializes the constructive minimum-defect even-delta-matroid solver of [KKR18]. It supplies an unweighted matching corollary; weighted/min-cost matching and a tight classical cubic operation bound are separate questions.
Perfect matching on the existing finite induced graph, for every raw framed graph input.
Instances For
Perfect-matching decision belongs to native P on complete framed binary graph inputs.