Abstract

We present an algorithm and tool to convert derivations from the powerful recently proposed PR proof system into the widely used DRAT proof system. The PR proof system allows short proofs without new variables for some hard problems, while the DRAT proof system is supported by top-tier SAT solvers. Moreover, there exist efficient, formally verified checkers of DRAT proofs. Thus our tool can be used to validate PR proofs using these verified checkers. Our simulation algorithm uses only one new Boolean variable and the size increase is at most quadratic in the size of the propositional formula and the PR proof. The approach is evaluated on short PR proofs of hard problems, including the well-known pigeon-hole and Tseitin formulas. Applying our tool to PR proofs of pigeon-hole formulas results in short DRAT proofs, linear in size with respect to the size of the input formula, which have been certified by a formally verified proof checker.

Highlights

  • The most effective new techniques in recent years are based on inprocessing [21,25]: Interleaving preprocessing techniques and conflict-driven clause learning (CDCL) [26]

  • We showed how to convert propagation redundant (PR) proofs into DRAT proofs using only a single new variable with an at most quadratic blowup in proof size

  • The optimizations implemented in our conversion tool PR2DRAT made it possible to produce DRAT proofs for hard problems that are significantly smaller compared to existing DRAT proofs of those problems

Read more

Summary

Introduction

Satisfiability (SAT) solvers are powerful tools for many applications in formal methods and artificial intelligence [3,9]. More recently a ground-breaking paper [8] presented at TACAS’17 showed how to efficiently certify huge propositional proofs of unsatisfiability by proof checkers, which are formally verified by theorem provers, such as ACL2 [7], Coq [7,8], and Isabelle/HOL [24]. These developments are clearly a breakthrough in SAT solving. Short proofs for hard formulas in the RAT proof system likely require many new variables, making it difficult to find them automatically. Only a single new Boolean variable is required to convert PR proofs into DRAT proofs At this point there exists only an unverified checker to validate PR proofs, written in C.

Preliminaries
Clausal Proof Systems
The RAT Proof System
The PR Proof System
The Power of Deletion
Conversion Algorithm
Top-Down
Five Phases
Complexity
Optimizations
Refutations
Witness Minimization
Avoiding Copying
Limiting the Number of RAT Steps
Converting DPR Proofs into DRAT Proofs
Converting PR Refutations into RAT Refutations
Evaluation
Proof Simulation and Optimization
Verified PR Proof Checking
Conclusions and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call