Proveriti da li je formula valjana: F=(-p + -q + r) -> -(p*q)
Proveravamo da li je negacija formule nezadovoljiva – ako ne postoji valuacija koja zadovoljava negaciju formule, formula je tačna u svakoj valuaciji, odnosno formula je tautologija.
-F = -( (-p + -q + r) -> -(p*q) )
Izvodimo KNF(F):
A->B = -A + B
-( -(-p + -q + r) + -(p*q) )
-(A+B) = -A*-B
-(-(-p + -q + r)) * -(-(p*q))
--A=A
(-p + -q + r) * (p*q)
KNF(F):
(-p + -q + r)*p*q
D={ {-p,-q,r},{p},{q} }
DPLL(D): Imamo jedinične klauze pa možemo da radimo unit propagation za p i q.
(unit propagation) D[p->1] (-1 + -q + r)*1*q D={ {-1,-q,r},{1},{q} }
(zamena negacije literala) (0 + -q + r)*1*q D={ {0,-q,r},{1},{q} }
(brisanje 0 literala) (-q + r)*1*q D={ {-q,r},{1},{q} }
(tautology) (-q + r)*q D={ {-q,r},{q} }
(unit propagation) D[q->1] (-1 + r)*1 D={ {-1,r},{1} }
zamena negacije literala (0 + r)*1 D={ {0,r},{1} }
(brisanje 0 literala) r*1 D={ {r},{1} }
(tautology) r D={ {r} }
(unit propagation) D[r->1] 1 D={ {1} }
(tautology) ø D={ ø }
(prazan skup) return YES
DPLL vraća DA – Negacija formule je zadovoljiva pa formula nije valjana/nije tautologija.