Proof of `The Matching Number of a Bipartite Graph in Time O(n · |x|)`
groundedproofs/Lax117284Proofs/Bipartite/Machine.lean · lax-117284
What this proof establishes
no assumptions
Assuming the claims on the left, the claim on the right holds — checked by the archive's pipeline. Proof code is not displayed here.
Description
Kuhn's algorithm as a word RAM program. The program stores the input length, reads the word into an array, and runs one augmenting search per left vertex in the order of the word, each scanning the compressed sparse rows it reaches at most once and visiting each right vertex at most once, paid for by a potential linear in the word; it then counts the matched right vertices and writes the count, which is the size of Kuhn's matching of the adjacency across the split (), hence the matching number of the graph (), with .