functionally complete — every truth table can be represented by a propositional formula (and vice versa)
this results in a disjunctive normal form (DNF, terms combined with disjunctions)
a DNF is a clause (disjunction of literals)
a DNF is of the form:
Ψ1 ∨ Ψ2 ∨ … ∨ Ψn
where Ψi is conjunctions of literals (p, ¬p, etc.)
a single letter is also a DNF
a conjunctive normal form (CNF) is conjunction Ψ1 ∧ Ψ2 ∧ … ∧ Ψn where Ψi are disjunctions of literals
disjunctions of literals are clauses (DNF), a CNF is a conjunction of clauses
Transform any ϕ to CNF using algorithm in three easy steps
ϕ ➝ Ψ ≡ ¬ ϕ ∨ Ψ
¬ (ϕ ∧ Ψ) ≡ ¬ ϕ ∨ ¬ Ψ ¬ (ϕ ∨ Ψ) ≡ ¬ ϕ ∧ ¬ Ψ ¬ ¬ ϕ ≡ ϕ
ϕ ∨ (Ψ ∧ Χ) ≡ (ϕ ∨ Ψ) ∧ (ϕ ∨ Χ) (ϕ ∧ Ψ) ∨ Χ ≡ (ϕ ∨ Χ) ∧ (Ψ ∨ Χ)
Is a CNF Ψ1 ∧ Ψ2 ∧ … ∧ Ψn a tautology?
Yes, only if in each of clauses Ψi it contains literals p and ¬p for some variable p.
given a propositional formula ϕ, find a valuation that applied to ϕ yields ⊤.
NP-complete — no efficient solution has been found
DPLL (Davis-Putnam-Logemann-Loveland) procedure: checks satisfiability of formula ϕ in CNF.
⊤ — constant true
⊥ — constant false
applies reduction rules:
To check satisfiability of CNF ϕ:
Eliminate “unit” clauses
Eliminate “pure” propositional variables
If ϕ is ⊤, it is satisfiable
If ϕ is ⊥, it is unsatisfiable
Choose a p in ϕ: