Temporal Induction and SAT-Solving Niklas Srensson April 21, 2010 - - PowerPoint PPT Presentation

temporal induction and sat solving
SMART_READER_LITE
LIVE PREVIEW

Temporal Induction and SAT-Solving Niklas Srensson April 21, 2010 - - PowerPoint PPT Presentation

Temporal Induction and SAT-Solving Niklas Srensson April 21, 2010 Niklas Srensson Temporal Induction and SAT-Solving April 21, 2010 1 / 21 Simple Induction i 0 s 0 (Base-case) F ok? i n + 1 i n s n (Step-case) F F ok! ok? Niklas


slide-1
SLIDE 1

Temporal Induction and SAT-Solving

Niklas Sörensson April 21, 2010

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 1 / 21

slide-2
SLIDE 2

Simple Induction

s0 F i0

  • k?

(Base-case) sn F F in in+1

  • k!
  • k?

(Step-case)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 2 / 21

slide-3
SLIDE 3

Reachability

State Space Reachable States Init States Bad States

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 3 / 21

slide-4
SLIDE 4

Example: Simple Induction Fails

State Space Reachable States Init States Bad States

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 4 / 21

slide-5
SLIDE 5

Induction with Depth (k=3)

s0 F F F i0 i1 i2

  • k?
  • k?
  • k?

(Base-case) sn F F F F in in+1 in+2 in+3

  • k!
  • k!
  • k!
  • k?

(Step-case)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 5 / 21

slide-6
SLIDE 6

Correctness of Induction with Depth (k=3)

s0 s1 s2 s3 s4 s5 s6 . . . For any trace:

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 6 / 21

slide-7
SLIDE 7

Correctness of Induction with Depth (k=3)

s0 s1 s2 s3 s4 s5 s6 . . .

  • k
  • k
  • k

For any trace:

◮ First 3 states are ok

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 6 / 21

slide-8
SLIDE 8

Correctness of Induction with Depth (k=3)

s0 s1 s2 s3 s4 s5 s6 . . .

  • k
  • k
  • k
  • k

For any trace:

◮ First 3 states are ok ◮ 3 consecutive ok states must be succeeded by an ok state

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 6 / 21

slide-9
SLIDE 9

Correctness of Induction with Depth (k=3)

s0 s1 s2 s3 s4 s5 s6 . . .

  • k
  • k
  • k
  • k
  • k

For any trace:

◮ First 3 states are ok ◮ 3 consecutive ok states must be succeeded by an ok state ◮ And so on

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 6 / 21

slide-10
SLIDE 10

Correctness of Induction with Depth (k=3)

s0 s1 s2 s3 s4 s5 s6 . . .

  • k
  • k
  • k
  • k
  • k
  • k

For any trace:

◮ First 3 states are ok ◮ 3 consecutive ok states must be succeeded by an ok state ◮ And so on

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 6 / 21

slide-11
SLIDE 11

Example: Induction with Depth Fails

State Space Reachable States Init States Bad States

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 7 / 21

slide-12
SLIDE 12

Unique State Induction (k=3)

sn F F F F in in+1 in+2 in+3

  • k!
  • k!
  • k!
  • k?

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 8 / 21

slide-13
SLIDE 13

Unique State Induction (k=3)

sn F F F F in in+1 in+2 in+3

  • k!
  • k!
  • k!
  • k?

All Different!

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 8 / 21

slide-14
SLIDE 14

Correctness of Unique State Induction

◮ Unique state induction proves that all loop-free paths are ok ◮ Why can paths with loops be ignored?

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 9 / 21

slide-15
SLIDE 15

Correctness of Unique State Induction

◮ Unique state induction proves that all loop-free paths are ok ◮ Why can paths with loops be ignored?

Example trace: s1 = s3, s4 = s5 s0 s1 s2 s3 s4 s5 s6

  • k
  • k
  • k
  • k
  • k
  • k

¬ok

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 9 / 21

slide-16
SLIDE 16

Correctness of Unique State Induction

◮ Unique state induction proves that all loop-free paths are ok ◮ Why can paths with loops be ignored?

Example trace: s1 = s3, s4 = s5 s0 s1 s2 s3 s4 s5 s6

  • k
  • k
  • k
  • k
  • k
  • k

¬ok s1 s3

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 9 / 21

slide-17
SLIDE 17

Correctness of Unique State Induction

◮ Unique state induction proves that all loop-free paths are ok ◮ Why can paths with loops be ignored?

Example trace: s1 = s3, s4 = s5 s0 s3 s4 s5 s6

  • k
  • k
  • k
  • k

¬ok

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 9 / 21

slide-18
SLIDE 18

Correctness of Unique State Induction

◮ Unique state induction proves that all loop-free paths are ok ◮ Why can paths with loops be ignored?

Example trace: s1 = s3, s4 = s5 s0 s3 s4 s5 s6

  • k
  • k
  • k
  • k

¬ok s4 s5

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 9 / 21

slide-19
SLIDE 19

Correctness of Unique State Induction

◮ Unique state induction proves that all loop-free paths are ok ◮ Why can paths with loops be ignored?

Example trace: s1 = s3, s4 = s5 s0 s3 s5 s6

  • k
  • k
  • k

¬ok

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 9 / 21

slide-20
SLIDE 20

Correctness of Unique State Induction

◮ Unique state induction proves that all loop-free paths are ok ◮ Why can paths with loops be ignored?

Example trace: s1 = s3, s4 = s5 s0 s3 s5 s6

  • k
  • k
  • k

¬ok Counter-examples with loops can always be made loop-free!

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 9 / 21

slide-21
SLIDE 21

Property Generalization

State Space Reachable States Init States Bad States

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 10 / 21

slide-22
SLIDE 22

Property Generalization

State Space Reachable States Init States Bad States

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 10 / 21

slide-23
SLIDE 23

Induction in Practice

◮ Complete

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 11 / 21

slide-24
SLIDE 24

Induction in Practice

◮ Complete ◮ Increase depth until proof goes through (or counter example is

found)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 11 / 21

slide-25
SLIDE 25

Induction in Practice

◮ Complete ◮ Increase depth until proof goes through (or counter example is

found)

◮ Necessary depth can be very large (exponential)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 11 / 21

slide-26
SLIDE 26

Induction in Practice

◮ Complete ◮ Increase depth until proof goes through (or counter example is

found)

◮ Necessary depth can be very large (exponential) ◮ Induction may be strengthened by:

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 11 / 21

slide-27
SLIDE 27

Induction in Practice

◮ Complete ◮ Increase depth until proof goes through (or counter example is

found)

◮ Necessary depth can be very large (exponential) ◮ Induction may be strengthened by:

◮ Multiple properties Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 11 / 21

slide-28
SLIDE 28

Induction in Practice

◮ Complete ◮ Increase depth until proof goes through (or counter example is

found)

◮ Necessary depth can be very large (exponential) ◮ Induction may be strengthened by:

◮ Multiple properties ◮ Manual generalization Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 11 / 21

slide-29
SLIDE 29

Induction in Practice

◮ Complete ◮ Increase depth until proof goes through (or counter example is

found)

◮ Necessary depth can be very large (exponential) ◮ Induction may be strengthened by:

◮ Multiple properties ◮ Manual generalization ◮ Automatic generalization Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 11 / 21

slide-30
SLIDE 30

Satisfiability (SAT) in BMC and Induction

F

x0 x1 x2 x3 x4

  • k?

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 12 / 21

slide-31
SLIDE 31

Satisfiability (SAT) in BMC and Induction

F

x0 x1 x2 x3 x4

  • k?

◮ Find values for inputs x0 . . . xn such that ok becomes false

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 12 / 21

slide-32
SLIDE 32

Satisfiability (SAT) in BMC and Induction

F

x0 x1 x2 x3 x4

  • k?

◮ Find values for inputs x0 . . . xn such that ok becomes false ◮ Or, prove that no such set of values exists

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 12 / 21

slide-33
SLIDE 33

Why is it hard?

x0 x1 x2 x3

  • k

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

◮ Enumeration does not work ◮ Given k inputs there are 2k

combinations

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 13 / 21

slide-34
SLIDE 34

Conjunctive Normal Form

Variables: a, b, c, . . . Literals: a, ¬a, b, ¬b, c, ¬c, . . . Clauses: Disjunctions of literals Ex: (¬a ∨ b, ¬c) CNF: Conjunction of clauses Ex: (¬a ∨ b) ∧ (¬a ∨ c) ∧ (¬a ∨ ¬b ∨ c)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 14 / 21

slide-35
SLIDE 35

SAT-Problem Definition

◮ A CNF is satisfiable if there is a variable assignment that

evaluates all clauses to true

◮ (i.e. each clause contains at least one true literal) ◮ If no satisfying assignment exists, the CNF is unsatisfiable

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 15 / 21

slide-36
SLIDE 36

SAT-Problem Definition

◮ A CNF is satisfiable if there is a variable assignment that

evaluates all clauses to true

◮ (i.e. each clause contains at least one true literal) ◮ If no satisfying assignment exists, the CNF is unsatisfiable

Example

(a ∨ b) (¬a ∨ ¬b)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 15 / 21

slide-37
SLIDE 37

SAT-Problem Definition

◮ A CNF is satisfiable if there is a variable assignment that

evaluates all clauses to true

◮ (i.e. each clause contains at least one true literal) ◮ If no satisfying assignment exists, the CNF is unsatisfiable

Example

(a ∨ b) (¬a ∨ ¬b)

◮ a = 1, b = 1 is not a satisfying assignment

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 15 / 21

slide-38
SLIDE 38

SAT-Problem Definition

◮ A CNF is satisfiable if there is a variable assignment that

evaluates all clauses to true

◮ (i.e. each clause contains at least one true literal) ◮ If no satisfying assignment exists, the CNF is unsatisfiable

Example

(a ∨ b) (¬a ∨ ¬b)

◮ a = 1, b = 1 is not a satisfying assignment ◮ a = 1, b = 0 is a satisfying assignment

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 15 / 21

slide-39
SLIDE 39

Translating from Circuits into CNF

◮ Give fresh (SAT) variables for each input/gate ◮ Define clauses that establish input/output relationship of each gate

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 16 / 21

slide-40
SLIDE 40

Translating from Circuits into CNF

◮ Give fresh (SAT) variables for each input/gate ◮ Define clauses that establish input/output relationship of each gate

a b

(¬b ∨ ¬a) (a ∨ b)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 16 / 21

slide-41
SLIDE 41

Translating from Circuits into CNF

◮ Give fresh (SAT) variables for each input/gate ◮ Define clauses that establish input/output relationship of each gate

a b

(¬b ∨ ¬a) (a ∨ b)

a b c

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

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 16 / 21

slide-42
SLIDE 42

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-43
SLIDE 43

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

⊥ ¬b ⊥ ¬c ⊥ c b ¬a ⊥ ¬c Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-44
SLIDE 44

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

⊥ ¬b ⊥ ¬c ⊥ c b ¬a ⊥ ¬c Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-45
SLIDE 45

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

⊥ ¬b ⊥ ¬c ⊥ c b ¬a ⊥ ¬c Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-46
SLIDE 46

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

⊥ ¬b ⊥ ¬c ⊥ c b ¬a ⊥ ¬c Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-47
SLIDE 47

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

⊥ ¬b ⊥ ¬c ⊥ c b ¬a ⊥ ¬c Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-48
SLIDE 48

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

⊥ ¬b ⊥ ¬c ⊥ c b ¬a ⊥ ¬c Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-49
SLIDE 49

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

⊥ ¬b ⊥ ¬c ⊥ c b ¬a ⊥ ¬c Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-50
SLIDE 50

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

⊥ ¬b ⊥ ¬c ⊥ c b ¬a ⊥ ¬c Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-51
SLIDE 51

DPLL Algorithm: Backtracking Search

◮ Branch on some variable ◮ Solve each branch recursively ◮ Backtrack when some clause is falsified

⊥ ¬b ⊥ ¬c ⊥ c b ¬a ⊥ ¬c Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 17 / 21

slide-52
SLIDE 52

DPLL Algorithm: Unit Propagation

◮ Extend partial assignment with necessary implied assignments ◮ Avoids branching and reduces search space

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 18 / 21

slide-53
SLIDE 53

DPLL Algorithm: Unit Propagation

◮ Extend partial assignment with necessary implied assignments ◮ Avoids branching and reduces search space

Example

(¬a ∨ b) (¬a ∨ c) (¬b ∨ ¬c ∨ d)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 18 / 21

slide-54
SLIDE 54

DPLL Algorithm: Unit Propagation

◮ Extend partial assignment with necessary implied assignments ◮ Avoids branching and reduces search space

Example

(¬a ∨ b) (¬a ∨ c) (¬b ∨ ¬c ∨ d) a = 1

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 18 / 21

slide-55
SLIDE 55

DPLL Algorithm: Unit Propagation

◮ Extend partial assignment with necessary implied assignments ◮ Avoids branching and reduces search space

Example

(¬a ∨ b) (¬a ∨ c) (¬b ∨ ¬c ∨ d) a = 1 b = 1

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 18 / 21

slide-56
SLIDE 56

DPLL Algorithm: Unit Propagation

◮ Extend partial assignment with necessary implied assignments ◮ Avoids branching and reduces search space

Example

(¬a ∨ b) (¬a ∨ c) (¬b ∨ ¬c ∨ d) a = 1 b = 1 c = 1

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 18 / 21

slide-57
SLIDE 57

DPLL Algorithm: Unit Propagation

◮ Extend partial assignment with necessary implied assignments ◮ Avoids branching and reduces search space

Example

(¬a ∨ b) (¬a ∨ c) (¬b ∨ ¬c ∨ d) a = 1 b = 1 c = 1 d = 1

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 18 / 21

slide-58
SLIDE 58

DPLL Algorithm: Unit Propagation

◮ Extend partial assignment with necessary implied assignments ◮ Avoids branching and reduces search space

Example

(¬a ∨ b) (¬a ∨ c) (¬b ∨ ¬c ∨ d) a = 1 b = 1 c = 1 d = 1 ⊥ ¬c ⊥ c b ¬a Model c a

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 18 / 21

slide-59
SLIDE 59

DPLL Algorithm: Further Topics

◮ Pure literal rule (not used nowadays)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 19 / 21

slide-60
SLIDE 60

DPLL Algorithm: Further Topics

◮ Pure literal rule (not used nowadays) ◮ Efficient Unit Propagation (Watched Literals)

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 19 / 21

slide-61
SLIDE 61

DPLL Algorithm: Further Topics

◮ Pure literal rule (not used nowadays) ◮ Efficient Unit Propagation (Watched Literals) ◮ Variable Order Heuristics

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 19 / 21

slide-62
SLIDE 62

DPLL Algorithm: Further Topics

◮ Pure literal rule (not used nowadays) ◮ Efficient Unit Propagation (Watched Literals) ◮ Variable Order Heuristics ◮ Non-chronological Backtracking

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 19 / 21

slide-63
SLIDE 63

DPLL Algorithm: Further Topics

◮ Pure literal rule (not used nowadays) ◮ Efficient Unit Propagation (Watched Literals) ◮ Variable Order Heuristics ◮ Non-chronological Backtracking ◮ Learning

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 19 / 21

slide-64
SLIDE 64

DPLL Algorithm: Further Topics

◮ Pure literal rule (not used nowadays) ◮ Efficient Unit Propagation (Watched Literals) ◮ Variable Order Heuristics ◮ Non-chronological Backtracking ◮ Learning ◮ Restarts

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 19 / 21

slide-65
SLIDE 65

SAT Research

◮ SAT algorithms

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-66
SLIDE 66

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-67
SLIDE 67

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-68
SLIDE 68

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science ◮ Stimulated by annual SAT-competition Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-69
SLIDE 69

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science ◮ Stimulated by annual SAT-competition

◮ Applications of SAT

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-70
SLIDE 70

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science ◮ Stimulated by annual SAT-competition

◮ Applications of SAT

◮ Planning Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-71
SLIDE 71

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science ◮ Stimulated by annual SAT-competition

◮ Applications of SAT

◮ Planning ◮ FPGA routing Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-72
SLIDE 72

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science ◮ Stimulated by annual SAT-competition

◮ Applications of SAT

◮ Planning ◮ FPGA routing ◮ Puzzles (Sudoku etc) Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-73
SLIDE 73

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science ◮ Stimulated by annual SAT-competition

◮ Applications of SAT

◮ Planning ◮ FPGA routing ◮ Puzzles (Sudoku etc)

◮ Extensions to SAT

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-74
SLIDE 74

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science ◮ Stimulated by annual SAT-competition

◮ Applications of SAT

◮ Planning ◮ FPGA routing ◮ Puzzles (Sudoku etc)

◮ Extensions to SAT

◮ 0-1 Integer Linear Programming Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-75
SLIDE 75

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science ◮ Stimulated by annual SAT-competition

◮ Applications of SAT

◮ Planning ◮ FPGA routing ◮ Puzzles (Sudoku etc)

◮ Extensions to SAT

◮ 0-1 Integer Linear Programming ◮ Satisfiability Modulo Theories (SMT) Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-76
SLIDE 76

SAT Research

◮ SAT algorithms

◮ Heuristics & Data-structures ◮ Some would say more engineering than science ◮ Stimulated by annual SAT-competition

◮ Applications of SAT

◮ Planning ◮ FPGA routing ◮ Puzzles (Sudoku etc)

◮ Extensions to SAT

◮ 0-1 Integer Linear Programming ◮ Satisfiability Modulo Theories (SMT) ◮ Model Finding Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 20 / 21

slide-77
SLIDE 77

MiniSat

Developed during my PhD studies together with Niklas Een

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 21 / 21

slide-78
SLIDE 78

MiniSat

Developed during my PhD studies together with Niklas Een

◮ Simple ◮ Efficient ◮ Incremental ◮ Successful in SAT-competitions ◮ Widespread use in academia

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 21 / 21

slide-79
SLIDE 79

MiniSat

Developed during my PhD studies together with Niklas Een

◮ Simple ◮ Efficient ◮ Incremental ◮ Successful in SAT-competitions ◮ Widespread use in academia

Download

http://minisat.se

Niklas Sörensson Temporal Induction and SAT-Solving April 21, 2010 21 / 21