Small Proofs from Congruence Closure

09/07/2022
by   Oliver Flatt, et al.
0

Satisfiability Modulo Theory (SMT) solvers and equality saturation engines must generate proof certificates from e-graph-based congruence closure procedures to enable verification and conflict clause generation. Smaller proof certificates speed up these activities. Though the problem of generating proofs of minimal size is known to be NP-complete, existing proof minimization algorithms for congruence closure generate unnecessarily large proofs and introduce asymptotic overhead over the core congruence closure procedure. In this paper, we introduce an O(n^5) time algorithm which generates optimal proofs under a new relaxed "proof tree size" metric that directly bounds proof size. We then relax this approach further to a practical O(n log(n)) greedy algorithm which generates small proofs with no asymptotic overhead. We implemented our techniques in the egg equality saturation toolkit, yielding the first certifying equality saturation engine. We show that our greedy approach in egg quickly generates substantially smaller proofs than the state-of-the-art Z3 SMT solver on a corpus of 3760 benchmarks.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/28/2019

DRAT-based Bit-Vector Proofs in CVC4

Many state-of-the-art Satisfiability Modulo Theories (SMT) solvers for t...
research
07/06/2021

Proof Generation in CDSAT

The main ideas in the CDSAT (Conflict-Driven Satisfiability) framework f...
research
11/08/2021

Modularity and Combination of Associative Commutative Congruence Closure Algorithms enriched with Semantic Properties

Algorithms for computing congruence closure of ground equations over uni...
research
02/11/2023

An Evaluation Algorithm for Datalog with Equality

We describe an evaluation algorithm for relational Horn logic (RHL). RHL...
research
07/29/2020

Towards a Homotopy Domain Theory (HoDT)

A favourable environment is proposed for the achievement of λ-models wit...
research
08/26/2023

Solving the insecurity problem for assertions

In the symbolic verification of cryptographic protocols, a central probl...
research
05/04/2023

Towards a Scalable Proof Engine: A Performant Prototype Rewriting Primitive for Coq

We address the challenges of scaling verification efforts to match the i...

Please sign up or login with your details

Forgot password? Click here to reset