ibm research | ibm - sat, csp, and proofs · 2019. 11. 26. · 3 why sat ? applications in...

59
1 SAT, CSP, and proofs Ofer Strichman Technion, Haifa Tutorial HVC’13

Upload: others

Post on 23-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

1

SAT, CSP, and proofs

Ofer Strichman

Technion, Haifa

Tutorial HVC’13

Page 2: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

2

The grand plan for today

� Intro: the role of SAT, CSP and proofs in verification

� SAT – how it works, and how it produces proofs

� CSP - how it works, and how it produces proofs

� Making proofs smaller

Page 3: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

3

Why SAT ?

� Applications in verification:

� Formal verification:

� (Bounded) model checking for hardware [1999 -- ]

� Over a dozen commerncial tools

� (Bounded) model checking for software [2001 -- ]

� CBMC, SAT-ABS, CLLVM, …

� Satisfiability Modulo Theories (SMT) [2003 -- ]

� e.g. MS – Z3 used in dozens of software analysis tools (SymDiff, VCC, Havoc, Spec#, …)

Example: is (x1 Æ (x2 Ç ¬x1)) satisfiable ?

x1 ,x2 ∈ B

Page 4: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

4

Why SAT ?

Example: is (x1 Æ (x2 Ç ¬x1)) satisfiable ?

x1 ,x2 ∈ B

� Applications in verification:

� Simulation:

� Test generation for hardware

� Test generation for software via SMT

� MS-SAGE, KLEE, …

Page 5: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

5

Why CSP (Constraints Satisfaction Problem) ?

Example:

is (AllDiff(x1 ,x2, x3 ) Ç x1 < x2 + 3 Æ x2 > x3 - 1 )) satisfiable ?

x1 ,x2 , x3 ∈ [0..10] � Z

� Applications in verification:

� Formal verification: ??

� Simulation: test generation for hardware

Page 6: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

6

Why CSP (Constraints Satisfaction Problem) ?

� A Higher-level modeling language

� Can lead to an order of magniture smaller model size.

� Does not matter much in practice

� Certain constraints can be solved faster than in SAT

� Some (e.g. “all-different”) can be solved directly in P

Example:

is (AllDiff(x1 ,x2, x3 ) Ç x1 < x2 + 3 Æ x2 > x3 - 1 )) satisfiable ?

x1 ,x2 , x3 ∈ [0..10] � Z

Page 7: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

7

SAT and CSP

� SAT is crawling towards CSP

� Various SAT solvers now support high-level constraints

over Boolean variables:

� Cripto-minisat supports XOR constraints

� MiniSat+ supports cardinality constraints

� CSP is crawling towards SAT:

� Some solvers support reduction to SAT

� Solution strategy now mimics SAT

Page 8: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

8

Why proofs ?

� Traditionally the focus was on finding models

� No information was given in case of UNSAT

� As of Chaff (2003 -- ) solvers produce proofs

� Originally just to validate result

Page 9: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

9

Why proofs ?

Several killer-applications (SAT):

� Validate UNSAT results

� From the proof we can extract an unsat core

� Used in formal verification [AM03, KKB09, BKOSSB07…]

� Uses of the proof itself:

� Interpolation-based model checking [M03].

� Can we foresee usage for proofs in CSP ?

Page 10: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

10

The grand plan for today

� Intro: the role of SAT, CSP and proofs in verification

� SAT – how it works, and how it produces proofs

� CSP - how it works, and how it produces proofs

� Making proofs smaller

Page 11: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

11

CNF-SAT

� Conjunctive Normal Form: Conjunction of disjunction of

literals. Example:(¬x1 Ç ¬x2) Æ (x2 Ç x4 Ç ¬x1) Æ ...

� Polynomial transformation to CNF due to Tseitin (1970)

� Requires adding auxiliary variables.

Page 12: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

12

Main steps – SAT

� “Decide”

� Variable, value

� “Boolean Constraints Propagation

(BCP)”

� infer implied assignments

� “Analyze conflict”

� applies learning

� computes backtracking level

SAT

Page 13: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

13

About that “constraints propagation”

� given (¬x1 Ç ¬x2) Æ (x2 Ç x4 Ç ¬x1) Æ ...

BCP: x1 = 1 ⇒ x2 = 0 ⇒ x4 = 1 ⇒…

Page 14: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

14

SAT essentials

Page 15: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

15

Implication graphs and learning

ω1 = (¬x1 ∨ x2)

ω2 = (¬x1 ∨ x3 ∨ x9)

ω3 = (¬x2 ∨ ¬x3 ∨ x4)

ω4 = (¬x4 ∨ x5 ∨ x10)

ω5 = (¬x4 ∨ x6 ∨ x11)

ω6 = (¬x5 ∨ ¬ x6)

ω7 = (x1 ∨ x7 ∨ ¬x12)

ω8 = (x1∨ x8)

ω9 = (¬x7 ∨ ¬x8 ∨ ¬ x13)

Current truth assignment: {x9=0@1 ,x10=0@3, x11=0@3, x12=1@2, x13=1@2}

Current decision assignment: {x1=1@6}

ω6

ω6κ

conflict

x9=0@1

x1=1@6

x10=0@3

x11=0@3

x5=1@6ω4

ω4

ω5

ω5 x6=1@6ω2

ω2

x3=1@6

ω1

x2=1@6

ω3

ω3

x4=1@6

We learn the conflict clause ω10 : (¬x1 Ç x9 Ç x11 Ç x10)

and backtrack to the highest (deepest) dec. level in this clause (6).

Page 16: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

16

Implication graph, flipped assignment

x1=0@6

x11=0@3

x10=0@3

x9=0@1

x12=1@2

x7=1@6ω7

ω7

x8=1@6

ω8

ω10

ω10

ω10

x13=1@2

ω9

ω9

κ’

ω9

Due to the

conflict clause

ω1 = (¬x1 ∨ x2)

ω2 = (¬x1 ∨ x3 ∨ x9)

ω3 = (¬x2 ∨ ¬x3 ∨ x4)

ω4 = (¬x4 ∨ x5 ∨ x10)

ω5 = (¬x4 ∨ x6 ∨ x11)

ω6 = (¬x5 ∨ x6)

ω7 = (x1 ∨ x7 ∨ ¬x12)

ω8 = (x1∨ x8)

ω9 = (¬x7 ∨ ¬x8 ∨ ¬ x13)

ω10 : (¬ x1 Ç x9 Ç x11 Ç x10)

We learn the conflict clause ω11 : (¬x13 Ç x9 Ç x10 Ç x11 Ç ¬x12)

and backtrack to the highest (deepest) dec. level in this clause (3).

Page 17: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

17

Non-chronological backtracking

Non-

chronological

backtracking

x1

4

5

6

κ κ’

Decision level

Which assignments caused

the conflicts ?

x9= 0@1

x10= 0@3

x11= 0@3

x12= 1@2

x13= 1@2

Backtrack to decision level 3

3

These assignments

Are sufficient for

Causing a conflict.

Page 18: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

18

Learning and resolution

� Learning of a clause = inference by resolution.

� To be explained

� This is the key for producing a machine-checkable proof

Page 19: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

19

Resolution

� …By example:

� Formally:

Page 20: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

20

Resolution proof

(1 3) (-1 2 5)

(2 3 5) (1 -2)

(1 3 5)

(-1 4) (-1 -4)

(-1)

(3 5)

A proof: (1 3) Æ (-1 2 5) Æ (-1 4) Æ (-1 -4) (3 5)

Page 21: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

21

Resolution proof ⇒ Hyper resolution proof

(1 3) (-1 2 5)

(-1 4) (-1 -4)

(3 5)

A proof: (1 3) Æ (-1 2 5) Æ (-1 4) Æ (-1 -4) (3 5)

Page 22: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

22

� Consider the following example:

� Conflict clause: c: (x2 Ç ¬x4 Ç x10)

� We show that c is inferred by resolution from c,…,c

Conflict clauses and resolution

Page 23: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

23

� Conflict clause: c5: (x2 Ç ¬x4 Ç x10)

� BCP order: x4,x5,x6,x7

� T1 = Res(c4,c3,x7) = (¬x5 Ç ¬x6)

� T2 = Res(T1, c2, x6) = (¬x4 Ç ¬x5 Ç X10 )

� T3 = Res(T2,c1,x5) = (x2 ÇÇÇÇ ¬¬¬¬x4 ÇÇÇÇ x10 )

Conflict clauses and resolution

Page 24: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

24

The Resolution-Graph

ω1

ω2

ω3

ω4

ω5

ω6

ω10

ω7

ω8

ω9

ω11

ω5

ω5

ω6

ω6κ

conflict

ω4

ω4

ω2

ω2

ω1 ω3

ω3

ω7

ω7

ω8

ω10

ω10

ω10 ω9

ω9

κ’

conflict

ω9

(Hyper) Resolution Graph

ω10 can be

inferred via

resolution from ω1...ω6

Page 25: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

25

The resolution graph

What is it good for ?

Example: for computing an Unsatisfiable core

[Picture Borrowed from Zhang, Malik SAT’03]

Page 26: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

26

The grand plan for today

� Intro: the role of SAT, CSP and proofs in verification

� SAT – how it works, and how it produces proofs

� CSP - how it works, and how it produces proofs

� Making proofs smaller

Page 27: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

27

Main steps – SAT and CSP*

� “Decide”

� Variable, value

� “Boolean Constraints

Propagation (BCP)”

� infer implied assignments

� “Analyze conflict”

� applies learning

� computes backtracking level

� Same

� “Boolean Constraints

Propagation (CP)”

� same

� Same

SAT CSP

*As implemented in PCS / Michael Veksler

Page 28: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

28

About that “constraints propagation”

� Given x1 , x2 , x3 ∈ [1..3], AllDifferent(x1 , x2 , x3 )

CP: x1 = 1 ⇒ x2 , x3 ∈ [2..3]

Page 29: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

29

What about CSP proofs ?

� SAT solvers generate proofs:

� From initial clauses to ( ).

� Inference is via the binary-resolution rule.

� Unlike SAT solvers, CSPs:

� have non-Boolean domains, and

� non-clausal constraints.

� Can this gap be bridged?

� The following is based on [SV10]

Page 30: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

30

Signed CNF

Page 31: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

31

Signed resolution

� A binary-resolution rule for signed-CNF:

� Signed-clauses �

� What about other constraints ?

e.g.

should we just convert CSP to signed CNF?

Page 32: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

32

Signed resolution

� Q: should we just convert CSP to signed CNF?

� A: No, because it is generally inefficient:

� e.g., x ≠ y requires:

Page 33: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

33

Towards a solution…

� Solution: introduce clauses lazily.

� Consider a general constraint c, such that:

� In the context of l1 Æ l2 Æ … Æ ln,

� propagation of c implies I :

(l1 Æ l2 Æ …Æ ln Æ c) → l

Page 34: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

34

Towards a solution…

(l1 Æ l2 Æ …Æ ln Æ c) → l

� Find an explanation clause e such that:

� e is not too strong: c → e

� e is strong enough: (l1 Æl2 Æ …Æ ln Æ e) → l

Page 35: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

35

The structure of a CSP proof

Page 36: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

36

Explanation rules

Page 37: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

37

Explanation rules – example 1

parameterized

m = the value that trigerred the rule

Page 38: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

38

Explanation rules – example 1

Page 39: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

39

Explanation rules – example 2

Instantiate m with max(domain(y))

Page 40: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

40

Explanation rules – example 2

Page 41: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

41

Each constraint has its rule …

Page 42: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

42

So this is how the proof looks like…

Page 43: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

43

The grand plan for today

� Intro: the role of SAT, CSP and proofs in verification

� SAT – how it works, and how it produces proofs

� CSP - how it works, and how it produces proofs

� Making proofs smaller

Page 44: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

44

Minimizing the core

� The proof is not unique.

� Different proofs / different cores.

� Can we find a minimum / minimal / smaller cores/proofs?

Page 45: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

45

Minimizing the core

� Core compression

� Smaller core [ZM03, …]

� Minimal core [DHN06, …]

� Min-core-biased search [NRS’13]

� Proof compression:

� Exponential-time transformations [GKS’06]

� Linear time transformations

� “Recycle pivots” [BFHSS’08], …

Page 46: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

46

Core compression (smaller core)

� A basic approach: run until reaching a fixpoint [chaff]

SAT solver

ϕ

core ==

last_core ?

corecore

last_core = core

yes

no

initially last_core = ∅

Page 47: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

47

Remove an unmarked clause c ∈ ϕ

SAT(ϕ) ?

mark c

yes

ϕ := core

no

Initially ϕ’s clauses are unmarkedReturn ϕ

Core compression (minimal core)

Page 48: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

48

Proof-compression

linear-time transformation / “Recycle-pivots”

� Based on the following fact:

� Every resolution proof can be made ‘regular’

� … which means that each pivot appears not more than

once on every path.

Page 49: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

49

3 4 5 6

2 6

-1 -2 51 3 4

1 2 3 -2 4

-2 3 4 5

Proof-compression

linear-time transformation / “Recycle-pivots”

2

1

2

Page 50: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

50

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

Proof-compression

linear-time transformation / “Recycle-pivots”

Collect “removable literals”

2

1

2

Reconstruct proof

Page 51: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

51

2 6 -2 4

4 6

Proof-compression

linear-time transformation / “Recycle-pivots”

Page 52: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

52

� 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

Proof-compression

linear-time transformation / “Recycle-pivots”

Page 53: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

53

� 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

Proof-compression

linear-time transformation / “Recycle-pivots”

Page 54: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

54

2 6

-1 -2 5

1 2 3 -2 4

-2 4

-2 4

4 6

Proof-compression

linear-time transformation / “Recycle-pivots”

Page 55: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

55

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 inO(|E| log |V|)

A

B

()

Problem: need to be updated each time.

Proof-compression

linear-time transformation / “Recycle-pivots”

Page 56: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

56

� Possible solution:

� 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

Proof-compression

linear-time transformation / “Recycle-pivots”

Page 57: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

57

� Recycle pivots with intersection

� P. Fontaine, S. Merz and B. W.Paleo. Compression of Propositional

Resolution Proofs via Partial Regularization. In CADE’11.

� Local transformation Framework

� R. Bruttomesso, S.F. Rollini, N. Sharygina, and A. Tsitovich. Flexible

Interpolation with Local Proof Transformations. In ICCAD’10.

� S.F. Rollini, R. Bruttomesso and N. Sharygina. An Efficient and Flexible

Approach to Resolution Proof Reduction. In HVC’10.

� Lower units

� P. Fontaine, S. Merz and B. W.Paleo. Compression of Propositional

Resolution Proofs via Partial Regularization. In CADE’11.

� Structural hashing

� S. Cotton. Two Techniques for Minimizing Resolution Proofs. In SAT’10.

Proof-compression

linear-time transformations /recent advances

All implemented in PeRIPLO by S. Rollini. Together they reduce the proof size by ~40%.

Page 58: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

58

Summary

� SAT and CSP are not only about finding models

� They can provide proofs

� Proofs are important for

� validation

� extracting cores

� various formal-verification techniques

� Minimizing proofs/cores is a subject for intense research.

Page 59: IBM Research | IBM - SAT, CSP, and proofs · 2019. 11. 26. · 3 Why SAT ? Applications in verification: Formal verification: (Bounded) model checking for hardware [1999 -- ] Over

59

Questions ?