Predicate Calculus: Conversion To Normal Form
Predicate Calculus: Conversion To Normal Form
Predicate Calculus: Conversion To Normal Form
x z {[¬p(x) q(x,g(x))]
[¬p(x) ¬p((f(a))]
[¬p(x) ¬q(x,z) p(x)] }
Conversion to Normal Form
Step9 : Simplify (Optional)
x z {[¬p(x) q(x,g(x))]
[¬p(x) ¬p((f(a))]
[¬p(x) ¬q(x,z) p(x)] }
x z {[¬p(x) q(x,g(x))]
[¬p(x) ¬p((f(a))]
[¬q(x,z)] }
Summarize
Step1:Take the existential closure and eliminate redundant quantifiers and
introduce existential closure to unhandled variables.
Step2: Rename any variable that is quantified more than once.
Step3: Eliminate Implication.
Step4: Move the negation all the way inwards.
Step5: Push the quantifiers to the right.
Step6: Eliminate Existential Quantifiers (Solemnization)
Step7: Move all universal quantifiers to the left.
Step8: Distribute over
Step9: Simplify (Optional)
Exercise
x y z Gaul(x) Potion(y)
Hostile(z) Sells(x,y,z) Criminal(x)
x y married(x,y) member(x) member(y)
x y z y a father(x,z) father(z,y)
grandfather(x,y)
x z bird(x) fly(x)
Step1:eliminate redundant introduce existential to
unhandled variables
x y z Gaul(x) Potion(y)
Hostile(z) Sells(x,y,z) Criminal(x)
x y married(x,y) member(x) member(y)
x y z father(x,z) father(z,y)
grandfather(x,y)
x bird(x) fly(x)
Step3: Eliminate Implication
x y z {{Gaul(x) Potion(y)
Hostile(z) Sells(x,y,z)} Criminal(x)}
x y { {married(x,y) member(x)} member(y)}
x y z { {father(x,z) father(z,y)}
grandfather(x,y)}
x { bird(x) fly(x)}
Step4: Move the negation all the way inwards
x y z {Gaul(x) Potion(y)
Hostile(z) Sells(x,y,z) Criminal(x)}
x y {married(x,y) member(x) member(y)}
x y z {father(x,z) father(z,y)
grandfather(x,y)}
x {bird(x) fly(x)}
Step5: Push the quantifiers to the right
x y z {Gaul(x) Potion(y)
Hostile(z) Sells(x,y,z) Criminal(x)}
x y {married(x,y) member(x) member(y)}
x y z {father(x,z) father(z,y)
grandfather(x,y)}
x {bird(x) fly(x)}
Step6: Eliminate Existential
Quantifiers
x y z {Gaul(x) Potion(y)
Hostile(z) Sells(x,y,z) Criminal(x)}
x {married(x,f(x)) member(x) member(y)}
x y {father(x,(g(x)) father((g(x),y)
grandfather(x,y)}
bird(M) fly(M)
Step7: Move all universal quantifiers to the left
x y z {Gaul(x) Potion(y)
Hostile(z) Sells(x,y,z) Criminal(x)}
x {married(x,f(x)) member(x) member(y)}
x y {father(x,(g(x)) father((g(x),y)
grandfather(x,y)}
bird(M) fly(M)
Step8: Distribute over
x y z {Gaul(x) Potion(y)
Hostile(z) Sells(x,y,z) Criminal(x)}
x {married(x,f(x)) member(x) member(y)}
x y {father(x,(g(x)) father((g(x),y)
grandfather(x,y)}
bird(M) fly(M)
Step9: Simplify (Optional)
x y z {Gaul(x) Potion(y)
Hostile(z) Sells(x,y,z) Criminal(x)}
x {married(x,f(x)) member(x) member(y)}
x y {father(x,(g(x)) father((g(x),y)
grandfather(x,y)}
bird(M) fly(M)