The Cooperating Proof Calculus: Comprehensive Proofs for an SMT Solver

Read full text
Authors: Andrew J. Reynolds, Hans-Jörg Schurr, Haniel Barbosa, Ofec Israel, Jibiana Zoe Jakpor, Iain S. Burns, Abdalrhman Mohamed, Aina Niemetz, Mathias Preiner, Yoni Zohar, Robert Jones, Clark Barrett
+1 more Cesare Tinelli
Cited by: 1
References: 45

Abstract

Abstract We present the Cooperating Proof Calculus (CPC), an evolving set of proof rules encompassing all inferences used in the mainstream theories of the SMT solver cvc5. CPC consists of 585 proof rules, which are formalized in 8025 lines of definitions in the logical framework Eunoia. Eunoia proofs are independently checkable by the proof checker Ethos. This paper gives a detailed summary of CPC, surveying its proof rules over its major components. Having instrumented cvc5 to generate CPC proofs in Eunoia, we show that the solver is capable of generating fine-grained CPC proofs, with no proof holes, for all benchmarks in the SMT library except those in logics with floating-point arithmetic, which are currently not supported. This results in more than 900 million proof steps using 427 unique proof rules. We also discuss ongoing work in the proof assistants Lean and Isabelle to verify the correctness of CPC.

Publication details

Journal / source
Lecture notes in computer science
Pages
188–212
Publication date
1 January 2026
Language
EN