Information and Computation - Semantics of Data Types
A type-theoretical alternative to ISWIM, CUCH, OWHY
Theoretical Computer Science - A collection of contributions in honour of Corrado Bo¨hm on the occasion of his 70th birthday
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
Experience with Embedding Hardware Description Languages in HOL
Proceedings of the IFIP TC10/WG 10.2 International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience
Degrees of Formality in Shallow Embedding Hardware Description Languages in HOL
HUG '93 Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications
COLOG '88 Proceedings of the International Conference on Computer Logic
Artificial Intelligence: A Modern Approach
Artificial Intelligence: A Modern Approach
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
DATE '03 Proceedings of the conference on Design, Automation and Test in Europe - Volume 1
Verification of Proofs of Unsatisfiability for CNF Formulas
DATE '03 Proceedings of the conference on Design, Automation and Test in Europe - Volume 1
Formal verification of fault tolerance in safety-critical reconfigurable modules
International Journal on Software Tools for Technology Transfer (STTT) - Special section on formal methods for industrial critical systems
Formal Verification of a C-like Memory Model and Its Uses for Verifying Program Transformations
Journal of Automated Reasoning
Imperative Functional Programming with Isabelle/HOL
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Trust and Automation in Verification Tools
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
Formalization and Implementation of Modern SAT Solvers
Journal of Automated Reasoning
Towards understanding and harnessing the potential of clause learning
Journal of Artificial Intelligence Research
Verifying propositional unsatisfiability: pitfalls to avoid
SAT'07 Proceedings of the 10th international conference on Theory and applications of satisfiability testing
Rocket-fast proof checking for SMT solvers
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Formal approach to railway applications
Formal methods and hybrid real-time systems
Rewriting, inference, and proof
WRLA'10 Proceedings of the 8th international conference on Rewriting logic and its applications
Verification of certifying computations
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
versat: a verified modern SAT solver
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Verifying refutations with extended resolution
CADE'13 Proceedings of the 24th international conference on Automated Deduction
Mechanical verification of SAT refutations with extended resolution
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
A Framework for the Verification of Certifying Computations
Journal of Automated Reasoning
Hi-index | 0.00 |
Boolean Satisfiability (SAT) solvers are now routinely used in the verification of large industrial problems. However, their application in safety-critical domains such as the railways, avionics, and automotive industries requires some form of assurance for the results, as the solvers can (and sometimes do) have bugs. Unfortunately, the complexity of modern and highly optimized SAT solvers renders impractical the development of direct formal proofs of their correctness. This paper presents an alternative approach where an untrusted, industrial-strength, SAT solver is plugged into a trusted, formally verified, SAT proof checker to provide industrial-strength certified SAT solving. The key characteristics of our approach are (i) that the checker is not tied to a specific SAT solver but certifies any solver respecting the agreed format for satisfiability and unsatisfiability claims, (ii) that the checker is automatically extracted from the formal development, and (iii) that the combined system can be used as a standalone executable program independent of any supporting theorem prover. The core of the system is a checker for unsatisfiability claims that is formally designed and verified in Coq. We present its formal design and outline the correctness criteria. The actual standalone checker is automatically extracted from the the Coq development. An evaluation of the checker on a representative set of industrial benchmarks from the SAT Race Competition shows that, albeit it is slower than uncertified SAT checkers, it is significantly faster than certified checkers implemented on top of an interactive theorem prover.