Proof compression explained

In proof theory, an area of mathematical logic, proof compression is the problem of algorithmically compressing formal proofs. The developed algorithms can be used to improve the proofs generated by automated theorem proving tools such as SAT solvers, SMT-solvers, first-order theorem provers and proof assistants.

Problem Representation

In propositional logic a resolution proof of a clause

\kappa

from a set of clauses C is a directed acyclic graph (DAG): the input nodes are axiom inferences (without premises) whose conclusions are elements of C, the resolvent nodes are resolution inferences, and the proof has a node with conclusion

\kappa

.

The DAG contains an edge from a node

η1

to a node

η2

if and only if a premise of

η1

is the conclusion of

η2

. In this case,

η1

is a child of

η2

, and

η2

is a parent of

η1

. A node with no children is a root.

A proof compression algorithm will try to create a new DAG with fewer nodes that represents a valid proof of

\kappa

or, in some cases, a valid proof of a subset of

\kappa

.

A simple example

Let's take a resolution proof for the clause

\left\{a,b,c\right\}

from the set of clauses

\left\{η1:\left\{a,b,p\right\},η2:\left\{c,\negp\right\}\right\}

η1:a,b,p     η2:c,\negp
η3:a,b,c

p

Here we can see:

η1

and

η2

are input nodes.

η3

has a pivot

p

,

p

\negp

η3

conclusion is the clause

\left\{a,b,c\right\}

η3

premises are the conclusion of nodes

η1

and

η2

(its parents)

\begin{array}{ccc} η1&&η2\\ &\nwarrow\nearrow\\ &η3\end{array}

η1

and

η2

are parents of

η3

η3

is a child of

η1

and

η2

η3

is a root of the proof

A (resolution) refutation of C is a resolution proof of

\bot

from C. It is a common given a node

η

, to refer to the clause

η

or

η

’s clause meaning the conclusion clause of

η

, and (sub)proof

η

meaning the (sub)proof having

η

as its only root.

In some works can be found an algebraic representation of resolution inferences. The resolvent of

\kappa1

and

\kappa2

with pivot

p

can be denoted as

\kappa1\odotp\kappa2

. When the pivot is uniquely defined or irrelevant, we omit it and write simply

\kappa1\odot\kappa2

. In this way, the set of clauses can be seen as an algebra with a commutative operator; and terms in the corresponding term algebra denote resolution proofs in a notation style that is more compact and more convenient for describing resolution proofs than the usual graph notation.

In our last example the notation of the DAG would be

\left\{a,b,p\right\}\odotp\left\{c,\negp\right\}

or simply

\left\{a,b,p\right\}\odot\left\{c,\negp\right\}.

We can identify

\underbrace{\overbrace{\left\{a,b,p\right\}

η1
}

\odot\overbrace{\left\{c,\negp\right\}

η2
}
}_ .

Compression algorithms

Algorithms for compression of sequent calculus proofs include cut introduction and cut elimination.

Algorithms for compression of propositional resolution proofs include RecycleUnits,[1] RecyclePivots,[1] RecyclePivotsWithIntersection,[2] LowerUnits,[2] LowerUnivalents,[3] Split,[4] Reduce&Reconstruct,[5] and Subsumption.

Notes and References

  1. Bar-Ilan, O.; Fuhrmann, O.; Hoory, S.; Shacham, O.; Strichman, O. Linear-time Reductions of Resolution Proofs. Hardware and Software: Verification and Testing, p. 114–128, Springer, 2011.
  2. Fontaine, Pascal; Merz, Stephan; Woltzenlogel Paleo, Bruno. Compression of Propositional Resolution Proofs via Partial Regularization. 23rd Conference on Automated Deduction, 2011.
  3. Web site: Skeptik/Doc/Papers/LUniv at develop · Paradoxika/Skeptik · GitHub . . https://archive.today/20130411003024/https://github.com/Paradoxika/Skeptik/tree/develop/doc/papers/LUniv . 11 April 2013 . dead.
  4. Cotton, Scott. "Two Techniques for Minimizing Resolution Proofs". 13th International Conference on Theory and Applications of Satisfiability Testing, 2010.
  5. Simone, S.F.; Brutomesso, R.; Sharygina, N. "An Efficient and Flexible Approach to Resolution Proof Reduction". 6th Haifa Verification Conference, 2010.