Automated Theorem Proving - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Automated Theorem Proving

Description:

affect the satisfiability of the clause set. Unit resolution ( b ) (c2 ... remove every clause containing b from C. Davis-Putnam algorithm (II) ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 22
Provided by: qad3
Category:

less

Transcript and Presenter's Notes

Title: Automated Theorem Proving


1
Automated Theorem Proving
  • Lecture 2
  • Propositional Satisfiability

2
Decision procedures
  • Boolean programs
  • Propositional satisfiability
  • Arithmetic programs
  • Propositional satisfiability modulo theory of
    linear arithmetic
  • Memory programs
  • Propositional satisfiability modulo theory of
    linear arithmetic arrays

3
Case I Boolean programs
  • Boolean-valued variables and boolean operations
  • ? Formula b ?? ? ? ?
  • b ? SymBoolConst

4
SAT
  • First NP-complete problem (Cook 1972)
  • Davis-Putnam algorithm (1960)
  • resolution-based
  • may use exponential memory
  • Davis-Logemann-Loveland algorithm (1962)
  • search-based
  • basis for all successful modern solvers
  • Conflict-driven learning and non-chronological
    backtracking (1996)
  • resolution strikes back!
  • Amazing progress
  • GRASP, SATO, Chaff, ZChaff, BerkMin,

5
Conjunctive Normal Form
  • ? CNF Formula c1 ? c2 ? cm
  • c ? Clause l1 ? l2 ? ln
  • l ? Literal b ?b
  • b ? SymBoolConst
  • Unit clause ( l )
  • a clause containing a single literal
  • Empty clause ( )
  • a clause containing no literal
  • equivalent to false

6
Conversion into CNF
  • In general, converting ? into an equivalent CNF
    formula may result in an exponential blow-up
  • We are only interested in satisfiability of ?
  • Convert into an equi-satisfiable CNF formula
    EQCNF(?)
  • ? is satisfiable iff EQCNF(?) is satisfiable
  • size of EQCNF(?) is polynomial in size of ?

7
Conversion into CNF
  • Convert formula ? into normal form NF(?)
  • NF(?) is polynomial in ?
  • Convert ? NF(?) into equisatisfiable CNF
    formula EQCNF(?)
  • EQCNF(?) is polynomial in ?

8
Normal Form
Normal form NF(?) ? ? Negated normal form
NNF(?) ? ??
NF(b) b NNF(b) ?b NF(??) NNF(?) NNF(??)
NF(?) NF(?1 ? ?2) NF(?1) ? NF(?1) NNF(?1 ? ?2)
NNF(?1) ? NNF(?2)
9
Equi-satisfiable CNF
Let ? be a formula in normal form. For each
subformula ? of ? - create a fresh symbol v? in
SymBoolConst Identify vb with b and v?b with ?b
Cl(b) Cl(?b) true Cl(???) Cl(?) ? Cl(?) ?
(v? ? v? ? v???) ? (v??? ? v?) ?
(v??? ? v?) Cl(???) Cl(?) ? Cl(?) ?
(v??? ? v? ? v?) ? (v? ? v???) ? (v? ? v???)
EQCNF(?) v? ? Cl(?)
10
Resolution
c1, c2 independent of b
clauses
(c1 ? b) (c2 ? ?b) (c1 ? c2)
resolvent
resolvent(b, c1 ? b, c2 ? ?b) c1 ? c2 ?b. (c1
? b) ? (c2 ? ?b)
11
Theorem
? ? (c1 ? b) ? (c2 ? ?b) iff ? ? (c1 ? b) ? (c2
? ?b) ? (c1 ? c2)
Adding the resolvent to the set of clauses does
not affect the satisfiability of the clause set.
12
Unit resolution
One of the clauses being resolved is a unit clause
( b ) (c2 ? ?b) ( c2 )
( ?b ) (c2 ? b) ( c2 )
Derivation of the empty clause (denoted by ?)
( b ) ( ?b ) ?
13
Davis-Putnam algorithm (I)
Given clause set C Rule 1 If a clause (c ? l ?
l) ? C, replace it with (c ? l) Rule 2 If a
clause (c ? b ? ?b) ? C, remove it from C Rule
3a If ?b does not occur in any clause in C,
remove every clause containing b from
C Rule 3b If b does not occur in any clause in
C, remove every clause containing
?b from C
14
Davis-Putnam algorithm (II)
Saturate C w.r.t Rules 1, 2, 3a, and 3b while (C
is nonempty) Pick a variable b appearing in
some clause in C C resolvent(b,c1,c2)
c1,c2 ? C Saturate C w.r.t. Rules 1, 2,
3a, and 3b if (? ? C) return unsatisfiable
C C return satisfiable
15
Satisfiable example
(a ? b ? c) (b ? ?c ? ?f) (?b ? c)
16
Unsatisfiable example
(a ? b) (a ? ?b) (?a ? c) (?a ? ?c)
Pick b
( a ) (?a ? c) (?a ? ?c)
Pick a
( c ) ( ?c )
Pick c
?
17
Correctness
Saturate C w.r.t Rules 1, 2, 3a, and 3b while (C
is nonempty) Pick a variable b appearing in
some clause in C C resolvent(b,c1,c2)
c1,c2 ? C Saturate C w.r.t. Rules 1, 2,
3a, and 3b if (? ? C) return unsatisfiable
C C return satisfiable
Two observations - Each of the rules 1, 2, 3a,
and 3b preserve satisfiability - C ?b. C
18
Memory explosion
Saturate C w.r.t Rules 1, 2, 3a, and 3b while (C
is nonempty) Pick a variable b appearing in
some clause in C C resolvent(b,c1,c2)
c1,c2 ? C Saturate C w.r.t. Rules 1, 2,
3a, and 3b if (? ? C) return unsatisfiable
C C return satisfiable
Let n be the number of clauses in the input
clause set Number of clauses after i-th
iteration of loop O(n(2i))
19
Davis-Logemann-Loveland algorithm
Slides 42-72 of sat_course1.pdf Download from
http//research.microsoft.com/users/lintaoz/SATSol
ving/satsolving.htm
20
Davis-Logemann-Loveland algorithm
  • Eliminates exponential memory requirement
  • Might still need exponential time

21
Conflict-driven learning and non-chronological
backtracking
Slides 2-20 of sat_course2.pdf Download from
http//research.microsoft.com/users/lintaoz/SATSol
ving/satsolving.htm
Write a Comment
User Comments (0)
About PowerShow.com