Resolution proof compression by splitting

From The Right Wiki
Jump to navigationJump to search

In mathematical logic, proof compression by splitting is an algorithm that operates as a post-process on resolution proofs. It was proposed by Scott Cotton in his paper "Two Techniques for Minimizing Resolution Proof".[1] The Splitting algorithm is based on the following observation: Given a proof of unsatisfiability π and a variable x, it is easy to re-arrange (split) the proof in a proof of x and a proof of ¬x and the recombination of these two proofs (by an additional resolution step) may result in a proof smaller than the original. Note that applying Splitting in a proof π using a variable x does not invalidates a latter application of the algorithm using a differente variable y. Actually, the method proposed by Cotton[1] generates a sequence of proofs π1π2, where each proof πi+1 is the result of applying Splitting to πi. During the construction of the sequence, if a proof πj happens to be too large, πj+1 is set to be the smallest proof in {π1,π2,,πj}. For achieving a better compression/time ratio, a heuristic for variable selection is desirable. For this purpose, Cotton[1] defines the "additivity" of a resolution step (with antecedents p and n and resolvent r):

add(r):=max(|r|max(|p|,|n|),0)

Then, for each variable v, a score is calculated summing the additivity of all the resolution steps in π with pivot v together with the number of these resolution steps. Denoting each score calculated this way by add(v,π), each variable is selected with a probability proportional to its score:

p(v)=add(v,πi)xadd(x,πi)

To split a proof of unsatisfiability π in a proof πx of x and a proof π¬x of ¬x, Cotton [1] proposes the following: Let l denote a literal and pxn denote the resolvent of clauses p and n where xp and ¬xn. Then, define the map πl on nodes in the resolution dag of π:

πl(c):={c,if c is an inputπl(p),if c=pxn and (l=x or xπl(p))πl(n),if c=pxn and (l=¬x or ¬xπl(n))πl(p)xπl(p),if xπl(p) and ¬xπl(n)

Also, let o be the empty clause in π. Then, πx and π¬x are obtained by computing πx(o) and π¬x(o), respectively.

Notes

  1. 1.0 1.1 1.2 1.3 Cotton, Scott. "Two Techniques for Minimizing Resolution Proofs". 13th International Conference on Theory and Applications of Satisfiability Testing, 2010.