Small Proofs from Congruence Closure
Oliver Flatt, Samuel Coward, Max Willsey, Zachary Tatlock, Pavel, Panchekha

TL;DR
This paper introduces efficient algorithms for generating minimal and small proof certificates in congruence closure, significantly reducing proof size and overhead in SMT solvers and equality saturation engines.
Contribution
It presents a novel O(n^5) optimal proof generation algorithm and a practical O(n log n) greedy algorithm for smaller proofs in congruence closure, implemented in the egg toolkit.
Findings
Greedy algorithm produces substantially smaller proofs than Z3.
First certifying equality saturation engine implemented.
Algorithms operate efficiently with no asymptotic overhead.
Abstract
Satisfiability Modulo Theory (SMT) solvers and equality saturation engines must generate proof certificates from e-graph-based congruence closure procedures to enable verification and conflict clause generation. Smaller proof certificates speed up these activities. Though the problem of generating proofs of minimal size is known to be NP-complete, existing proof minimization algorithms for congruence closure generate unnecessarily large proofs and introduce asymptotic overhead over the core congruence closure procedure. In this paper, we introduce an O(n^5) time algorithm which generates optimal proofs under a new relaxed "proof tree size" metric that directly bounds proof size. We then relax this approach further to a practical O(n \log(n)) greedy algorithm which generates small proofs with no asymptotic overhead. We implemented our techniques in the egg equality saturation toolkit,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Synthetic Organic Chemistry Methods
