← All papers
First page of PBLean: Pseudo-Boolean Proof Certificates for Lean 4

PBLean: Pseudo-Boolean Proof Certificates for Lean 4

Stefan Szeider

cs.LO Feb 9, 2026 · v1
PBLean imports VeriPB pseudo-Boolean proof certificates into Lean 4 via a soundness-proved reflective checker.
We present PBLean, a method for importing VeriPB pseudo-Boolean (PB) proof certificates into Lean 4. Key to our approach is reflection: a Boolean checker function whose soundness is fully proved in Lean and executed as compiled native code. Our method scales to proofs with tens of thousands of steps that would exhaust memory under explicit proof-term construction. Our checker supports all VeriPB kernel rules, including cutting-plane derivations, proof-by-contradiction subproofs, and redundance-based reasoning for symmetry breaking. In contrast to external verified checkers that produce verdicts, our integration yields Lean theorems that can serve as composable lemmas in larger formal developments. To derive theorems about the original combinatorial problems rather than about PB constraints alone, we support verified encodings. This closes the trust gap between solver output and problem semantics since the constraint translation and its correctness proof are both formalized in Lean. We demonstrate the approach on various combinatorial problems.

Pseudo-Boolean (PB) solvers perform sophisticated derivations involving cutting-planes proof steps that resolution-based formats cannot efficiently capture. Independent verification of PB solver results is desirable, but existing approaches either lack integration with ITPs or do not scale to large proofs.

PBLean imports VeriPB pseudo-Boolean proof certificates into Lean 4 using reflection: a Boolean checker function whose soundness is fully proved in Lean and executed as compiled native code. The checker supports all VeriPB kernel rules including cutting-plane derivations, proof-by-contradiction subproofs, and redundance-based reasoning for symmetry breaking. The implementation is a standalone Lean 4 project (~900 lines kernel, ~2500 lines checker) with no Mathlib dependency.

PBLean scales to proofs with tens of thousands of steps that would exhaust memory under explicit proof-term construction. It checks Paley graph independence number proofs up to Paley(101) (2329 variables, ~21000 elaboration lines) and combinatorial problems including Langford, Schur, Van der Waerden, and Ramsey instances. The reflect-based approach handles proofs where direct proof-term construction times out.

palphaVarsLinesReflect (ms)
1331335802
5355318483494
895893679596234
101610140866140490
PBLean performance on Paley graph instances