Carcara: An Efficient Proof Checker and Elaborator for SMT Proofs in the Alethe Format
Open Access
- 22 April 2023
- book chapter
- Published by Springer Nature
- p. 367-386
Abstract
Proofs from SMT solvers ensure correctness independently from implementation, which is often a requirement when solvers are used in safety-critical applications or proof assistants. Alethe is an established SMT proof format generated by the solvers veriT and cvc5, with reconstruction support in the proof assistants Isabelle/HOL and Coq. The format is close to SMT-LIB and allows both coarse- and fine-grained steps, facilitating proof production. However, it lacks a stand-alone checker, which harms its usability and hinders its adoption. Moreover, the coarse-grained steps can be too expensive to check and lead to verification failures. We present Carcara , an independent proof checker and elaborator for Alethe, implemented in Rust. It aims to increase the adoption of the format by providing push-button proof-checking for Alethe proofs, focusing on efficiency and usability; and by providing elaboration for coarse-grained steps into fine-grained ones, increasing the potential success rate of checking Alethe proofs in performance-critical validators, such as proof assistants. We evaluate Carcara over a large set of Alethe proofs generated from SMT-LIB problems and show that it has good performance and its elaboration techniques can make proofs easier to check.Keywords
This publication has 26 references indexed in Scilit:
- Extending Sledgehammer with SMT SolversJournal of Automated Reasoning, 2013
- SMT proof checking using a logical frameworkFormal Methods in System Design, 2012
- versat: A Verified Modern SAT Solver2012
- Reconstruction of Z3’s Bit-Vector Proofs in HOL4 and Isabelle/HOL2011
- A Modular Integration of SAT/SMT Solvers to Coq through Proof Witnesses2011
- veriT: An Open, Trustable and Efficient SMT-Solver2009
- Solving SAT and SAT Modulo TheoriesJournal of the ACM, 2006
- Introduction2001
- A framework for defining logicsJournal of the ACM, 1993
- Fast Decision Procedures Based on Congruence ClosureJournal of the ACM, 1980