The Power of Satisfiability Checking Erika Abrah am RWTH Aachen - - PowerPoint PPT Presentation

the power of satisfiability checking
SMART_READER_LITE
LIVE PREVIEW

The Power of Satisfiability Checking Erika Abrah am RWTH Aachen - - PowerPoint PPT Presentation

The Power of Satisfiability Checking Erika Abrah am RWTH Aachen University, Germany ECSS 2016 Informatics Driving the Digital World Budapest, Hungary, October 24-26, 2016 Erika Abrah am - The Power of Satisfiability Checking 1 /


slide-1
SLIDE 1

The Power of Satisfiability Checking

Erika ´ Abrah´ am

RWTH Aachen University, Germany

ECSS 2016 Informatics Driving the Digital World Budapest, Hungary, October 24-26, 2016

Erika ´ Abrah´ am - The Power of Satisfiability Checking 1 / 43

slide-2
SLIDE 2

What is this talk about?

Quantifier-free logical formula Solver Satisfiability of the input formula

Erika ´ Abrah´ am - The Power of Satisfiability Checking 2 / 43

slide-3
SLIDE 3

What is this talk about?

Quantifier-free logical formula Solver Satisfiability of the input formula

???

Erika ´ Abrah´ am - The Power of Satisfiability Checking 2 / 43

slide-4
SLIDE 4

What is this talk about?

Quantifier-free logical formula Solver Satisfiability of the input formula

??? ??? ???

Erika ´ Abrah´ am - The Power of Satisfiability Checking 2 / 43

slide-5
SLIDE 5

The Boolean satisfiability problem...

Satisfiability problem for propositional logic

Given a formula combining some atomic propositions using the Boolean operators “and” (∧), “or” (∨) and “not” (¬), decide whether we can substitute truth values for the propositions such that the formula evaluates to true.

Example

Formula:

(a ∨ ¬b) ∧ (¬a ∨ b ∨ c)

Satisfying assignment:

a = true, b = false, c = true

It is the perhaps most well-known NP-complete problem [Cook, 1971] [Levin, 1973].

Erika ´ Abrah´ am - The Power of Satisfiability Checking 3 / 43

slide-6
SLIDE 6

...and its extension to theories

Satisfiability modulo theories problem (informal)

Given a Boolean combination of constraints from some theories, decide whether we can substitute (type-correct) values for the (theory) variables such that the formula evaluates to true.

A non-linear real arithmetic example

Formula:

(x − 2y > 0 ∨ x2 − 2 = 0) ∧ x4y + 2x2 − 4 > 0

Satisfying assignment:

x = √ 2, y = 2

There are some hard problem classes... non-linear integer arithmetic is even undecidable.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 4 / 43

slide-7
SLIDE 7

Some technologies for checking the satisfiability of logical formulas

Theorem provers Constraint solvers Computer algebra systems SAT/SMT solvers

Erika ´ Abrah´ am - The Power of Satisfiability Checking 5 / 43

slide-8
SLIDE 8

Some technologies for checking the satisfiability of logical formulas

Theorem provers Constraint solvers Computer algebra systems SAT/SMT solvers

Erika ´ Abrah´ am - The Power of Satisfiability Checking 5 / 43

slide-9
SLIDE 9

Some technologies for checking the satisfiability of logical formulas

Theorem provers Constraint solvers Computer algebra systems SAT/SMT solvers

Erika ´ Abrah´ am - The Power of Satisfiability Checking 5 / 43

slide-10
SLIDE 10

Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world

Erika ´ Abrah´ am - The Power of Satisfiability Checking 6 / 43

slide-11
SLIDE 11

Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world

Erika ´ Abrah´ am - The Power of Satisfiability Checking 7 / 43

slide-12
SLIDE 12

Somemilestones in SAT/SMT development (incomplete!)

... 1960 1970 1980 1990 2000 2010 2020

Mathematical logic Computer architecture development

Erika ´ Abrah´ am - The Power of Satisfiability Checking 8 / 43

slide-13
SLIDE 13

Somemilestones in SAT/SMT development (incomplete!)

... 1960 1970 1980 1990 2000 2010 2020

SAT solving

Mathematical logic Computer architecture development Enumeration DP (resolution) [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] NP-completeness [Cook’71] Conflict-directed backjumping CDCL, watched literals [GRASP’97] [zChaff’04] Forgetting Variable ordering heuristics Restarts

Erika ´ Abrah´ am - The Power of Satisfiability Checking 8 / 43

slide-14
SLIDE 14

Somemilestones in SAT/SMT development (incomplete!)

... 1960 1970 1980 1990 2000 2010 2020

SAT solving

Mathematical logic Computer architecture development Enumeration DP (resolution) [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] NP-completeness [Cook’71] Conflict-directed backjumping CDCL, watched literals [GRASP’97] [zChaff’04] Forgetting Variable ordering heuristics Restarts WalkSAT SATO GRASP Chaff BCSAT MiniSAT Berkmin zChaff Siege HyperSat RSat Sat4j ArgoSat Glucose CryptoMiniSat Lingeling UBCSAT Fast SAT Solver

Erika ´ Abrah´ am - The Power of Satisfiability Checking 8 / 43

slide-15
SLIDE 15

Satisfiability checking for propositional logic

SAT-solving community support: Standardised input language, lots of benchmarks available. Competitions since 2002. 2016 SAT Competition: 6 tracks, 29 solvers in the main track. SAT Live! forum as community platform, dedicated conferences, journals, etc.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 9 / 43

slide-16
SLIDE 16

An impression of the SAT solver development

Today, practical problems with millions of variables are solvable!

Erika ´ Abrah´ am - The Power of Satisfiability Checking 10 / 43

slide-17
SLIDE 17

An impression of the SAT solver development

Source: Jarvisalo, Le Berre, Roussel, Simon. The International SAT Solver

  • Competitions. AI Magazine, 2012.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 10 / 43

slide-18
SLIDE 18

Somemilestones in SAT/SMT development (incomplete!)

... 1960 1970 1980 1990 2000 2010 2020

SAT solving

Mathematical logic Computer architecture development Enumeration DP (resolution) [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] NP-completeness [Cook’71] Conflict-directed backjumping CDCL, watched literals [GRASP’97] [zChaff’04] Forgetting Variable ordering heuristics Restarts WalkSAT SATO GRASP Chaff BCSAT MiniSAT Berkmin zChaff Siege HyperSat RSat Sat4j ArgoSat Glucose CryptoMiniSat Lingeling UBCSAT Fast SAT Solver

Erika ´ Abrah´ am - The Power of Satisfiability Checking 11 / 43

slide-19
SLIDE 19

Somemilestones in SAT/SMT development (incomplete!)

... 1960 1970 1980 1990 2000 2010 2020

SAT solving

Mathematical logic Computer architecture development Enumeration DP (resolution) [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] NP-completeness [Cook’71] Conflict-directed backjumping CDCL, watched literals [GRASP’97] [zChaff’04] Forgetting Variable ordering heuristics Restarts Decision procedures for combined theories [Shostak’79] [Nelson, Oppen’79] DPLL(T) Equalities Uninterpreted functions Bit-vector arithmetic Array theory Floating-point arithmetic Arithmetic theories WalkSAT SATO GRASP Chaff BCSAT MiniSAT Berkmin zChaff Siege HyperSat RSat Sat4j ArgoSat Glucose CryptoMiniSat Lingeling UBCSAT Fast SAT Solver

Erika ´ Abrah´ am - The Power of Satisfiability Checking 11 / 43

slide-20
SLIDE 20

Somemilestones in SAT/SMT development (incomplete!)

... 1960 1970 1980 1990 2000 2010 2020

SAT solving SMT solving

Mathematical logic Computer architecture development Enumeration DP (resolution) [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] NP-completeness [Cook’71] Conflict-directed backjumping CDCL, watched literals [GRASP’97] [zChaff’04] Forgetting Variable ordering heuristics Restarts Decision procedures for combined theories [Shostak’79] [Nelson, Oppen’79] DPLL(T) Equalities Uninterpreted functions Bit-vector arithmetic Array theory Floating-point arithmetic Arithmetic theories WalkSAT SATO GRASP Chaff BCSAT MiniSAT Berkmin zChaff Siege HyperSat RSat Sat4j ArgoSat Glucose CryptoMiniSat Lingeling UBCSAT Fast SAT Solver Simplify SVC ICS Uclid MathSAT Barcelogic Yices CVC HySAT/iSAT DPT Z3 Alt-Ergo Beaver ABsolver Boolector PicoSAT Spear MiniSmt STP veriT OpenCog OpenSMT SatEEn SWORD SONOLAR SMTInterpol SMT-RAT SMCHR UCLID Clasp raSAT

Erika ´ Abrah´ am - The Power of Satisfiability Checking 11 / 43

slide-21
SLIDE 21

Satisfiability modulo theories solving

Active SMT community: SMT-LIB as standard input language since 2004. Competitions since 2005. SMT-COMP 2016 competition: 4 tracks, 41 logical categories.

QF linear real arithmetic: 7 + 2 solvers, 1626 benchmarks. QF linear integer arithmetic: 6 + 2 solvers, 5839 benchmarks. QF non-linear real arithmetic: 5 + 1 solvers, 10245 benchmarks. QF non-linear integer arithmetic: 7 + 1 solvers, 8593 benchmarks.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 12 / 43

slide-22
SLIDE 22

SMT-LIB theories

Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43

slide-23
SLIDE 23

SMT-LIB theories

Quantifier-free equality logic with uninterpreted functions

( a = c ∧ b = d ) → f(a, b) = f(c, d)

Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43

slide-24
SLIDE 24

SMT-LIB theories

Quantifier-free bit-vector arithmetic

( a|b ) ≤ ( a&b )

Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43

slide-25
SLIDE 25

SMT-LIB theories

Quantifier-free array theory

i = j → read(write(a, i, v), j) = v

Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43

slide-26
SLIDE 26

SMT-LIB theories

Quantifier-free integer/rational difference logic

x − y ∼ 0, ∼∈ {<, ≤, =, ≥, >}

Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43

slide-27
SLIDE 27

SMT-LIB theories

(Quantifier-free) real/integer linear arithmetic

3x + 7y = 8

Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43

slide-28
SLIDE 28

SMT-LIB theories

(Quantifier-free) real/integer non-linear arithmetic

x2 + 2xy + y2 ≥ 0

Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43

slide-29
SLIDE 29

SMT-LIB theories

Combined theories

2f(x) + 5y > 0

Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43

slide-30
SLIDE 30

Google Scholar search for “SAT modulo theories”

1000 2000 3000 4000 5000

1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015

Erika ´ Abrah´ am - The Power of Satisfiability Checking 14 / 43

slide-31
SLIDE 31

Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world

Erika ´ Abrah´ am - The Power of Satisfiability Checking 15 / 43

slide-32
SLIDE 32

What does “strategic combination” mean?

+

?

=

Erika ´ Abrah´ am - The Power of Satisfiability Checking 16 / 43

slide-33
SLIDE 33

What does “strategic combination” mean?

+

?

=

Erika ´ Abrah´ am - The Power of Satisfiability Checking 16 / 43

slide-34
SLIDE 34

What does “strategic combination” mean?

+

!

=

Erika ´ Abrah´ am - The Power of Satisfiability Checking 16 / 43

slide-35
SLIDE 35

Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world

Erika ´ Abrah´ am - The Power of Satisfiability Checking 17 / 43

slide-36
SLIDE 36

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-37
SLIDE 37

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration . . .

1 1 1 1

c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-38
SLIDE 38

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration . . .

1 1 1 1

a b c c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-39
SLIDE 39

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration . . .

1 1 1 1

a b c c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-40
SLIDE 40

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration . . .

1 1 1 1

a b c c c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-41
SLIDE 41

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration . . .

1 1 1 1

a b c c c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-42
SLIDE 42

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation . . .

1 1 1 1

c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-43
SLIDE 43

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation . . .

1 1 1 1

a c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-44
SLIDE 44

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation . . .

1 1 1

a b c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-45
SLIDE 45

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation . . .

1 1 1

a b c c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-46
SLIDE 46

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation Ingredients: Enumeration + Boolean constraint propagation + Resolution . . .

1 1 1

a b c c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43

slide-47
SLIDE 47

Resolution

Assumption: conjunctive normal form (CNF)

Erika ´ Abrah´ am - The Power of Satisfiability Checking 19 / 43

slide-48
SLIDE 48

Resolution

Assumption: conjunctive normal form (CNF)

Derivation rule form: antecendent1 . . . antecendentn consequent Rule name

Erika ´ Abrah´ am - The Power of Satisfiability Checking 19 / 43

slide-49
SLIDE 49

Resolution

Assumption: conjunctive normal form (CNF)

Derivation rule form: antecendent1 . . . antecendentn consequent Rule name

(l1 ∨ . . . ∨ ln ∨ x) (l′

1 ∨ . . . ∨ l′ m ∨ ¬x)

(l1 ∨ . . . ∨ ln ∨ l′

1 ∨ . . . ∨ l′ m)

Ruleres

Erika ´ Abrah´ am - The Power of Satisfiability Checking 19 / 43

slide-50
SLIDE 50

Resolution

Assumption: conjunctive normal form (CNF)

Derivation rule form: antecendent1 . . . antecendentn consequent Rule name

(l1 ∨ . . . ∨ ln ∨ x) (l′

1 ∨ . . . ∨ l′ m ∨ ¬x)

(l1 ∨ . . . ∨ ln ∨ l′

1 ∨ . . . ∨ l′ m)

Ruleres

∃x. Cx ∧ C¬x ∧ C ↔

Resolvents (Cx, C¬x) ∧ C

Erika ´ Abrah´ am - The Power of Satisfiability Checking 19 / 43

slide-51
SLIDE 51

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation Ingredients: Enumeration + Boolean constraint propagation + Resolution . . .

1 1 1

a b c c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 20 / 43

slide-52
SLIDE 52

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation Ingredients: Enumeration + Boolean constraint propagation + Resolution . . .

1 1 1

a b c c3 : (¬b ∨ c) c2 : (¬b ∨ ¬c) c4 : (¬b) Resolution c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 20 / 43

slide-53
SLIDE 53

DPLL SAT solving with conflict-directed clause learning

Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation Ingredients: Enumeration + Boolean constraint propagation + Resolution . . .

1 1 1

a b c c3 : (¬b ∨ c) c2 : (¬b ∨ ¬c) c4 : (¬b) Resolution c4 : ( ¬b )∧ c1 : ( ¬a ∨ b )∧ c2 : ( ¬b ∨ ¬c )∧ c3 : ( ¬b ∨ c )∧ . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 20 / 43

slide-54
SLIDE 54

Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world

Erika ´ Abrah´ am - The Power of Satisfiability Checking 21 / 43

slide-55
SLIDE 55

(Full/less) lazy SMT solving

ϕ

quantifier-free FO formula Boolean abstraction Tseitin’s transformationϕ′ propositional logic formula in CNF SAT solver Theory solver(s) theory constraints SAT

  • r

UNSAT + lemmas

SAT or UNSAT

Erika ´ Abrah´ am - The Power of Satisfiability Checking 22 / 43

slide-56
SLIDE 56

Less lazy SMT solving

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-57
SLIDE 57

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0)

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-58
SLIDE 58

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-59
SLIDE 59

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

SAT solver Theory solver(s)

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-60
SLIDE 60

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

SAT solver Theory solver(s)

¬a

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-61
SLIDE 61

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

SAT solver Theory solver(s)

¬a, b

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-62
SLIDE 62

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

SAT solver Theory solver(s)

¬a, b

x ≥ 0, x > 2

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-63
SLIDE 63

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

SAT solver Theory solver(s)

¬a, b

x ≥ 0, x > 2 SAT

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-64
SLIDE 64

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

SAT solver Theory solver(s)

¬a, b, ¬c

x ≥ 0, x > 2

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-65
SLIDE 65

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

SAT solver Theory solver(s)

¬a, b, ¬c, d

x ≥ 0, x > 2

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-66
SLIDE 66

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

SAT solver Theory solver(s)

¬a, b, ¬c, d

x ≥ 0, x > 2, x2 1, x2 < 0

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-67
SLIDE 67

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d )

SAT solver Theory solver(s)

¬a, b, ¬c, d

x ≥ 0, x > 2, x2 1, x2 < 0 UNSAT: ¬(x2 < 0)

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-68
SLIDE 68

Less lazy SMT solving

(x < 0 ∨ x > 2) ∧ (x2 = 1 ∨ x2 < 0) ( a ∨ b ) ∧ ( c ∨ d ) ∧ (¬d)

SAT solver Theory solver(s)

¬a, b, ¬c, d

x ≥ 0, x > 2, x2 1, x2 < 0 UNSAT: ¬(x2 < 0)

Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43

slide-69
SLIDE 69

Some theory solver candidates for arithmetic theories

Linear real arithmetic: Simplex Ellipsoid method Fourier-Motzkin variable elimination (mostly preprocessing) Interval constraint propagation (incomplete) Linear integer arithmetic: Cutting planes, Gomory cuts Branch-and-bound (incomplete) Bit-blasting (eager) Interval constraint propagation (incomplete) Non-linear real arithmetic: Cylindrical algebraic decomposition Gr¨

  • bner bases

(mostly preprocessing/simplification) Virtual substitution (focus on low degrees) Interval constraint propagation (incomplete) Non-linear integer arithmetic: Generalised branch-and-bound (incomplete) Bit-blasting (eager, incomplete)

Erika ´ Abrah´ am - The Power of Satisfiability Checking 24 / 43

slide-70
SLIDE 70

Problem solved?

Can we use implementations of those methods out of the box?

Erika ´ Abrah´ am - The Power of Satisfiability Checking 25 / 43

slide-71
SLIDE 71

Problem solved?

Can we use implementations of those methods out of the box? Theory solvers should be SMT-compliant, i.e., they should work incrementally, generate lemmas explaining inconsistencies, and be able to backtrack.

ϕ

quantifier-free FO formula Boolean abstraction Tseitin’s transformationϕ′ propositional logic formula in CNF SAT solver Theory solver(s) theory constraints SAT

  • r

UNSAT + lemmas SAT or UNSAT

Erika ´ Abrah´ am - The Power of Satisfiability Checking 25 / 43

slide-72
SLIDE 72

Problem solved?

Can we use implementations of those methods out of the box? Theory solvers should be SMT-compliant, i.e., they should work incrementally, generate lemmas explaining inconsistencies, and be able to backtrack.

ϕ

quantifier-free FO formula Boolean abstraction Tseitin’s transformationϕ′ propositional logic formula in CNF SAT solver Theory solver(s) theory constraints SAT

  • r

UNSAT + lemmas SAT or UNSAT

Originally, the mentioned methods are not SMT-compliant. SMT-adaptations can be tricky, but can lead to beautiful novel algorithms.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 25 / 43

slide-73
SLIDE 73

Satisfiablility checking and symbolic computation

Bridging two communities to solve real problems

http://www.sc-square.org/CSA/welcome.html

Erika ´ Abrah´ am - The Power of Satisfiability Checking 26 / 43

slide-74
SLIDE 74

Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world

Erika ´ Abrah´ am - The Power of Satisfiability Checking 27 / 43

slide-75
SLIDE 75

The SMT-RAT library

SMT Solver Strategic composition of SMT-RAT modules SMT real-algebraic toolbox preprocessing, SAT and theory solver modules CArL real-arithmetic computations gmp, Eigen3, boost

Erika ´ Abrah´ am - The Power of Satisfiability Checking 28 / 43

slide-76
SLIDE 76

Strategic composition of solver modules in SMT-RAT

SMT solver SAT solver Manager Strategy

Condition Condition Condition

. . . Module Module Module Module

. . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 29 / 43

slide-77
SLIDE 77

A pizza positioning example

y x 10 20 30 40 10 20 30 40 50 60 (x2, y2) r2 (x3, y3) r3 (x1, y1) r1

3

  • i=1

(ri = 13 ∨ ri = 10 ∨ ri = 25

2 ∨ ri = 27 2 )

2

  • i=1

3

  • j=i+1

¬(ri = rj) ∧

3

  • i=1

(xi + ri ≤ 60 ∧ xi − ri ≥ 0 ∧ yi + ri ≤ 40 ∧ yi − ri ≥ 0) ∧

2

  • i=1

3

  • j=i+1

(xi − xj)2 + (yi − yj)2 ≥ (ri + rj)2

Erika ´ Abrah´ am - The Power of Satisfiability Checking 30 / 43

slide-78
SLIDE 78

A pizza positioning example

3

  • i=1

(ri = 13 ∨ ri = 10 ∨ ri = 25

2 ∨ ri = 27 2 )

2

  • i=1

3

  • j=i+1

¬(ri = rj) ∧

3

  • i=1

(xi + ri ≤ 60 ∧ xi − ri ≥ 0 ∧ yi + ri ≤ 40 ∧ yi − ri ≥ 0) ∧

2

  • i=1

3

  • j=i+1

(xi − xj)2 + (yi − yj)2 ≥ (ri + rj)2 Z3, the currently most popular SMT solver, could not solve this problem within several minutes.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 30 / 43

slide-79
SLIDE 79

A pizza positioning example

3

  • i=1

(ri = 13 ∨ ri = 10 ∨ ri = 25

2 ∨ ri = 27 2 )

2

  • i=1

3

  • j=i+1

¬(ri = rj) ∧

3

  • i=1

(xi + ri ≤ 60 ∧ xi − ri ≥ 0 ∧ yi + ri ≤ 40 ∧ yi − ri ≥ 0) ∧

2

  • i=1

3

  • j=i+1

(xi − xj)2 + (yi − yj)2 ≥ (ri + rj)2 Z3, the currently most popular SMT solver, could not solve this problem within several minutes. Combining interval constraint propagation and virtual substitution using SMT-RAT finished in a seond!

Erika ´ Abrah´ am - The Power of Satisfiability Checking 30 / 43

slide-80
SLIDE 80

Some other key issues

Heuristics!!! Lemma generation Efficient data structures . . .

Erika ´ Abrah´ am - The Power of Satisfiability Checking 31 / 43

slide-81
SLIDE 81

Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world

Erika ´ Abrah´ am - The Power of Satisfiability Checking 32 / 43

slide-82
SLIDE 82

Embedding SAT/SMT solvers

Software engine Problem Logical problem specification SAT/SMT solver Solution Environment

Erika ´ Abrah´ am - The Power of Satisfiability Checking 33 / 43

slide-83
SLIDE 83

Embedding SAT/SMT solvers

Software engine Problem Logical problem specification SAT/SMT solver Solution Environment Encoding: SAT/SMT-LIB standard elaborate encoding is extremely important!

Erika ´ Abrah´ am - The Power of Satisfiability Checking 33 / 43

slide-84
SLIDE 84

Embedding SAT/SMT solvers

Software engine Problem Logical problem specification SAT/SMT solver Solution Environment Encoding: SAT/SMT-LIB standard elaborate encoding is extremely important! standard input syntax → free solver choice

Erika ´ Abrah´ am - The Power of Satisfiability Checking 33 / 43

slide-85
SLIDE 85

Embedding SAT/SMT solvers

Software engine Problem Logical problem specification SAT/SMT solver Solution Environment Encoding: SAT/SMT-LIB standard elaborate encoding is extremely important! standard input syntax → free solver choice In the following: applications of SMT solvers

Erika ´ Abrah´ am - The Power of Satisfiability Checking 33 / 43

slide-86
SLIDE 86

Bounded model checking for C/C++

Source: D. Kroening. CBMC home page. http://www.cprover.org/cbmc/

Erika ´ Abrah´ am - The Power of Satisfiability Checking 34 / 43

slide-87
SLIDE 87

Bounded model checking for C/C++

Logical encoding of finite unsafe paths

Source: D. Kroening. CBMC home page. http://www.cprover.org/cbmc/

Erika ´ Abrah´ am - The Power of Satisfiability Checking 34 / 43

slide-88
SLIDE 88

Bounded model checking for C/C++

Logical encoding of finite unsafe paths Encoding idea: Init(s0) ∧ Trans(s0, s1) ∧ . . . ∧ Trans(sk−1, sk) ∧ Bad(s0, . . . , sk)

Source: D. Kroening. CBMC home page. http://www.cprover.org/cbmc/

Erika ´ Abrah´ am - The Power of Satisfiability Checking 34 / 43

slide-89
SLIDE 89

Bounded model checking for C/C++

Logical encoding of finite unsafe paths Encoding idea: Init(s0) ∧ Trans(s0, s1) ∧ . . . ∧ Trans(sk−1, sk) ∧ Bad(s0, . . . , sk) Application examples: Error localisation and explanation Equivalence checking Test case generation Worst-case execution time

Source: D. Kroening. CBMC home page. http://www.cprover.org/cbmc/

Erika ´ Abrah´ am - The Power of Satisfiability Checking 34 / 43

slide-90
SLIDE 90

BMC for graph transformation systems

Source: T. Isenberg, D. Steenken, and H. Wehrheim. Bounded Model Checking of Graph Transformation Systems via SMT Solving. In Proc. FMOODS/FORTE’13.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 35 / 43

slide-91
SLIDE 91

BMC for graph transformation systems

Encode initial and forbidden state graphs and the graph transformation rules in first-order logic.

Apply bounded model checking

Source: T. Isenberg, D. Steenken, and H. Wehrheim. Bounded Model Checking of Graph Transformation Systems via SMT Solving. In Proc. FMOODS/FORTE’13.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 35 / 43

slide-92
SLIDE 92

Hybrid systems reachability analysis

Source: D. Bryce, J. Sun, P . Zuliani, Q. Wang, S. Gao, F. Shmarov, S. Kong, W. Chen, Z. Tavares. dReach home page. http://dreal.github.io/dReach/

Erika ´ Abrah´ am - The Power of Satisfiability Checking 36 / 43

slide-93
SLIDE 93

Termination analysis for programs

Source: T. Str¨

  • der, C. Aschermann, F. Frohn, J. Hensel, J. Giesl.

AProVE: Termination and memory safety of C programs (competition contribution). In Proc. TACAS’15.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 37 / 43

slide-94
SLIDE 94

Termination analysis for programs

Term rewrite system

Source: T. Str¨

  • der, C. Aschermann, F. Frohn, J. Hensel, J. Giesl.

AProVE: Termination and memory safety of C programs (competition contribution). In Proc. TACAS’15.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 37 / 43

slide-95
SLIDE 95

Termination analysis for programs

Term rewrite system

Term rewrite system Dependency pairs Chains Logical encoding for well-founded orders.

Source: T. Str¨

  • der, C. Aschermann, F. Frohn, J. Hensel, J. Giesl.

AProVE: Termination and memory safety of C programs (competition contribution). In Proc. TACAS’15.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 37 / 43

slide-96
SLIDE 96

jUnitRV: Runtime verification of multi-threaded,

  • bject-oriented systems

Properties: linear temporal logics enriched with first-order theories Method: SMT solving + classical monitoring

Source: N. Decker, M. Leucker, D. Thoma. Monitoring modulo theories. International Journal on Software Tools for Technology Transfer, 18(2):205-225, April 2016.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 38 / 43

slide-97
SLIDE 97

Planning

Source: E. Scala, M. Ramirez, P . Haslum, S. Thiebaux. Numeric planning with disjunctive global constraints via SMT. In Proc. of ICASP’16.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 39 / 43

slide-98
SLIDE 98

Scheduling

Source: C. Ans´

  • tegui, M. Bofill, M. Palah´

ı, J. Suy, M. Villaret. Satisfiability modulo theories: An efficient approach for the resource-constrained project scheduling problem.

  • Proc. of SARA’11.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 40 / 43

slide-99
SLIDE 99

Deployment optimisation on the cloud

Location (e.g, VMs, PCs, ...) Depoloyable Components

User Constraints WordPress MySQL HTTP_Load_Balancer

HTTP_Load_Balancer_1 WordPress_3 MySQL_2 MySQL_1 WordPress_2 WordPress_1

Source: E. ´ Abrah´ am, F. Corzilius, E. Broch Johnsen, G. Kremer, J. Mauro. Zephyrus2: On the fly deployment optimization using SMT and CP technologies. Submitted to SETTA’16.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 41 / 43

slide-100
SLIDE 100

Parameter synthesis for probabilistic systems

Source: C. Dehnert, S. Junges, N. Jansen, F. Corzilius, M. Volk, H. Bruintjes, J.-P . Katoen, E. ´ Abrah´ am. PROPhESY: A probabilistic parameter synthesis tool. In Proc. of CAV’15.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 42 / 43

slide-101
SLIDE 101

Concluding notes

Satisfiability checking combines methods in innovative ways, putting big weight on (practical) efficiency. SAT and SMT solvers are impressively powerful general tools. They have a wide (and steeply increasing) range of application areas. They have a big impact on making our hardware and software systems more efficient and more safe.

Erika ´ Abrah´ am - The Power of Satisfiability Checking 43 / 43