The document outlines a systematic algorithm for converting well-formed formulas (wff) into clause form, which is essential for proof procedures like resolution. It details the steps involved, including eliminating negations, standardizing variables, moving quantifiers, and creating separate clauses from conjuncts. The final output is a set of clauses that can be used for logical proofs, ensuring all variables are universally quantified and distinct across clauses.
The document outlines a systematic algorithm for converting well-formed formulas (wff) into clause form, which is essential for proof procedures like resolution. It details the steps involved, including eliminating negations, standardizing variables, moving quantifiers, and creating separate clauses from conjuncts. The final output is a set of clauses that can be used for logical proofs, ensuring all variables are universally quantified and distinct across clauses.
Suppose we know that allRomans who know Marcus either hate Caesar or think that anyone who hates anyone is crazy, We could represent that in the following wff: Vr: (Roman(x) A know(x. Marcus)) ’ [hate(x. Caesar) V (v: 32: hate(y. z) ’ thinkcrazy(x. y))| To use this formula in a proof requires a complex matching matched one piece of it, such as thinkerazyx. v), it is necessaryprocesSs. Then, having to do the right thing with the rest of the formula including the pieces inwhich the matched part is embedded and those in which it is not. If the formula were in a simpler form, this process be much easier. The formula would be easier to would work with if " It were flatter, i.e., there was less embedding of components. " The quantifiers were separated from the rest of the formula so that they did not need to be considered. Conjunctive normal form (Davis and Putnam, 1960] has both of these properties. For example, the formula given above for the feelings of Romans who know Marcus would be represented in conjunctive noFmal form as ¬Roman(x) V ¬know(x,Marcus) V hate(x,Caesar) V¬hate(y, z) Vthinkcrazy(x, z) Since there exists an algorithm for converting any wff into conjunctive normal form, we lose no generality if we employ a proof procedure (such as resolution) that operates only on wff's in this form. In fact, for resolution to work, we need to go one step further. We need to reduce a set of wff's to a set of clauses, where a clause is defined to be a wff in conjunctive normal form but with no instances of the connector A. We can do this by first converting each wff into conjunctive normal form and then breaking apart each such expression into clauses, one for each conjunct. All theconjuncts will be considered to be conjoined together as the proof procedure operates. To convert a wff into clause form, perform the following sequence of steps
Algorithm: Convert to Clause Form
A. Eliminate -’, using the fact that a -’ bis equivalentto naVb. Performing this transformation on the wff given above yields x:-[Roman(r) Aknow(x, Marcus)] V [hatex, Caesar) V(Vy:-(3z: hate(y, z))Vthinkcrazy(x., y)] 2. Reduce the scope of each ¬ to a single term, using the fact that ¬(p) = p, deMorgan's laws [which say that -(a Ab) =naVb and ¬a Vb)=aA bl. and the standard correspondences betweenquantifiers [-Vx : P) = r :-P) and -r : P) = Vr:-P()). Performing this transfornation on the wff from step 1yields r:(-Romanx) V know(x, Marcus)]V [hatelx, Caesar) v (Yy: V2:hately.) Vthinkcrazy(x. y)) PREDICATE LOGIC USING 'CHAPTER5. 146 binds a unique variable, Since cach quantifiercannot affect the truth value of the 3. Standardize variables so that this process variables are just dummy names, wff. For example. the formula t : P) v t ) wouldbe converted to V:P) Vt:Qv) This stepis in preparation for the next. relative order. formula without changing their 4. Move all quantifierstotthe left of the names. Performing this conflict among variable This is possible since there is no operation on the formula of step 2. we get r:y:t:-Romanr) V know(a. Marcus)]V [hate(x. Caesar)V(-hate(y. z) Vthinkcrazy(x.y))! consists the formula is in what is known as prenex normal form. It ATthIS point, pref of quantifiers followed by a natrix, which is quantifier-free. o a S Eliminate existential quantifiers. A formula that contains an existentially quan be substituted for the variable tihed variable asserts that there is a value that can substituting for that makes the formula true. We can eliminate the quantifier byvalue. Since we the variable a reference to a function that produces the desired function do not necessarily knowhow toproduce the value, we must create a new name for every such replacement. We make no assertions about these functions except that they must exist. So, for example, the formula By :President(y) can be transformed into the formula President(S1) where Sl is a function with no arguments that somehow produces a value that satisfies President. If existential quantifiers occur within the scope of universal quantifiers, then the value that satisfies the predicate may depend on the values of the universally quantified variables. For example, in the formula Vr:By:father-ofy. x) the value of y that satisfies father-of depends on the we must generate functions with the particular value of x. Thus same number of arguments as the number of universal quantifiers in whose scope would be transformed into the expression occurs. So this example Vx: father-ofS2(1), x) These generated functions are called Skolem arguments are called Skolem constants. functions. Sometimes ones with no 6. Drop the prefix. Atthis point, all the prefix can just be dropped andremaining any proofvariables are weuniversally quantified, so procedure use can assume simply 54. RESOLUTION 147
.hat any variable it sees is universally
quantified. Now the formula prodyced in step 4 appears as |-Roman() V -know(x. MarcUs)]V |hate(x. Caesar) V(¬hate(y, z) Vthinkerazyx, y)l 7 Convert the matrix into a conjuncton of disjuncts. In the case of our example since there are no and's, it is only necessary to exploit the associative property of orlie..a V(bV) =(a Vb) \Ve] and s1mply remove the parentheses, giving -Roman(.) V ¬know(r. Marcus) V hate(x.Caesar) V¬lhate(y. z) Vthinkcrazyx, v) However, it is also frequently necessary to exploit the (a Ab) Vc= (aVc) A(bV c)). For example, distributive property [i.e., the formula (winter Awearingboots) V(sunmmer Awearingsandals) becomes, after one application of the rule [winter V(summer Awearingsandals)] A[wearingboots V(summer Awearingsandals)] and then, after a second application, required since there are still conjuncts joined by OR's, (winter Vsummer) A (winter Vwearingsandals) A (wearingboots Vsummer) ^ (wearingboots Vwearingsandals) 8. Create a separate clause corresponding to each conjunct. In order for a wff to be true, all the clauses that are generated from it must be true. If we are going to be working with several wff's, all the clauses generated by each of them can combined to represent the same set of facts as were represented by the now be wff's. original 9. Standardize apart the variables in the set of clauses generated in step 8. By this we mean rename the variables so that no two clauses make reference to the same variable. In making this transformation, we rely on the fact that (x: P(r) A Q)) =x: P()A r: Qu) Thus since each clause is a separate conjunct and since all the variables are universally quantified, there need be no relationshipbetween the variables of two clauses, even if they were generated from the same wf. Performing this final step of standardization is important because during the resolu tion procedure it is sometimes necessary to instantiate a universally quantified variable (1.e., substitute for it a particular value). But, in general, we want to keep clauses in heir most general form as long as possible. So when a variable is instantiated, we want to know the minimum number of substitutions that must be made to preserve the trun value of the system. Aner applying this entire procedure to aset of wff's, we will have aset of clauses, Cach of which is a disjunction of literals. These clauses can now be exploited by the resolution procedure to generate proofs.