🤖 AI Summary
This work addresses combinatorial optimization on matroids and greedoids, presenting the first systematic formal verification in Isabelle/HOL. To bridge the gap in formal reasoning about greedoid structures, we fully characterize greedy matroids, formally prove the optimality of greedy algorithms thereon, and mechanize foundational results—including matroid intersection, contraction, and deletion—for the first time. Our framework covers classic problems such as minimum spanning tree (Kruskal’s and Prim’s algorithms) and maximum-cardinality bipartite matching, yielding executable algorithms that are both mathematically correct and computationally reliable. Key contributions are: (1) the first formal framework for greedy matroids; (2) the first machine-checked proofs of multiple core matroid theorems; and (3) integrated generation of rigorous mathematical proofs and verified executable code. The development enables certified algorithm design and provides a foundation for formal reasoning about greedy paradigms in combinatorial optimization.
📝 Abstract
We present a formal analysis, in Isabelle/HOL, of optimisation algorithms for matroids, which are useful generalisations of combinatorial structures that occur in optimisation, and greedoids, which are a generalisation of matroids. Although some formalisation work has been done earlier on matroids, our work here presents the first formalisation of results on greedoids, and many results we formalise in relation to matroids are also formalised for the first time in this work. We formalise the analysis of a number of optimisation algorithms for matroids and greedoids. We also derive from those algorithms executable implementations of Kruskal's algorithm for minimum spanning trees, an algorithm for maximum cardinality matching for bi-partite graphs, and Prim's algorithm for computing minimum weight spanning trees.