🤖 AI Summary
Mainstream open-source SAT solvers lack native support for interpolation, hindering their use in interpolation-based formal verification.
Method: This paper introduces the first deep integration of DRUP-format interpolation generation into CaDiCaL 2.0, leveraging its standardized Tracer API to enable maintainable and portable proof tracing and interpolation. The resulting interpolation capability is embedded into the bit-level hardware model checker Avy, establishing an end-to-end interpolation-driven verification workflow.
Contribution/Results: Evaluation on the HWMCC benchmarks shows that replacing Glucose with our enhanced CaDiCaL significantly improves both the number of solved instances and runtime efficiency in Avy. The implementation is publicly released, addressing a critical gap in the SAT solver ecosystem and providing the formal verification community with a reusable, extensible infrastructure for interpolation-based reasoning.
📝 Abstract
We present our implementation of DRUP-based interpolants in CaDiCaL 2.0, and evaluate performance in the bit-level model checker Avy using the Hardware Model Checking Competition benchmarks. CaDiCaL is a state-of-the-art, open-source SAT solver known for its efficiency and flexibility. In its latest release, version 2.0, CaDiCaL introduces a new proof tracer API. This paper presents a tool that leverages this API to implement the DRUP-based algorithm for generating interpolants. By integrating this algorithm into CaDiCaL, we enable its use in model-checking workflows that require interpolants. Our experimental evaluation shows that integrating CaDiCaL with DRUP-based interpolants in Avy results in better performance (both runtime and number of solved instances) when compared to Avy with Glucose as the main SAT solver. Our implementation is publicly available and can be used by the formal methods community to further develop interpolation-based algorithms using the state-of-the-art SAT solver CaDiCaL. Since our implementation uses the Tracer API, it should be maintainable and applicable to future releases of CaDiCaL.