1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham...

Post on 20-Dec-2015

215 views 0 download

Tags:

transcript

1

Linear-time Reductions of Resolution Proofs

Omer Bar-Ilan Oded Fuhrmann

Shlomo Hoory Ohad Shacham

Ofer StrichmanTechnion

2

Resolution

Binary resolution:

…or, more generally:

3

SAT and resolution proofs

Resolution is sound and complete for CNF formulas There exists a decision procedure that deduces the empty

clause if and only if the input formula is unsatisfiable.

Modern SAT solvers are implicit resolution engines Learn new clauses through resolution. Upon request, they produce a resolution proof.

4

Uses of the resolution graphs

Extraction of unsatisfiable core The subset of original clauses that were used in the proof

Incremental satisfiability Which learned clauses can be reused in the next instance

Computing Interpolants For unbounded SAT-based model checking

5

Resolution graph / unsat core

)(

unsatisfiable core

6

The smaller the better

Many techniques for shrinking the proof / core All exponential Most popular: run-till-fix

Smaller proofs shorter verification time As a result – short time outs.

A good criterion:

By how much can you shrink the core in the first T sec?

?

7

In this work we investigate...

Linear-time Reductions of Resolution Proofs

)linear in the size of the proof graph(

We propose two techniques:

1. Recycle – units

1. Recycle – pivots

8

1. Recycle-units / observation

When learning )resolving( a new clause in SAT, The resolving clauses are not satisfied Hence, the resolution-variable is unassigned

l l1 :l l2

l1 l2

9

1. Recycle-units

Suppose that the pivot’s constant value is learned later on. We will use it to simplify the resolution proof.

10

1. Recycle-units / easy case

1 3 -1 2 5

2 3 5 1 -2

1 3 5

-1 4 -1 -4

-1

3 5

11

1. Recycle-units / easy case

1 3 -1 2 5

2 3 5 1 -2

1 3 5

-1 4 -1 -4

-1

3 5

12

1. Recycle-units

1 3

3 1 -2

1 3 5

-1 4 -1 -4

-1

3 5

3

3

13

1. Recycle-units

1 3

3

-1 4 -1 -4

-1

Reduced proof by 4 clauses Reduced core by 1 clause

14

1. Recycle-units / beware of cycles

1 3

2 3 5 1 -2

1 3 5

-1 4 -1 -4

-1

By making this connection we created cyclic

reasoning

15

1. Recycle-units / beware of cycles

Solution: mark antecedents of units apply only to marked nodes

1 3

2 3 5 1 -2

1 3 5

-1 4 -1 -4

-1

-1 2 5

3 5

16

1. Recycle-units / beware of cycles

A little tricky to make efficient. The graph changes all the time. Inefficient to update antecedents relations.

Solution Maintain a DAG G)E,U( U = units )u1,u2( 2 E if u1 is an antecedent of u2

Do not connect a unit if it creates a cycle in G. Otherwise update G.

19

2. Recycle-pivots / Example (tree)

3 4 5 6

2 6

-1 -2 51 3 4

1 2 3 -2 4

-2 3 4 5

20

2. Recycle-pivots / Example (tree)

3 4 5 6

2 6

-1 -2 51 3 4

1 2 3 -2 4

{2}-{2}

{2,1}{2-,1}

{2-,1-,2} {2-,1}

-2 4

-2 3 4 5-2 4

4 6

21

2. Recycle-pivots / Example (tree)

2 6 -2 4

4 6

22

2. Recycle-pivots / DAGs

Resolution graphs are DAGs So, a node is on more than one path to the empty clause

3 4 5 6

2 6

-1 -2 51 3 4

1 2 3 -2 4

-2 3 4 5

23

2. Recycle-pivots / DAGs

Resolution graphs are DAGs So, a node is on more than one path to the empty clause

2 6

-1 -2 5

1 2 3 -2 4

-2 4

-2 4

4 6

24

2. Recycle-pivots / DAGs

2 6

-1 -2 5

1 2 3 -2 4

-2 4

-2 4

4 6

25

2. Recycle-pivots / DAGs

2 6

-1 -2 5

1 2 3 -2 4

-2 4

-2 4

4 6

Does A dominate B ?

Dominance relation can be found in O(|E| log |V|)

A

B

e

Problem: need to be updated each time.

26

2. Recycle-pivots / DAGs

Our current implementation: Stop propagating information across nodes with more than

one child.

3 4 5 6

2 6

-1 -2 51 3 4

1 2 3 -2 4

{2}-{2}

{2,1}{2-,1}

{2-,1-,2} {2-,1}

-2 3 4 5

27

Experiments / Core-size

67 unsat instances from the public IBM benchmarks that tool run-till-fix more than 10 sec.

28

Experiments / Proof-size

67 unsat instances from the public IBM benchmarks that tool run-till-fix more than 10 sec.

29

Thank you