A Coq plugin that checks proof witnesses from external SAT/SMT solvers and provides certified decision procedures.
SMTCoq is a Coq plugin that facilitates communication between the Coq proof assistant and external SAT/SMT solvers. It certifies proof witnesses from solvers like ZChaff, veriT, and CVC4, allowing users to import theorems proved by these tools into Coq with verified correctness. The plugin also provides tactics to automatically discharge Coq goals using these solvers and supports abduction for generating missing hypotheses.
Researchers and developers working in formal verification, theorem proving, or automated reasoning who use Coq and want to integrate SAT/SMT solver capabilities with certified guarantees.
SMTCoq uniquely combines the automation of SAT/SMT solvers with the rigorous certification of Coq, offering a trusted bridge that enhances proof automation while maintaining formal correctness. Its support for multiple solvers and abduction features makes it a versatile tool for advanced theorem proving.
Communication between Coq and SAT/SMT solvers
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Validates proof witnesses from ZChaff, veriT, and CVC4 solvers, ensuring high confidence in automated results as highlighted in the README's presentation section.
Provides tactics like 'smt' that discharge Coq goals by delegating to external solvers, reducing manual proof effort, as shown in the group theory example.
Generates missing hypotheses for unproven goals using cvc5, aiding in proof development and mentioned in the README's features list.
Encourages participation through a public forum and has multiple contributors, fostering ongoing enhancements and community support.
Only supports specific solvers like ZChaff, veriT, and CVC4; lacks native integration with popular modern solvers such as Z3, which may require additional workarounds.
Installation involves coordinating multiple external solvers and Coq dependencies, as indicated in the INSTALL.md file, which can be time-consuming and error-prone.
Documentation is geared towards researchers familiar with Coq and SAT/SMT solvers, with limited beginner-friendly resources or comprehensive examples beyond basic use cases.