Efficient, mechanically-verified validation of satisfiability solvers

dc.contributor.advisorHunt, Warren A., 1958-en
dc.contributor.advisorHeule, Marijn, 1979-en
dc.contributor.committeeMemberBiere, Arminen
dc.contributor.committeeMemberLifschitz, Vladimiren
dc.contributor.committeeMemberMoore, J Strotheren
dc.contributor.committeeMemberRamachandran, Vijayaen
dc.creatorWetzler, Nathan Daviden
dc.creator.orcid0000-0002-6174-923Xen
dc.date.accessioned2015-09-04T15:49:09Zen
dc.date.issued2015-05en
dc.date.submittedMay 2015en
dc.date.updated2015-09-04T15:49:09Zen
dc.descriptiontexten
dc.description.abstractSatisfiability (SAT) solvers are commonly used for a variety of applications, including hardware verification, software verification, theorem proving, debugging, and hard combinatorial problems. These applications rely on the efficiency and correctness of SAT solvers. When a problem is determined to be unsatisfiable, how can one be confident that a SAT solver has fully exhausted the search space? Traditionally, unsatisfiability results have been expressed using resolution or clausal proof systems. Resolution-based proofs contain perfect reconstruction information, but these proofs are extremely large and difficult to emit from a solver. Clausal proofs rely on rediscovery of inferences using a limited number of techniques, which typically takes several orders of magnitude longer than the solving time. Moreover, neither of these proof systems has been able to express contemporary solving techniques such as bounded variable addition. This combination of issues has left SAT solver authors unmotivated to produce proofs of unsatisfiability. The work from this dissertation focuses on validating satisfiability solver output in the unsatisfiability case. We developed a new clausal proof format called DRAT that facilitates compact proofs that are easier to emit and capable of expressing all contemporary solving and preprocessing techniques. Furthermore, we implemented a validation utility called DRAT-trim that is able to validate proofs in a time similar to that of the discovery time. The DRAT format has seen widespread adoption in the SAT community and the DRAT-trim utility was used to validate the results of the 2014 SAT Competition. DRAT-trim uses many advanced techniques to realize its performance gains, so why should the results of DRAT-trim be trusted? Mechanical verification enables users to model programs and algorithms and then prove their correctness with a proof assistant, such as ACL2. We designed a new modeling technique for ACL2 that combines efficient model execution with an agile and convenient theory. Finally, we used this new technique to construct a fast, mechanically-verified validation tool for proofs of unsatisfiability. This research allows SAT solver authors and users to have greater confidence in their results and applications by ensuring the validity of unsatisfiability results.en
dc.description.departmentComputer Science
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttp://hdl.handle.net/2152/30538en
dc.language.isoenen
dc.subjectFormal verificationen
dc.subjectTheorem provingen
dc.subjectSatisfiabilityen
dc.subjectFormal methodsen
dc.subjectProofsen
dc.subjectProofs of unsatisfiabilityen
dc.titleEfficient, mechanically-verified validation of satisfiability solversen
dc.typeThesisen
thesis.degree.departmentComputer Sciencesen
thesis.degree.disciplineComputer Sciencesen
thesis.degree.grantorThe University of Texas at Austinen
thesis.degree.levelDoctoralen
thesis.degree.nameDoctor of Philosophyen

Access full-text files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
WETZLER-DISSERTATION-2015.pdf
Size:
1005.92 KB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
LICENSE.txt
Size:
1.84 KB
Format:
Plain Text
Description: