Search papers, labs, and topics across Lattice.
LRAT-Catcher is a novel tool that integrates SAT solver certificates into Lean 4 by importing DIMACS formulas alongside LRAT certificates as theorems, enhancing the verification of combinatorial problems. This tool leverages a formally verified LRAT checker, executed as compiled native code via reflection, enabling it to handle larger instances that exceed the memory limits of traditional proof-term imports. The evaluation demonstrates its effectiveness by successfully establishing significant combinatorial theorems, such as the Schur number S(4) and the Ramsey number R(4,4), within Lean.
LRAT-Catcher enables the seamless integration of SAT solver outputs into Lean 4, pushing the boundaries of theorem proving in combinatorial mathematics.
SAT solvers settle combinatorial problems beyond the reach of interactive theorem provers and produce LRAT certificates for independent verification. We present LRAT-Catcher, a standalone, general-purpose tool that imports a DIMACS formula together with an LRAT certificate into Lean 4 as a theorem. LRAT-Catcher runs the formally verified LRAT checker from Lean core as compiled native code via reflection. This scales to instances where Mathlib's explicit proof-term import exhausts memory. LRAT-Catcher also composes cube-and-conquer solving runs entirely inside Lean. Per-cube refutations are combined with a cover-completeness certificate, itself an LRAT proof, into a single unsatisfiability theorem. Verified encodings connect CNF-level results to the original combinatorial problems. We evaluate the tool against Mathlib's proof-term import and the external checker cake_lpr on establishing the Schur number S(4) = 44 and the Ramsey number R(4,4) = 18 as Lean theorems.