L I B RAHY OF THE UNIVERSITY OF ILLINOIS 510.84 I46r no. 257-264 cop. 2 CENTRAL CIRCULATION AND BOOKSTACKS The person borrowing this material is re- sponsible for its renewal or return before the Latest Date stamped below. You may be charged a minimum fee of $75.00 for each non-returned or lost item. Theft, mutilation, or defacement of library materials can be causes for student disciplinary action. All materials owned by the University of Illinois Library are the property of the State of Illinois and are protected by Article 16B of Illinois Criminal Law and Procedure. TO RENEW, CALL (217) 333-8400. University of Illinois Library at Urbana-Champaign JUN 2 81999 When renewing by phone, write new due date below previous due date. L162 Digitized by the Internet Archive in 2013 http://archive.org/details/somenewresultson261hens REPORT NO id 261 ytuutz SOME NEW RESULTS ON RESOLUTION IN AUTOMATED THEOREM PROVING by Lawrence J. Henschen May 1, 1968 THE UBttAiir 8r km ^^' UHNEKI1Y Of ILUMWS Report No. 26l SOME NEW RESULTS ON RESOLUTION IN AUTOMATED THEOREM PROVING* by Lawrence J. Henschen May 1, 1968 Department of Computer Science University of Illinois Urbana, Illinois 6l801 This work was submitted in partial fulfillment of the Master of Arts degree in Mathematics and was supported in part by the National Science Foundation under Grant No. NSF-GP-U636, Ill TABLE OF CONTENTS Page 1. INTRODUCTION. . «... 1 2. PRELIMINARY DEFINITIONS AND RESULTS k 3. ALTERNATE DEFINITION OF RESOLUTION 13 k. SETS OF SUPPORT IT LIST OF REFERENCES 23 1. INTRODUCTION The idea of proof in logic is well known „ A proof for some theorem in logic is a finite sequence of statements each of which is derived from a basic set of statements, called axioms and hypotheses, or from earlier statements in the sequence, by applying specific rules of inference. The last statement is usually the conclusion of the theorem, although it may be a statement which is obviously false in case of a proof by contradiction , The sequence of statements is a proof of the last statement or a proof of the theorem with the given hypotheses. Closely related to the idea of proof is the concept of completeness . Suppose, in a particular logical system, the set of statements is partitioned by some property into two subsets, a set S of statements which have the property and its complement „ The system is said to be complete with respect to that property if S is precisely the set of statements provable in the system. For example, propositional calculus is complete with respect to the property of a statement being a truth-functionally true formula [3], Many classes of mathematical systems can each be represented in the first order predicate calculus. Axioms of the system are represented by a particular set of statements, and theorems are represented by other sets of statements. Much progress has been made in the area of automated theorem proving in the first order predicate calculus [2, k t 5? 6], A decision procedure for a logical system is an algorithm which decides in a finite number of steps if an arbitrary * Numbers in brackets refer to list of references, 2 proposition is a theorem or not. It has been proved by Church [l] that there does not exist a decision procedure for the first order predicate calculus „ However , there are many processes, called semi-de cl sion procedures , which decide in a finite number of steps if a formula is a theorem, but which may never terminate if it is not „ In 196k, J, A, Robinson [5] presented a new form of first order predicate calculus based on a single rule of inference, called the resolution principle „ In the first order predicate calculus, the statements, called clauses, can be written in prenex normal form in which all variables are 'universally quantified and all quantifiers occur at the beginning of each clause. Hence, the quantifiers need not be written , In handling a mathematical system via the first order predicate calculus, the axioms, and possibly some other useful results, are written as clauses in the above form without quantifiers „ To prove a theorem, its denial is expressed as one or more clauses, and an attempt is made to show that the sentence S consisting of all the clauses mentioned above is always false. This is done by asking whether, in all possible instances in which the variables may be functionally related, S remains false. In Robinson's system, the method is to process S itself using the resolution principle, rather than enumerate instances of S. He shows the processing terminates if, and only if, the theorem embodied in S is true, and hence his system satisfies a completeness property. Direct application of the resolution principle leads to a rather inefficient method of constructing proofs. One reason is that in processing S, unrelated theorems may be proved as well, A method 3 of applying the resolution principle is needed which will omit many of the unrelated theorems, but not omit a proof for S if one exists. This paper deals with one such method, proposed in [k]^ called the set of support strategy „ 2, PRELIMINARY DEFINITIONS AND RESULTS This section is an outline of the definitions and principal results in [5] together with some added description to clarify the material. For proofs of the lemmas and the theorem,, the reader is referred to [5] . 2.1 Variables , The following symbols , ordered as shown., are variables : u,v,w,x,y,z,u 1 ,v 1 ,w 1 , x 1 ,y 1 ,z i ,w 1 , ....,etc. 2.2 Functio n Symbols, The following symbols, ordered as shown, are function symbols of degree n, for n = blank,, 1, 2, , „, : n , n n ,n nn n , n n , n a ,b ,c ,d ,e ,f } % ,h ,a ,1^, . . .,etc . Function symbols with no superscripts are constants , 2.3 Predicate Symbols , The following symbols, ordered as shown, are predicate symbols of degree n, for n = blank, 1, 2, ,,, : n n n n n n n P ,q ,r ,P 1 ,q 1 ,r 1 ,p 2 _, ...,etc. 2,U The Negation Symbol , "~" is the negation symbol, 2,5 Alphabetical Order of Symbols , The set of symbols is well ordered by the ordering above and the conventions that variables precede function symbols, function symbols precede predicate symbols, predicate symbols precede "~", function symbols of lower degree (blank = 0) precede function symbols of higher degree, and predicate symbols of lower degree ( blank = 0) precede predicate symbols of higher degree. 2.6 Terms. A variable is a term. A string of symbols starting with a function symbol of degree n followed by n terms is a term. 2.7 Atomic Formu las . A string of symbols starting with a predicate symbol of degree n followed by n terms is called an atomic formula . 2.8 Literals . An atomic formula is a literal; if A is an atomic formula, then ~A is a literal. 2.9 Complements . If A is an atomic formula, then A and ~A are said to be complementary literals. 2.10 Clauses . A finite unordered set of literals is called a clause. The empty clause is denoted by O. As an example of how the above definitions can be interpreted, suppose we are studying Abelian group theory. The variables represent 2 elements of the group. We choose one binary function symbol, say b , 2 to represent the group operation +, and another, say c , to represent the solution of u + x = v. Finally, we choose a binary predicate, 2 say p , to represent equality. Then, some of the axioms would take the following form: 2/2 2 p (b (u,v), b (v,u)) means u+v=v+u; 2 2 p (b (u,a),u) means existence of an identity element; 2 2 2 p (b (u,c (u,v)),v) means existence of a right solution of u + x = V, 2 2 2 2 2 p (b (b (u,v),w), b (u,b (v,w))) means associativity is satisfied. 6 2.11 Well-formed Expressions . Terms and literals are well-formed expressions. 2 . 12 Lexical Order of Well-formed Expressions . The set of well -formed expressions is well ordered by the conventions that A precedes B if A has fewer symbols than B or, if A and B have the same number of symbols, if A has the alphabetically earlier symbol in the first position in which A and B differ. 2.1.3 Ground Terms, Ground Literals, Ground Glauses . The adjective "ground" appearing before term, literal, or clause means that no variables appear in the term, literal, or clause. In particular, G is a ground clause. 2.1^ Substitution Components . A substitution component is any expression of the form T/v, where V is any variable and T is any term different from V. T is called the term of the component and V the variable of the component. 2.15 Substitutions . A substitution is any set {T /V , ..., T /v } of substitution components such that V. / V, if -L J- K. K. 1 J i/j, 1 < i, j < k. Substitutions are denoted by lower case Greek letters. In particular, e is the empty substitution. 2.16 Instantiation . If E is any finite string of symbols and w = {T,/V, , ..., T. /v } is any substitution, then the instantiation -L J- K. K of E by u) is the operation of replacing each occurrence of the variable V. , 1 < i < k, in E by an occurrence of the term T. , all variables being replaced simultaneously. The resulting string, denoted by Ew, is called the instance of E by w. Thus, if E is the string E n V. E, ... V. E , then Ew is the string EJT. E n ... T. E . i n 1 in' to i, 1 in In In 7 Here, none of the substrings E. of E contain occurrences of the variables V , . ,., V , some of the E. are possibly null, n is Ik. j possibly 0, and each V. is an occurrence of one of the variables v x , ...,v k . 2„17 Herbrand Universe „ With any set S of clauses there is associated a set of ground terms, called the Herbrand universe H(S) of S, as follows; Let F be the set of all function symbols which occur in So If F contains any constants, the functional vocabulary of S is F; otherwise, the single constant "a" is adjoined to F, and the functional vocabulary is {a'J U F The Herbrand universe of S is then the set of all ground terms in which there occur only symbols in the functional vocabulary of S„ Unless F consists exclusively of constants, H(S) is an infinite set„ 2. 18 Saturation,, If S is any set of clauses and P is any set of ground terms, then P(s) , the saturation of S over P, is the set of all ground clauses obtained from members of S by instantiation with members of P 2.19 Mode Is „ A set of ground literals which does not include a complementary pair is called a model, M is a model of a set of ground clauses S if every clause C in S contains a member of M Then, in general, if S is any set of clauses and H(s) is the Herbrand universe of S, M is a model of S if M is a model of H(s)„ 2.20 S a t is fi. a b_i 1 i t y « A set S of clauses is satisfiable if there is a model of S; otherwise S is unsatisfiable. 8 One interpretation of the above definition is that each clause is the disjunction of its literals, S is the conjunction of its clauses, ~ is the complement symbol, and functions are mappings from the space of variables into itself. Then a set S of clauses is unsatisfiable if there is no way of assigning values 0, 1 to the predicate symbols for each set of arguments such that S takes on the value 1 under the normal rules of Boolean algebra „ In essence, this says that every situation to which Sis applicable is a counterexample to S, so the original proposition is always true. 2.21 Standardiza tions „ If C is any finite set of strings and V , <,„„, V are all the distinct variables, in alphabetical order, which occur in strings in C, then the x-standardization of C, denoted by £«, is the substitution (x./V , <,„„, x /V | and the y-standardization *-> linn of C, denoted by t^, is the substitution ly'/V , „ „. 5 y /V ). u linn 2.22 Composition of Sub stitutions . If w = (T /v , . *., \/\) and A. are any two substitutions, then the set w f (j \> } where A.' is the set of all components of A. whose variables are not among V , „„„, V 1 K and ^ v is the set of all components T. A./V., 1 < i < k, such that T. is different from V., is called the composition of w and A, and is denoted by w A. Lemma 2.1; Composition of substitutions obeys the following laws ; 1) (Aa)p =A(ap) for all strings A; 2) (ap)>. = a(pk) for all substitutions a, 0, and K} 3) (A U B)a = A3 U B3 for all strings A and B and all substitutions a. on 9 2o23 Disagreement Set s, Let A consist of two or more well-formed expressions which all begin with a common sequence of k symbols, k > o The disagreement set of A is the set of well-formed subexpressions beginning at the (k + l)st position of each expressi of A s •3 2 ^ 1 3 Example: A = [p (x,h (x,y),y),p (x,k (y),y),p (x,a,b)}, 2 . \ 1 v disagreement set of A = {h (x,y),k (y),a} „ 2„2H Unification o If A is any set of well-formed expressions and \ is a substitution such that A A. is a singleton, then A. is said to unify A, or to be a unifier of A, and A is said to be unifiable 2„25 Unification Algor ithm,, The following process, applicable to any finite nonempty set A of well-formed expressions, is called the Unification Algorithm: Step 1„ Set A.-, = t and k = 1, and go to Step 2„ Step 2 If A K is not a singleton, go to Step 3° Otherwise, set A.. - A», and terminate, having unified A Pi K. Step 3° Let V be the earliest and U the next earliest term, k k k in lexical ordering,, of the disagreement set of A A. n _„ If V, is a variable and does not occur in U n , set k k A. = A. [U Jv ) , add 1 to k, and return to Step 2„ k+J_ k. k k Otherwise, terminate since unification can be shown to be impossible in this case, 2.26 Most General Unifiers „ If A is a finite nonempty set of well-formed expressions for which the Unification Algorithm terminates in Step 2, the substitution A, is called the most general unifier of A A. is denoted as MGU(A) 10 Lemma 2 ,2; If w unifies A, there exists a X => M3U(A), and w = \ a for some substitution a This lemma shows that for any unifier u of A, A w is an instance of A X, hence the name most general unifier „ 2 27 Key Triples . The ordered triple (L,M,N) of finite sets of literals is said to be a key triple of the ordered pair (C,D) of clauses if the following conditions are satisfied ; 1) L and M are nonempty, and L c C ; M c Dj 2) N is the set of atomic formulas which are members, or complements of members, of the set L£ U Mr)-* i.e<, } N is formed from L£ f , U Mr; by removing all ~ symbols; 3) N is unifiable with most general unifier \° f h) The sets LL^X and Mtj-X are singletons whose members are complements „ 2»28 Resolution „ A resolvent of two clauses C and D is any clause of the form (C-lHJv U (D-M)tj_X where (L,M,N) is a key triple for (C,D) and \ = MGU('N) If S is any set of clauses, the resolution of S,, written R (s) or R(s),, is the set of all clauses which are either in S or are resolvents of pairs of clauses in S„ Then for n > 1, the nth resolution of S,, written R (s), is defined as R(R n_1 (s)) We continue the interpretation of this system in which each clause is the disjunction of its literals „ Then resolving two clauses is a generalization of the simple deduction; If A => B and B => C, then A => C, An example will show this„ 11 2 1 1 P ~\ Let C = {p (x,y),q (y)] and D ^{~p (u,v),r (y)} . 2 1 2 1 Then C£ c = {p (x^x^q (x 2 )} and Dt^ -{~p (y^y^r (y )) . If L = (p 2 (x ; y)} and M = {~p 2 (u,v)}, then (L,M,N) is a key triple for \C,D) where N = (p 2 (x 1 ,x 2 ),p 2 (y 1 ,y 2 )} A. = MGU(n) = {y^x^y^x^ . In the above interpretation, 2 1 • l) Ci n k is {p (y,,y_) v q (y D )} \>Jn> v ^ wp 1 2 - which is equivalent to ~q (y p ) => p (y-,.,y p ) 2 1 2) Dti d X is {~p (y 1 ,y 2 ) v r (y )) p 1 which is equivalent to p (y ,y_) => r (y ) „ Then (l) and (2) imply 3) ~q {y 2 ) => r (y 3 ) which is equivalent to q (y ) v r (y ) by the simple deductic and (3) corresponds to the resolvent of C and D on L and M The device is to make the most general substitition which will allow an inference from C and D based on L and M„ The use of the x- and y-standardization is to insure that the most general inference is made,, If in the above example, resolution were performed without first standardizing, the result would have been h) {q (v),r (v)}, which is a special case of (3)0 Theorem 2.1 ; A set S of clauses is unsatisfiable if, and only if, R (s) contains □ for some finite n Theorem 2,1 is the completeness theorem for this system of logic under the property of unsatisf lability of a set S of clauses „ A proof for S consists of a sequence of clauses, A , A } 000 , A , such that n is finite and each A is either in S or is the resolvent 1 12 of two clauses A. and A. j,k < i, and A = □„ The method of j k ' ' ' n 1 2 searching for a proof consists of generating the sets R (S), R (S), , until □ is found o Theorem 2„1 guarantees that □ will be found after a finite number of steps if S is unsatisfiable, while D will never be found and the process continues indefinitely if S is satisfiable 13 3. ALTERNATE DEFINITION OF RESOLUTION In this section, it will be shown that the definition of resolution given by J. A, Robinson is somewhat restrictive in requiring x- and y-standardizations „ An alternate definition will now be given, and the two definitions will be shown to be equivalent. This is done to simplify the proofs of the major results of this paper. 301 Separated Variables , Two clauses A and B have separated variables if no variable occurring in A occurs in B„ 302 Equivalent Clauses . Two clauses A and B are equivalent if there exist two substitutions Oi and B such that A = BOL and B = A(3. Example: A and A£. are equivalent where a = £ A = fx n /V. ,„„„, x /V 1 K A A 1 1 ' ' n n and B = [V./x., ..., V /x ). 11' ' n n Suppose A and B are equivalent and A = Ba, B = A(3 Then A differs from B only by a change of variable names. For, suppose not. Then there is a substitution component T/V of Ot where V is a variable occurring in B and T is a term beginning with a function symbol. B --■ A B and A - B a together imply B - B OL (3 . Then V occurs in some position in B on the left while T|3 occurs in the corresponding position on the right, TB again begins with a function symbol and hence can't equal V. This contradicts B = B a B, and so A differs from B only by a change of variable names. Note, also, that the change is reversible. Hence A is identical to B except for a relabeling of variable names. Then if variables represent arbitrary elements of the underlying space of whatever branch of mathematics is 'under consideration, two equivalent clauses would represent the same statement. 14 3-3 Resolution Sets . The set N is a resolution set for two subsets of literals L and M if 1) N is the set of atomic formulas which are members or iplements of members oi L U M, 2) N is unifiable, 3) if X = MGU(N), L X and M X are complementary literal. . 3-4 H-Resolvents . Let A = L U C, B=MUDbe two clauses with separated variables where L,M,C, and D are disjoint subsets of literals, L,M nonempty. A and B are H-resolvable on L and M if there exists a resolution set N for L and M. Then, if \ = MGU(N), the Jl-resolvent of A and B on L and M is defined to be C X U D A,. In case the variables are not separated in A and B, the two clauses are H-resolvable if there exist two clauses A 1 and B* which have separated variables, are equivalent to A and B respectively, and are H-resolvable on L' and M' . The H-resolvent of A and B is then defined to be the H-resolvent of A" and B 1 . According to this definition, if A and B do not have separateri variables, they may have an infinite number of H-resolvents on a a'/ n pair L and M. The following lemma shows that these are all equi'al-nt. Notation . The following symbolism will be used to denote an H-resolvent i< of two clauses C and D on L and M: F = (C,D) T ... Here \ N ' L,M will always denote the MGU(N) where N is the resolution set for L and M. Lemma 3.1 : Let A = L U C, B=MUDbe two clauses with separated variables, and suppose A and B are H-resolvable on L and M. Let A' be a clause equivalent to A and B' a clause equivalent to B such that A' and B' also have separated variables. Then A 1 and B' are H- X " X resolvable on L' and M" , and (A',B') T ', M , and (A,B) T m are equivalent. 15 Proof ; Let u be the substitution such that A = A'u and u p such that B = B'u p . Let u. = u U u . Since A' and B' have separated variables, A'u = A'(u U ji ? ) = A'p. = A since u. can't affect A. Similarly, B'u = B'u p = B. Let N be the resolution set for L and M, and let N' be the corresponding set for L' and M' . Then N = N'u. Hence, N'u X = N \ is a singleton, and N' is unifiable. By Lemma 2.2 there is a substitution X' = MGU(N' ) and a substitution GC such that u X = X*Ct. Further, L'\' = ~(M'\'), i.e., N' is a resolution set for L' and M' . X ' Then A' and B' are H-resolvable on L' and M', and F' = (A',B') , , is the H-resolvent. If F =■ (A,B) , then clearly F = F'a. But now the roles of A,B and A', B' can be interchanged, and F' = F 0L X for some substitution a'. Hence F and F' are equivalent. Lemma 3«1 shows that, in the definition of H-resolvent, the particular way in which the variables are separated in A and B is irrelevant, and the H-resolvent of A and B on L and M is unique up to a change of variable names. 3-5 H-Resolution . Let S be a set of clauses. An H-resolu- tion of S is a set of clauses which are either in S or H-resolvents of pairs of clauses in S with the understanding that only one H-resolvent of two clauses on a given pair of subsets of literals is included. For n > 1, an nth H-resolution of S is an H-resolution of an (n-l)th H-resolution of S. Since any two clauses may have an infinite number of H-resolvents on two subsets of literals, there are an infinite number of H-resolutions . However, Lemma 3«1 shows that any two H-resolutions of S are equivalent sets of clauses. By induction, the same is true of any two nth H-resolutions of S. Robinson's resolution of S is a particular H-resolution of S. Clearly D is the only clause equivalent l6 to Do Combining this with Theorem 2,1, we have the following completeness theorems Theorem 3°1 ° S is unsatisfiable if, and only if, D is a member of any nth H-resolution of S for some finite n„ We have defined resolution in a way independent of particular variable names to prove later, in a compact way, a theorem on resolutions affecting three or more clauses „ Robinson's formulation involving x- and y-standardizatlons leads to proofs in which the concepts used are obscured by notation,, R(s) is now used to denote any H-resolution of S, In preparation for the major theorems to be proved in the next section, the following lemma will be proved. Lemma 3° 2; Let A be a set of literals which is unifiable, and let K = MGU(A), Then no variable appears in any component of X that does not appear in A, Proof; X is a product of substitutions \ = (U, /v.) ,,, (U /V ) ■ r 1 1 n n - given in the Unification Algorithm, By induction, each substitution [U./v. ] involves only variables occurring in A, Hence, X also contains only variables occurring in A, 17 h. SETS OF SUPPORT H-resolution provides a very good method for automatic theorem proving. For a set S of clauses, the method consists of generating the sets R(s), P. (S), R (S), ... . S will be unsatisfiable if, and only if, D € R (s) for some finite n. If S is satisfiable, the method will continue generating sets R (s) forever . Thus using resolution, proof is by contradiction. One problem is that the sets R (s) may contain many clauses which are irrelevant. For example, suppose S = S, U S U S where S is a set of clauses representing the axioms of some consistent system (and hence, known to be satisfiable), S p is a set of clauses representing the hypotheses of some theorem, and S_ is a set of clauses representing the denial of that theorem. It may be possible to H-resolve pairs of clauses in S, and produce a consequence of the axioms which may have no relevance to the particular theorem embodied in S. A strategy for applying H-resolution to S is needed which does not enumerate many of the non-essential clauses, but which still finds a proof for S if one exists. One strategy proposed in [h] is the set of support strategy. k-.l Set of Support Strategy . Let T be a subset of So Let T, = T, and let T. . be the set of clauses which are either 1 i+I in T. or an H-resolvent of a clause in T. with a clause in T. US with l 11 the understanding that only one H-resolvent of a pair of clauses on a given pair of subsets of literals is included. A clause A has T support or is derived from T if A is in T. for some i. A proof of S has T support if every clause in the proof has T support or is in S itself. 18 Again, for each i, there are infinitely many sets T., all equivalent, and the definition leads to one representative set T. for each i. 1 The set of support strategy has been shown to work if a particular class of subsets T is used [6]. The major result of this paper is to extend this class. Theorem h.l i Let A = I U K U D, B = J U L U E, and C = M U F be three clauses. Suppose A and B are H-resolvable on I and J with G = (A,B)t t = (K U L)X U DX U EX , and suppose further that G and C are H-resolvable on (K U L)\ and M with H= (G ' C) (K U L)\,M = ^ UE ^ U ^ * Then there is a clause H derivable from A, B, and C such that H -* has C support and H = H w for some substitution co« Proof ; By Lemma 3-1, it can be assumed without loss of generality that the variables of A, B, and C are all separated. Then by Lemma 3-2, A, does not involve variables in C. Hence CX - C, and CXX = Ck so that H = DXX U EXX U FXX = (D U E U F)XX . Let N be the resolution set for (K U L)X and M. Let N be the set of atomic formulas which are members or complements of members of K U M, and let N p be the set of atomic formulas which are members or complements of members of L U M. Since MX = M, N,X and N ? X are subsets of N. Hence X unifies both N,X and N ? X. By Lemma 2.2, there exists a X, = MGU(N, ) and a substitution a such that XX = Xa . Similarly, there exists a X ? = MGU(N ) and a substitution 19 OL such that KK = XJX p . Since KX\ and MXA are complements, KX, and MX. must "be complements also. Similarly, IA p and M\ p are complements. Thus, N is a resolution set for K and M, and N is a resolution set for L and M. Then A and C are H-resolvable on K and M with G .l = (A ' C) K,M = 1X 1 U DX 1 U **1 ' and B and C are H-resolvable on L and M with G 2 = ( B > C ) L M = ^2 U EX 2 U FX 2 ' Clearly G, and G p have C support; however, they may not have separated variables. In order to show that G, and G p are H-resolvable, the variables of G-, are relabeled to produce an equivalent formula G, whose variables are distinct from the variable names occurring in G p , H, \ , and a. . (This is done even if the variables were already separated. Lemma 3-1 allows G, to be used, instead of G, , to H-resolve with G„ . ) If the variables of G, are V, . . ... V . then 2 1 1' } n f * G-, = G, u where = {V V 1' •••' V V n) and no V. occurs in G , H, X p , or Q^ . Since a may not change all the variables in G. , let the variable names be chosen so that a i = {w ■••' V v r} • Let a ' = -|t /v, , . . . , T /V , V , /V , , . . . , V /V \ 1 [_ 1' 1 r" r r+i r+1 r/ nj 20 Then clearly, G i a i = ^^l = G i a i = ( x u D u F )^ • ' * Now consider the substitution OCJDC . Since G contains * -* no variables occurring in a p , G,CC = G and hence G i a 2 a i = G i a i = ( X u D u F )^ • i _ i In particular (l\ n u)a o a. = IW. Next G a_a_ = G„a: since V. does v 1 2 1 22122 l t _ not occur in G p , a , and hence, G ? CC . Thus (JX )a a = JX p CC = JTvA. But JXA = ~ (IXA) since J.\ = ~ (IX.) by hypothesis (A and B were assumed H-resolvable on I and j). Hence, there is a resolution set N for IX, u = I and JA, p . If \_ - MGU(N ), then by Lemma 2.2, OCJX = X_co for some substitution co since OLJX unifies N~. Thus, G, and G p are H resolvable on I and J\ with H* = (G*,G 2 ) I J JX = D^uA U FX ± [x\ U EX^ U FX^ . Since G and G p bc.th have C support, H has C support. Finally, since G X co = G ] a 2 a i = (l U D U F)\A and G 2 \ u - G 2 a 2 a jL = G 2 a 2 = (J U E U F)W . * _ Then H w - (D U E U F)AA = H, and the theorem is proved. Theorem h.2. i Let A = L U C, B = M U D be two clauses, and let co be some substitution. Suppose Aco and B are H-resolvable on Lw and M with F = (A.co,B) T ... Then A and B are H-resolvable on L and M, and if 21 G = (A,B) L „, then F = GCC for some substitution a. Proof ; Again, it can be assumed that the variables in B are distinct from those occurring in A, Aw, and w. Let N be the resolution set for Lu> and M. Then X = MGU(N). Let N be the set of atomic formulas or complements of atomic formulas in L U M. Since M contains no variable occurring in 10, Mu = M, and hence N, w = N. Then (N,cu)\ = N (uA.) is a singleton, and there exists a X = MGU(N-). Further uX = XQi for some substitution a. Finally, LA, = ~ (MX) since LiuX and MX are complements. Then A and B are H-resolvable on L and M, and G = (A,B)£ = CA U DX. Finally, Ga - CXCC U DXDC = CwX U DcoX = CwX U DX = F, since Doo = D. Theorem ^-.3 ° Let S be a set of clauses for which there exists a proof using S as the set of support. Let T be a subset of S. If T contains at least one clause, B, occurring in some proof P of S, then the set of support strategy with T as the set of support will produce a proof of S. Proof ; B is involved in one or more H-resolutions . If at some point, a clause with B support is H resolved with a clause F that does not have T support and F^S-T, then F itself is an H-resolvent of two clauses C and D, neither of which has T support. By Theorem ^.1, F can be replaced by a clause F such that F is supported by B and F = F w for some substitution w. Furthermore, Theorem 4.2 allows F to be used in any H-resolution where F had previously been used. Continuing in this fashion, P can be replaced by a proof with T support Corollary ; If T is a subset of S such that S-T is a consistent set of clauses, then the set of .support strategy with T as set of support is complete. 22 Proof ; If S-T is consistent, and hence satisfiable, then no proof of S could consist of clauses of S-T alone. Thus, any proof of S must contain a clause of T, and by the Theorem 4„3, the set of support strategy with T as set of support is complete. The corollary has been proven previously in [6], However, Theorem 4.3 extends the corollary by not requiring S-T to be consistent. Thus, Theorem 4.3 allows a larger class of subsets of S to be valid sets of support. Experience has shown that the set of support strategy improves the speed of finding a proof considerably [4]. The reason is that the cardinality of the sets T is much smaller than that of the corresponding sets S . Thus while more sets T must be generated, the time required is much less. Theorem 4.3 has the disadvantage of requiring prior knowledge of a proof of S, or at least some clause occurring in a proof. However, this restriction is not too severe. For example, if S = S, (J S p U S as at the beginning of this section, then any proof of S must contain a clause in S p U S_ since S, , the set of axioms, is assumed to be consistent. Other choices for a set of support may also work. For example, a reasonable assumption is that at least one clause in the denial of the conclusion of the theorem appears in a proof. Thus, S^ alone may be a good choice for T» Efforts should now be directed toward discovering which subsets give the best results. Comparisons should be made of various rules for choosing T, e.g., S U S_, S alone, etc. Another possibility is that the mathematician, with his Insight into the particular problem, chooses the subset T. Attempts should be made to understand how to choose optimum sets of support. We are planning to write a computer program to compare various methods for choosing sets of support. 23 LIST OF REFERENCES [1] Church, A., "An Unsolvable Problem in Number Theory," American Journal of Mathematics , Vol. 58 (1936), pp< 3^5-363. [2] Davis, M. , Putnam, H. , "A Computing Procedure for Quantification Theory," Journal of the Association for Computing Machinery , Vol. 7 (i960), pp. 201-215. [3] Kleene, S., Introduction to Me tamat hematics , D. Van Nostrand Company, Inc., Princeton, 1952. [k] Robinson, G. A., Wos, L. T., Carson, D. F., "Some Theorem- Proving Strategies and Their Implementation," Argonne National Laboratory, Technical Memorandum No. 72, Argonne, Illinois, 1964. [5] Robinson, J. A., "A Machine -Oriented Logic Based on the Resolution Principle," Journal of the Association for Computing Machinery , Vol. 12 (1965), pp. 23-i+l. ' ~~~ [6] Wos, L. T., Robinson, G. A., Carson, D. F, , "Efficiency and Completeness of the Set of Support Strategy in Theorem Proving, " Journal of the Association for Computing Machinery , Vol . 12 (1965), pp. 536-5^1. AUG I 6 1SC8 JUN 2 1969