The Unit Proof and the Input Proof in Theorem Proving C. L. C H A N G National Institutes of Health,* Bethesda, Maryland .ABSTRACT. A resolution in which one of the two p a r e n t clauses is a unit clause is called a unit resolution, whereas a resolution in which one of the two p a r e n t clauses is an original input clause is called an i n p u t resolution. A unit (input) proof is a deduction of the e m p t y clause [] such t h a t every resolution in the deduction is a unit (input) resolution. I t is proved in the paper t h a t a set S of clauses containing its unit factors has a unit proof if and only if S has an input proof. A L I S P program implementing unit resolution is described and results of experiments a r e given. KEY WORDS AND PHRASES: theorem proving, chain of reasoning, resolution, deduction, unit (input) proofs, s u b s u m p t i o n tests, f u n c t i o n - d e p t h tests CR CATEGORIES: 3.6, 5.21 1. Introduction There are many theorems which can be proved by a chain of reasoning. That is, for many theorems we can start with a statement, apply an inference rule to this statemerit to transform it into another statement, and apply repeatedly an inference rule to the immediate statement we just obtained until we obtain a statement which is the conclusion of the theorem. This chain of reasoning is called line-by-line reasoning by Quinlan and H u n t [12]. Usually, theorems with the line-by-line property are easier to prove than those without this property. The purpose of this paper is to study this line-by-line property in resolution-type theorem proving systems. As we know [10, 12], theorems can be represented in many ways. In this paper the discussion is restricted to theorems which can be represented by sets of clauses [2, 9, 10]. We use resolution [9] as our only inference rule to derive the empty clause [] from the given set S of clauses. In this case, a line-by-line proof is a deduction tree as shown in Figure 1, where each resolvent is resolved only with an original input clause, i.e. a member of S. Because at least one input clause is used in each resolution, we call this kind of a line-by-line proof an input proof. A resolution in which one of the two parent clauses is a unit clause is called a unit resolution. A unit proof is a deduction of [] such that every resolution in the deduction is a unit resolution. As it turns out in the sequel the input proof is closely related to the unit proof. It is proved in this paper that a set of clauses containing its unit factors I has an input proof if and only if it has a unit proof. Since unit resolution is easier to program for computers than input resolution, we have only implemented unit resolution. As is well known, not all theorems have in* Division of C o m p u t e r Research and Technology Let a s u b s t i t u t i o n a unify two or more literals t h a t have the same sign in a single clause C. T h e n Ca is called a factor of C. Ca is a unit factor of C if Co- is a unit clause. Journal of the Association for Computing Machinery, Vol. 17, No. 4, October 1970, pp. 998-707. The Unit Proof and the Input Proof in Theorem Proving 699 C C~,..., Cr ~ $ FiG. 1. An input proof put proofs. However, if a theorem has an input proof it can also be proved b y our unit resolution program. 2. Input and Unit Proofs In theorem proving, given a set S of clauses, we want to find a proof for S. Since S is the original input set, we shall call each m e m b e r of S an input clause. B y a resolution we shall mean a resolution of only two clauses. I n this paper a factor of a resolvent will be considered a resolvent. An input resolution is a resolution in which one of the two parent clauses is an input clause. An input deduction (to emphasize the input set S we sometimes shall say S-input deduction) is a deduction in which every resolution is an input resolution. An input proof is an input deduction of []. Similarly, we define unit resolution and unit deduction as follows. A unit resolution is a resolution in which one of the two parent clauses is a unit clause. A unit deduction is a deduction in which every resolution is a unit resolution. A unit proof is a unit deduction of D. We prove our theorems as follows. THEOREM 1. A set S of ground clauses has a unit proof if and only if S has an input proof. PROOF. e T h e o r e m 1 is proved b y induction. Let P be the set of atoms of S. I f P consists of a single element, say Q, then among the elements of S there exist the unit clauses {Q} and {~Q}. Clearly, the resolvent of {Q} and {~-~Q} is the e m p t y clause O. This deduction is both a unit deduction and an input deduction of [~. Hence, Theorem 1 holds for this case. Assume T h e o r e m 1 holds when P consists of i elements, 1 < i < n. To complete the induction we consider P such that P consists of exactly n -I- 1 elements. (~) If S has a unit proof, then S must contain at least one unit clause, say {L}, We note that the theorem can also be proved by using semantic trees [11]. Journal of the Association for Computing Machinery, Vol. 17, No. 4, October 1970 700 c . L . CHANG where there exists an element A in P such that L is either A or ~-~A. Let S' be that set obtained from S b y deleting those clauses containing the literal L and by deleting ~ L from Vhe remaining clauses. Clearly, since S has a unit proof S p must have a unit proof. But S' contains n or fewer than n atoms; hence by the induction hypothesis there is an S'-input deduction ID r of [] from S r. To each initial node of ID', let the clause already there be C'. If C p is a member of S, let C = C'. If C' is different from a member of S b y the literal ~ L , let C = C' V ~-.~L. Replace Cr by C at this initial node. Then for each noninitial node of ID', if clauses have been attached in this way to each of its immediate predecessor nodes, attach to it the resolvent of the clauses at its immediate predecessor nodes. Let T be the clause attached to the terminal node of ID'. Let ID be the tree together with the attached clauses. Clearly ID is an S-input deduction of T from S. I t is easy to see that T must be either [] or {~L}. If T = [], we are done. If T = { ~ L } , then we can obtain [] by resolving T with the clause {L} which is a member of S. Thus the deduction of [] obtained from the deduction I D of T and the resolution of T and {L} is an S-input deduction of [] from S, i.e. S has an input proof. Therefore, we have completed the proof of the first half of Theorem 1. (~) Conversely, if S has an input proof, then S must contain at least one unit clause, say {L}, where there exists an element A in P such that L is either A or HA. Let S' = {S U [Res (C, {L}) [ C C S]} - {all clauses which contain L or ~-~L}, where Res (C, {L}) is the resolvent of the clause C and the clause {L}. Since there is an S-input deduction of [] from S, it is easy to see that there must be an S'-input deduction of [] from S'. But S' contains n or fewer than n atoms, hence by the induction hypothesis there is a unit deduction of [] from S'. But every clause in S' is either a member of S or a resolvent obtained by applying unit resolution on the clause {L} and a clause in S, hence there is a unit deduction of [] from S; i.e. S has a unit proof. This completes the proof of the second half of Theorem 1. Theorem 1 is for the ground case. We now consider the following theorem for the general (latent) case. THEOREm 2. A set S of clauses containing its unit factors has a unit proof if and only if S has an input proof. PrtOOF. ( ~ ) If S has a unit proof, i.e. if there is a unit deduction D1 of [] from S, then from this deduction tree Di we can replace the clause C attached to each node of D1 b y an appropriate ground instance of C such that the tree together with the attached ground clauses is also a unit deduction of []. Let D / b e this tree together with these attached ground clauses, and let S ~ be the set of ground clauses attached to the initial nodes of D~.~ B y Theorem 1, there is an input deduction D~' of [] from S'. From this deduction D2', we can produce an input deduction of [] from S. This is done as follows: For each initial node N of D..', if C' is the ground clause attached to N, restore C r to the original clause of S. For each noninitial node, if clauses have been attached in this way to each of its immediate predecessor nodes, attach to it the resolvent of the clauses at its immediate predecessor nodes. Clearly, the clause attached to the terminal node must be [], since the clause already there is [] and since instantiation cannot produce [] from a nonempty clause. Let D2 be the tree together with the attached clauses. D2 is an input deduction of [] from S. Therefore, S has an input proof. Journal of the Association for Computing Machinery, Vol. 17, No. 4, October 1970 The Unit Proof and the Input Proof in Theorem Proving 701 ( ~ ) The proof of the second half of Theorem 2 is the same as the above proof except the words "unit" and "input" are interchanged and ground unit clauses are replaced by their corresponding unit clauses. 3. Experiments With Unit Resolution Given a set S of clauses, if S has an input proof then we can use input resolution to obtain a proof for S. However, by Theorem 2 of Section 2, S can also be proved by applying unit resolution. Since unit resolution is easier to program for computers than input resolution, we have implemented only unit resolution. Our program is called TPU, which stands for Theorem Prover with Unit-resolution. TPU is written in the LIsP language. To call T P U to prove a given set S of clauses, we need only give a statement: TPU (S1, $2, $3, W, N1, N2, N3, N4), where the set of all the positive unit clauses in S; $2 = the set of all the negative unit clauses in S; Sa ---- the set of all the nonunit clauses in S; $3 is ordered according to the length of the clause: 2-literal clauses are first, 3-literal clauses second, etc.; W = the family of sets of support for all the clauses in $3. The set of support for each clause in $3 is a set of unit clauses in S. They may or may not be different for different clauses in S~ ; N1 = total number of clauses in S; N~ = maximum number of times clauses in Sa will be selected; N3 = maximum number of times clauses in $3 will be selected before the function depth test will be given for unit clauses; N4 = maximum function depth which a unit clause may have. The procedure of TPU is given in the flowchart as shown in Figure 2. TPU first resolves the clauses in $1 and the clauses in $2 to test for an immediate contradiction. If no contradiction is found, the clauses in $8 are selected one at a time. At the kth step, suppose the clause selected is Ck. TPU tries to generate unit clauses from Ck, $1, and $2 with the set Wc~ of support for C~. If no unit clauses are generated, TPU chooses another clause in S~ and repeats the process. If some unit clauses are generated, TPU applies the subsumption test a and if applicable the function-depth test. 4 TPU retains only those which pass these tests. TPU resolves these newly generated unit clauses against the clauses in $i and $2. If a contradiction is found, it stops; otherwise it picks another clause in $3 and repeats the process. At each step of the procedure, the selection of the clause from $3 may be crucial to the efficiency of the program. In TPU the clauses in $3 are selected in sequence. When $3 is exhausted the clauses are selected again in the same order. The set-of-support strategy is also incorporated into the program. In the program each clause in $3 has its own S1 =- 8 A c l a u s e C is s u b s u m e d b y a c l a u s e D if D~ c C for s o m e s u b s t i t u t i o n #. F o r e x a m p l e , {E = E} is s u b s u m e d b y {x = x}. B y t h e s u b s u m p t i o n t e s t , we m e a n t h a t a g e n e r a t e d u n i t c l a u s e is n o t r e t a i n e d if it is s u b s u m e d b y s o m e u n i t c l a u s e . 4 B y t h e f u n c t i o n - d e p t h t e s t , we m e a n t h a t a g e n e r a t e d u n i t c l a u s e is n o t r e t a i n e d if it c o n t a i n s a n a r g u m e n t i n v o l v i n g n e s t i n g of f u n c t i o n s to a d e p t h g r e a t e r t h a n N 4 . F o r e x a m p l e , t h e f u n c t i o n d e p t h of C = {P(a, f ( g ( h ( a , b))))} is 3. C will n o t b e r e t a i n e d if N4 = 2. Journal of the Association for Computing Machinery. Vol. 17, No. 4, October 1970 702 C. L. CHANG I ', Resolve($1, S2)* I top L (S is proved} I TM Stop IS is not p r o~ ev e d ) ~ b - ~ r k=k+l IL ~No I ' Picka clauseCk l in S3 l Let the set of support for the clause Ck be Generate unit clausesfrom (S1' U $2') Ck, S1 and S2 with the set Wck of support for Ck • • (, ~--I~ No Append (S1' U $2") to ] the set of support for | every clause in S3 | exceptclauseC k I s,:s, os; I s2=$2osj j I ~No Function Depth Test ~ Subsumption Test ) Resolve ($1, S~) 1 and Resolve (S~,S2) / f the tests 7 Let S~I and S~ bethe 1 respective setsof positive and negative unit clauses which passthe tests * Resolve (31 , 32)means that it resolves clauses in Sl against clauses in $2. FiG. 2. The flowchart of TPU set of support. Different clauses may have different sets of support. They are updated at every step. The parameter N~ is used to tell the program when the function depth test will be applied. If we want to use the function depth test throughout the entire proof, we can set N~ = 0. On the other hand, if we do not need this test, we can set N3 = N2. And, of course, N3 can be set to be any integer between 0 and N2. In addition, T P U uses the following scheme to avoid repeated]y generating the same unit clause. For example, given the clauses (1,0) P, (2,0) Q, Journal of the Association for Coranutin~ Maehinerv. Vol. 17. No, 4. October 1970 The Unit Proof and the Input Proof in Theorem Proving 703 (3,0) ~ P V ~-~Q v R, TPU will generate the following sequence of clauses: (4, 1) ~-~Q Y R from (3, 0) and (1, 0), (5, 2) ~ P V R from (3,0) and (2,0), (6,2) R from ( 4 , 1 ) a n d (2,0). Here, the label for each clause is a pair of integers of which the first indicates the name for that clause and the second indicates the origin of that clause. For example, (1, 0) means that the clause is no. 1 clause and is an original clause, while (4, 1) means that the clause is no. 4 clause and is obtained by using clause no. 1. In TPU, to resolve a nonunit clause (ml, nl) against a unit clause (m2, n2), nl must not be greater than m2. Thus, in the above example, we can resolve (4, 1) against (2, 0) to obtain (6, 2). However, we are not allowed to resolve (5, 2) against (1, 0) because 2 is greater than 1. T P U has produced proofs for many examples on the PDP-10 time-sharing system. Among them are the examples listed below. Example 1. In an associative system with left and right solutions, there is a right identity element. Example 2. In an associative system with an identity element, if the square of every element is the identity, the system is commutative. Example 3. In a group the left identity element is also a right identity. Example 4. In a group with left inverses and left identity every element has a right inverse. Example 5. If S is a nonempty subset of a group such that if x, y belong to S then x. y-~ belongs to S, then the identity e belongs to S. Example 6. If S is a nonempty subset of a group such that if x, y belong to S then x. y-1 belongs to S, then S contains x-1 whenever it contains x. Example 7. If a is a prime and a = b2/c~, then a divides b. Example 8. Any number greater than 1 has a prime divisor. Example 9. There exist infinitely m a n y primes. Example 10. Given the rewriting rules (1) A + B : = B + A , (2) A + ( R + C ) : = (A+B)+C, (3) (A + B ) - B : - - A, (4) A : = ( A + B) -- B, (5) (A -- B) + C := (A --F C) - B, (6) (A + B) - C : = (A -- C) + B , show that (a) (A + B ) + C : = A + ( B + C ) , (b) (A--B)+C:=A+ (C--B), (e) A--F ( B - - C) := (A - C ) - - F B , (d) (A --k B) - C := A -t- (B -- C). These are examples formulated and tested by several authors [5, 12, 14-16]. Their clausal representations are given in the Appendix. Our results are summarized in Table I. 4. Concluding Remarks First, input resolution is essentially the axiom resolution of Lee [3] if every input clause is considered as an axiom. It is also imbedded in resolution with merging Journal of the Association for C o m p u t i n g Machinery, Vol. 17, No. 4, October 1970 704 c . L . CHANG TABLE I. EXPERIMENTALRESULTS Example No. clauses generated No. clauses retained No. resolutions iu proof Level of proof Time to obtain proof, sec 1 2 3 4 5 6 7 8 9 10(a) 10(b) 10(c) 10(d) 16 109 44 32 21 32 58 65 34 136 59 53 48 0 3 3 2 0 1 5 11 10 17 6 4 5 4 10 10 7 4 7 6 12 10 11 7 7 7 4 10 10 7 4 7 6 6 6 11 7 7 7 1.550 7.510 3.417 2.650 0.667 2.300 3.566 5.184 4.050 24.550 9.367 6.916 7.317 [1], resolution which has a linear format [4], and resolution which has an ancestry filter format [6]. On the other hand, unit resolution is essentially a generalization of the "one-literal" rule of Davis and P u t n a m [2]. I t was intensively used b y Wos et al. [14-16]. Slagle [8] also considered a general version of unit resolution. I n this paper we have connected together these two seemingly different resolutions--input and unit resolutions. Second, from the experience with our T P U program, we believe that either a unit or an input resolution program should be considered a basic program in resolution-type theorem proving. I f a theorem, i.e. a set of clauses, does not have an input or unit proof, we m a y convert it into a theorem which has an input or unit proof by putting into it appropriate lemmas. Thus, a theorem proving program m a y consist of two parts. One p a r t is the basic program, which m a y be either input or unit resolution. The other is a program which selects good lemmas for a theorem. The first part has been implemented very well b y our T P U program and various other programs [14-16]. The second part is much more difficult. A variety of strategies [1-10, 14-16] m a y be used for selecting good lemmas. For example, we m a y consider t h a t a good l e m m a is a merge [1], or a resolvent which has a linear format [4], or a resolvent derived b y using semantic resolution [8], etc. But., unfortunately, most of these strategies generate m a n y irrelevant and redundant clauses as well. So, much work still needs to be done for this second part. Finally, the results of the experiments with T P U are highly encouraging. F o r the examples tested, the total n u m b e r of clauses generated and retained by TPU during the course of a proof is far less than those generated and retained by the programs of Wos et al. [14-16] and L u e k h a m [5]. Appendix Example 1. In an associative system with left and right solutions, there is a right identity element. 1. 2. 3. 4. P(g(x y) x y), P(x h(x y) y), ~ P ( x y u ) V ~-.~P(yzv) V ~-~P(xvw) Y P ( u z w ) , ~P(k(x)xk(x)). Journal of the Association for Computing Machinery, Vol. 17, No. 4, October 1970 The Unit Proof and the Input Proof in Theorem Proving 705 Example 2. In an associative system with an identity element, if the square of every element is the identity, the system is commutative. 1. P(xex), 2. P ( e x x ) , 3. ~.~P(xyu) Y ~-.~P(yzv) Y ~ P ( u z w ) Y P ( x v w ) , 4. ~ P ( x y u ) V ,~P(yzv) Y ~ P ( x v w ) V P ( u z w ) , 5. P(xxe), 6. P(abc), 7. ,-.~P(b a e). Example 3. In a group the left identity element is also a right identity. 1. P ( I ( x ) x e ) , 2. P ( e x x ) , 3. ~ P ( x y u ) V ~-.~P(yzv) ¥ ~ P ( u z w ) Y P(xvw), 4. ~ P ( x y u ) V ~-~P(yzv) V ~.~P(xvw) Y P ( u z w ) , 5. ~ P ( a e a ) . Example 4. I n a group with left inverses and left identity every element has a right inverse. 1. P ( I ( x ) x e ) , 2. P(exx), 3. ~ P ( x y u ) V ~ P ( y z v ) V ~ P ( u z w ) Y P(xvw), 4. , ~ P ( x y u ) V ~ P ( y z v ) Y ~-.~P(xvw) ¥ P ( u z w ) , 5. ~ P ( a x e ) . Example 5. I f S is a n o n e m p t y subset of a group such that if x, y belont to S, then x-y-1 belongs to S, then the identity e belongs to S. 1. P ( e x x ) , 2. P ( x e x ) , 3. P ( x I ( x ) e ) , 4. P ( I ( x ) x e ) , 5. S(a), 6. ~.~S(x) Y ~ S ( y ) Y ~ P ( x I ( y ) z ) Y S(z), 7. ~-.~P(xyu) ¥ ~ P ( y z v ) V ~ P ( x v w ) V P ( u z w ) , 8. ~ P ( x y u ) Y ~ P ( y z v ) Y ~-.~P(uzw) V P(xvw), 9. ,-,~S (e ). Example 6. If S is a n o n e m p t y subset of a group such that if x, y belong to S then x. y-1 belongs to S, then S contains x -I whenever it contains x. 1. P ( e x x ) , 2. P ( x e x ) , 3. P ( x I ( x ) e ) , 4. P ( I ( x ) x e ) , 5. S(b), 6. ~ S ( x ) Y ~ S ( y ) Y ~ P ( x I ( y ) z ) V S(z), 7. ~ P ( x y u ) Y ~.~P(yzv) Y -.~P(xvw) Y P ( u z w ) , 8. ~ P ( x y u ) Y ~.~P(yzv) V ~ P ( u z w ) V P(xvw), 9. ,-.~S(I(b)). Example 7. I f a is a prime and a = b2/c2 then a divides b. 1. P(a), 2. M(as(c)s(b)), 3. M ( x x s ( x ) ) , Journal of the Association for C o m p u t i n g Machinery, Vo|. 17, No. 4, October 1970 706 c.L. CHANa 4. ~ M ( x y z ) Y M ( y x z ) , 5. ~--~M(xyz) V D(xz), 6. ~ P ( x ) V ~ M ( y z u ) Y ~-~D(xu) Y D(xy) Y D(xz), 7. -.~D(a b). Example 8. Any number greater than 1 has a prime divisor. 1. D(xx), 2. ~ D ( x y ) Y ~-.~D(yz) Y D(xz), 3. P(x) V D(g(x)x), 4. P(x) Y L ( l g ( x ) ) , 5. P(x) V n(g(x)x), 6. L(1 a), 7. ~ P ( x ) Y ~ D ( x a ) , 8. ~ L ( l x ) Y -,,L(xa) V P(f(x)), 9. ~ L ( l z ) V ~ L ( x a ) V D ( f ( x ) x ) . Example 9. There exist infinitely many primes. 1. L ( x f ( x ) ), 2. ~ L ( x x ) , 3. ~ L ( x y ) V ~.~L(yx), 4. --~D(xf(y)) Y L(yx), 5. P(x) V D(h(x) x), 6. P(x) V P(h(x)), 7. P(x) V L(h(x)x), 8. ,-~P(x) Y ~ L ( a x ) V L(f(a)x). Example 10. Axioms: 1. R ( W ( x y ) + ( y x ) ) , 2. R(W(x + (yz)) W(--t- (xy) z)), 3. R(--(-~-(xy)y)x), 4. R ( x - ( W ( x y ) y ) ) , 5. R ( - - ~ - ( - - ( x y ) z ) - ( W ( x z ) y ) ) , 6. R ( - - ( W ( x y ) z ) + ( - - ( x z ) y ) ) , 7. ,'~R(xy) V ,~R(yz) V R ( x z ) , 8. R(xx), 9. ,~R(xy) Y ,-~R(u+(zv)) V R ( u W ( y v ) ) , 10. ,~R(xy) V ,--~R(u - (xv)) Y R(u - (yv)), 11. ,~-~R(xy) Y r,~R(u - (vx)) Y R(u - (vy)). Negation of conclusion: (a) 12. , ~ R ( W ( + ( A B ) C ) + ( A - t - ( B C ) ) ) , (b) 12. , ~ R ( W ( - - ( A B ) C ) W ( A - ( C B ) ) ) , (c) 12. ~ R ( W ( A - - ( B C ) ) W ( - ( A C ) B ) ) , (d) 12. ,-,~R(-- ( + ( A B ) C ) + ( A - (BC))). REFERENCES 1. ANDREWS,P . B . Resolution with merging. J . A C M 15, 3 (July 1968), 367-381. 2. D.&vIs, M., AND PUTNAM, H. A computing procedure for quantification theory. J. ACM 7, 3 (July 1960), 201-215. 3. LEE, C . T . A completeness theorem and a computer program for finding theorems derivable from given axioms. Ph.D. diss., Dep. of Elec. Eng. and Computer Sci., U. of Calif., Berkeley, 1967. Journal of the Association for Computing Machinery, Vol. 17, No. 4, October 1970 The Unit Proof and the Input ProoJ' in Theorem Proving 707 4. LOVELAND,D . W . A linear format for resolution. Carnegie-Mellon U., Pittsburgh, Pa., Dec. 1968. 5. LUCKHA.M,D. Some tree-paring strategies for theorem-proving. In Machine Intelligence, Vol. 3 (Dale, E., and Michie, D., eds.), Oliver & Boyd, Edinburgh, 1968, pp. 95-112. 6. - - . . Refinement theorems in resolution theory. A-I Menlo 81, Stanford Artificial Intelligence Project, Stanford U., Stanford, Calif., March 24, 1969. 7. MELTZER,B. Theorem proving for computers: Some results on resolution and renaming. Computer J. 8 (1966), 341-343. 8. SL~GL~, J . R . Automatic theorem proving with renamable and semantic resolution. J. ACM 15, 4 (Oct. 1967), 687-697. 9. ROBINSON,J. A. A machine-oriented logic based on the resolution principle. J. ACM 12, 1 (Jan. 1965), 23-41. 10.. A review of automatic theorem proving. Proe. Symp. in Appl. M a t h , Amer. Math. Soc., Providence, R. I., 1967. 11. The generalized resolution principle. In Machine Intelligence, Vol. 3 (Dale, E., and Michie, D., eds.), Oliver & Boyd, Edinburgh, 1968, pp. 77-94. 12. QUINLAN,J. R., ~ND HUNT, E . B . A formal deductive problem-solving system. J. ACM 15, 4 (Oct. 1968), 625--646. 13.. An experience-gathering problem-solving system. Teeh. Rep. 68-1-03, Computer Sci. Group, U. of Washington, Seattle, Wash., May 16, 1968. 14. Wos, L., CARSON, D. F., XND ROmNSON, G.A. The unit preference strategy in theorem proving. Proc. AFIPS 1964 Fall Joint Comput. Conf., Vol. 26, Pt. 1, pp. 615-621 (Spartan Books, Washington, D. C.). 15. , ROBINSON, G. A., AND CARSON, D . F . Efficiency and completeness of the set of si~p:port strategy in theorem proving. J. ACM 12, 4 (Oct. 1965), 536-541. 16. , , XND SHALLA, L. The concept of demodulation in theorem proving: J. A'CM 15, 4 (Oct. 1967), 698-709. RECEIVED AUGUST, 1969; REVISED FEBRUARY, 1970 Journal of the Associationfor ComputingMachinery,Vol. 17, No. 4, October 1970

Download PDF

- Similar pages