Satisfiability (SAT) and satisfiability modulo theories (SMT) solvers are high-performance automated propositional and first-order theorem provers, used as underlying tools in many formal verification and artificial intelligence systems. Theoretic and engineering advancement of solver technologies improved the performance of modern solvers; however, the increased complexity of those solvers calls for formal verification of those tools themselves. This thesis discusses two methods to formally certify SAT/SMT solvers. The first method is generating proofs from solvers and certifying those proofs. Because new theories are constantly added to SMT solvers, a flexible framework to safely add new inference rules is necessary. The proposal is to use a meta-language called LFSC, which is based on Edinburgh Logical Framework. SAT/SMT logics have been encoded in LFSC, and the encoding can be easily and modularly extended for new logics. It is shown that an optimized LFSC checker can certify SMT proofs efficiently. The second method is using a verified programming language to implement a SAT solver and verify the code statically. Guru is a pure functional programming language with support for dependent types and theorem proving; Guru also allows for efficient code generation by means of resource typing. A modern SAT solver, called versat, has been implemented and verified to be correct in Guru. The performance of versat is shown to be comparable with that of the current proof checking technology.
Dissertation
Formally certified satisfiability solving
University of Iowa
Doctor of Philosophy (PhD), University of Iowa
Summer 2012
DOI: 10.17077/etd.re5t0y6p
Free to read and download, Open Access
Abstract
Details
- Title: Subtitle
- Formally certified satisfiability solving
- Creators
- Duck Ki Oe - University of Iowa
- Contributors
- Aaron Stump (Advisor)Cesare Tinelli (Committee Member)Hantao Zhang (Committee Member)Alberto Segre (Committee Member)Gregory Landini (Committee Member)Natarajan Shankar (Committee Member)
- Resource Type
- Dissertation
- Degree Awarded
- Doctor of Philosophy (PhD), University of Iowa
- Degree in
- Computer Science
- Date degree season
- Summer 2012
- Publisher
- University of Iowa
- DOI
- 10.17077/etd.re5t0y6p
- Number of pages
- viii, 112 pages
- Copyright
- Copyright 2012 Duckki Oe
- Language
- English
- Description illustrations
- illustrations
- Description bibliographic
- Includes bibliographical references (pages 105-112).
- Academic Unit
- Computer Science
- Record Identifier
- 9983776715702771
Metrics
783 File views/ downloads
189 Record Views