Title: Conversion to Conjunctive Normal Form
1Conversion to Conjunctive Normal Form
2Assertion
- All Romans who know Marcus either hate Caesar or
think than anyone who hates anyone is crazy. All
Romans wish they were Greeks.
3Expressed in FOPL
4For the transformation, lets simplify
- Let
- P roman(X)
- Q know(X, marcus)
- R hate(X, caesar)
- S hate(Y,Z)
- T thinkcrazy(X,Y)
- V wish_greek(X)
5Giving
6Step 1 Eliminate implication using the
identity
So
becomes
7Applied to the Original Expression
Now eliminate the second gt
8Applied to the original expression
9Eliminating the Third ImplicationGives
10Step 2 Invoke deMorgan
11Step 3 Standardize the quantifiers so that each
binds a unique variable
We write
12Step 4 Move all quantifiers to the left without
changing their order
13Step 5 Eliminate Existential Quantifiers
Skolemization
Tells us that there is an individual assignment
to X drawn from its domain under which school(X)
is satisfied. .
14- So, invent a function that goes into the domain
of X and picks out just that item that satisfies
school. - Call it pick
- The original expression is transformed to
school(pick()) - Where
- Pick is a function with no arguments
- That returns the value from the domain of X that
satisfies School - We might not know how to get the value.
- But we give a name to the method that we know
exists
15Type 2
Where P,Q are elements of the set of integers In
English, given an integer P, there is another
integer Q, such that Q gt P We cant invent a
single function, because Q depends on P Instead,
invent a function whose single argument is the
universally quantified variable.
16- get(P) returns an integer gt P
Becomes
17Our example has one instance of an existentially
quantified variable within the scope of a
universally quantified variable
Becomes
18Giving
19Step 6 Drop the remaining quantifiers
- Legal since everything is universally quantified
20Step 7 Rewrite the expression as a conjunct of
disjuncts using dist. And assoc. laws
21Step 8 Rewrite each conjunct as a separate
clause that are implicitly anded
22Step 9 Rename variables in clauses so that no
two clauses use the same variable name
- This is already the case
- The Expression is now in conjunctive normal form.
23(No Transcript)