SLIDE 1
Program Design: Boolean Satisfiability
- In this lecture and the next one,
we consider the design and implementation of a Haskell program for solving the “boolean satisfiability” problem
- Input: A propositional formula
– Example: (p ∨ q) ∧ (¬p ∨ ¬q) ∧ (p ∨ ¬q)
- Such a formula is satisfiable if there exists an assignment of (boolean)
values to the variables in the formula such that the formula evaluates to true – Example: The above formula is satisfied by setting p to true and q to false
- Goal: Determine whether the given formula is satisfiable
– The satisfiability solver that we develop produces a satisfying assignment when the given formula is satisfiable
Theory in Programming Practice, Plaxton, Fall 2005