The GRAT Tool Chain - Efficient (UN)SAT Certificate Checking with Formal Correctness Guarantees

@inproceedings{Lammich2017TheGT,
  title={The GRAT Tool Chain - Efficient (UN)SAT Certificate Checking with Formal Correctness Guarantees},
  author={Peter Lammich},
  booktitle={SAT},
  year={2017}
}
  • P. Lammich
  • Published in SAT 28 August 2017
  • Computer Science, Physics
We present the GRAT tool chain, which provides an efficient and formally verified SAT and UNSAT certificate checker. It utilizes a two phase approach: The highly optimized gratgen tool converts a DRAT certificate to a GRAT certificate, which is then checked by the formally verified gratchk tool. 

Efficient Verified (UN)SAT Certificate Checking

  • P. Lammich
  • Computer Science, Mathematics
    Journal of Automated Reasoning
  • 2019
TLDR
This paper presents the first SAT solver certificate checker that is formally verified down to the integer sequence representing the formula, and is even faster than the unverified state-of-the-art tool drat-trim, on a realistic set of benchmarks drawn from the 2016 and 2017 SAT competitions.

The Proof Checkers Pacheck and Pastèque for the Practical Algebraic Calculus

TLDR
The checker Pacheck checks algebraic proofs more efficiently than PastÈque, but the latter is formally verified using the proof assistant Isabelle/HOL, and extension rules to simulate essential rewriting techniques required in practice are introduced.

A verified SAT solver with watched literals using imperative HOL

TLDR
The CDCL calculus is refined to add a crucial optimization: two watched literals, and the data structure and the invariants are formalized, leading to an executable SAT solver that offers acceptable performance for some applications.

A Verified First-Order Prover Based on Ordered Resolution

  • Computer Science
  • 2018
TLDR
This work specifies, using the Isabelle/HOL proof assistant, a purely functional ordered resolution prover and formally establish its soundness and completeness and applies stepwise refinement to obtain, from an abstract specification of a nondeterministic prover, a verified deterministic program, written in a subset of Isabelle /HOL from which it can extract purely functional Standard ML code.

A verified prover based on ordered resolution

TLDR
This work specifies, using Isabelle/HOL, a purely functional first-order ordered resolution prover and establishes its soundness and refutational completeness, and applies stepwise refinement to obtain, from an abstract nondeterministic specification, a verified deterministic program.

Practical algebraic calculus and Nullstellensatz with the checkers Pacheck and Pastèque and Nuss-Checker

TLDR
The practical algebraic calculus is presented as an instantiation of the polynomial calculus that can be checked efficiently and extension rules to simulate essential rewriting techniques required in practice are introduced.

A Verified Automatic Prover Based on Ordered Resolution

TLDR
This work specifies, using the Isabelle/HOL proof assistant, a purely functional ordered resolution prover and formally establishes its soundness and refutational completeness, and extracts purely functional Standard ML code that constitutes a semidecision procedure for first-order logic.

Formalization of logical calculi in Isabelle/HOL

TLDR
A formal framework for propositional satifisfiability with the conflict-driven clause learning (CDCL) procedure using the Isabelle/HOL proof assistant is developed and the inclusion of rules for forget and restart and the refinement approach are included.

Formally Verified SAT-Based AI Planning

TLDR
An executable formally verified SAT encoding of classical AI planning is presented, using the theorem prover Isabelle/HOL to perform the verification and it is experimentally test and shown that it can be used for reasonably sized standard planning benchmarks.

Formalizing the metatheory of logical calculi and automatic provers in Isabelle/HOL (invited talk)

TLDR
This paper describes and reflects on three verification subprojects to which I contributed: a first-order resolution prover, an imperative SAT solver, and generalized term orders for λ-free higher-order logic.

References

SHOWING 1-10 OF 11 REFERENCES

Efficient Certified RAT Verification

TLDR
A new format is presented, called LRAT, which extends the DRAT format with hints that facilitate a simple and fast validation algorithm, and checking validity of LRAT proofs can be implemented using trusted systems such as the languages supported by theorem provers.

Efficient Verified (UN)SAT Certificate Checking

TLDR
This paper presents the first SAT solver certificate checker that is formally verified down to the integer sequence representing the formula, and is even faster than the unverified state-of-the-art tool drat-trim, on a realistic set of benchmarks drawn from the 2016 and 2017 SAT competitions.

Efficient Certified Resolution Proof Checking

TLDR
A novel propositional proof tracing format that eliminates complex processing, thus enabling efficient (formal) proof checking, and formally verify the recent 200 TB proof of the Boolean Pythagorean Triples conjecture.

DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs

TLDR
The DRAT-trim tool is a satisfiability proof checker based on the new DRAT proof format that can emit trimmed formulas, optimized proofs, and new TraceCheck + dependency graphs.

Applying Data Refinement for Monadic Programs to Hopcroft's Algorithm

We provide a framework for program and data refinement in Isabelle/HOL. It is based on a refinement calculus for monadic expressions and provides tools to automate canonical tasks such as

Mechanical Verification of SAT Refutations with Extended Resolution

We present a mechanically-verified proof checker developed with the ACL2 theorem-proving system that is general enough to support the growing variety of increasingly complex satisfiability (SAT)

Refinement to Imperative HOL

  • P. Lammich
  • Computer Science
    Journal of Automated Reasoning
  • 2017
TLDR
This paper presents Sepref, a stepwise refinement based tool chain for the verification of imperative algorithms in Isabelle/HOL and develops a separation logic framework with powerful proof tactics to verify basic imperative data structures and to define a refinement calculus between imperative and functional programs.

Seven Challenges in Parallel SAT Solving

This paper provides a broad overview of the situation in the area of Parallel Search with a specific focus on Parallel SAT Solving. A set of challenges to researchers is presented which, we

Efficient, Verified Checking of Propositional Proofs

TLDR
A sequence of increasingly efficient, verified checkers is implemented using the ACL2 theorem proving system to check proofs using a formally verified program that adds little overhead to the overall process of proof validation.

Chaff: engineering an efficient SAT solver

TLDR
The development of a new complete solver, Chaff, is described which achieves significant performance gains through careful engineering of all aspects of the search-especially a particularly efficient implementation of Boolean constraint propagation (BCP) and a novel low overhead decision strategy.