DRAT-based Bit-Vector Proofs in CVC4

Alex Ozdemir, Aina Niemetz, Mathias Preiner, Yoni Zohar, Clark Barrett

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Many state-of-the-art Satisfiability Modulo Theories (SMT) solvers for the theory of fixed-size bit-vectors employ an approach called bit-blasting, where a given formula is translated into a Boolean satisfiability (SAT) problem and delegated to a SAT solver. Consequently, producing bit-vector proofs in an SMT solver requires incorporating SAT proofs into its proof infrastructure. In this paper, we describe three approaches for integrating DRAT proofs generated by an off-the-shelf SAT solver into the proof infrastructure of the SMT solver CVC4 and explore their strengths and weaknesses. We implemented all three approaches using CryptoMiniSat as the SAT back-end for its bit-blasting engine and evaluated performance in terms of proof-production and proof-checking.

Original languageEnglish
Title of host publicationTheory and Applications of Satisfiability Testing – SAT 2019 - 22nd International Conference, SAT 2019, Proceedings
EditorsMikoláš Janota, Inês Lynce
PublisherSpringer Verlag
Pages298-305
Number of pages8
ISBN (Print)9783030242572
DOIs
StatePublished - 2019
Externally publishedYes
Event22nd International Conference on Theory and Applications of Satisfiability Testing, SAT 2019 - Lisbon, Portugal
Duration: 9 Jul 201912 Jul 2019

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume11628 LNCS

Conference

Conference22nd International Conference on Theory and Applications of Satisfiability Testing, SAT 2019
Country/TerritoryPortugal
CityLisbon
Period9/07/1912/07/19

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'DRAT-based Bit-Vector Proofs in CVC4'. Together they form a unique fingerprint.

Cite this