wm^ms: UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN ^•2 /^M^^ S UIUCDCS-R-79-955 UILU-ENG 79 1701 Inference Rules for Unsatisfiability by David A. Plaisted January 1979 Digitized by the Internet Archive in 2013 http://archive.org/details/inferencerulesfo955plai UIUCDCS-R-79-955 Inference Rules for Unsatisfiability by David A. Plaisted Department of Computer Science University of Illinois at Urbana-Champaign Urbana, Illinois 61801 January 1979 This research was supported in part by the National Science Foundation under MCS 77-22830. Abstract There are some relationships between unsatisfiability of sets of clauses and properties of polynomials in several variables. These polynomials can be used to obtain a polynomial time solution to a certain problem involving sets of clauses. Using these poly- nomials, one can establish a correspondence between unsatisfiable sets of clauses and a convex region of Euclidean space. Also, some inferen rules based on these polynomials may provide shorter proofs of incon- sistency than are possible using other known inference rules. -2- Introduction There are interesting relationships between the satisfiability problem and problems involving polynomials in several variables. The properties of such polynomials yield inference rules which may provide shorter proofs of inconsistency than resolution or other known inference rules can provide. Of course, if all inconsistent sets of clauses have short proofs, then NP = CoNP. Another possibility is that short proofs exist relative to a slowly growing, but infinite, set of axioms. We explore these possibilities. It turns out that polynomials associated with inconsistent sets of clauses over n variables correspond to a region of Euclidean space which is convex and is the intersection of 2 half-spaces. We present polynomial time algorithms for several problems involving these polynomials, and present problems for which no polyno- mial time solution is known. This work contrasts with earlier work of the author [4] in which the satisfiability problem is related to sparse polynomials in one variable. Polynomials in Many Variables Definition : With a vector x in {0, 1} we associate an interpretation I(x) of the variables x-, , x^, ..., x in the usual A. U way. That is, x. is true in I(x) if x. (the i component of x) is 1; X. is false in I (x) if x- is 0. Definition : Suppose S is a set of clauses over the variables X,, Xp, ..., X and f is a function assigning an integer weight to each clause in S. Then Poly(S, f) is defined to be the polynomial p over the -3- variables x, , x^, ..., x having the following properties: 1. For all X e {0, 1}", p(x) = f(C^) + flC^) + ... + f(C,^) where {C-, , C^, ..., C.} is the set of clauses of S that are false in I(x). We assume that the C. are all distinct. Thus p(x) is the weighted sum of the clauses of S that are false in the interpretation I(x). 2. The polynomial p is a sum of terms of the form x. x. ...x. where i-,, ip, ..., i are all distinct. Thus no variable occui in p to a power higher than the first power. It is not difficult to show using properties of polynomials of several variables that Poly(S, f) is uniquely defined, given S and f. Therefore p(x) = for all x e {0, 1} iff all coefficients of p are zero. Also, if S is a set of 3-literal clauses, then Poly(S, f) can be computed from S and f in a number of arithmetic operations that is linear in the size of S. Examples Poly({x^ V X2 V X3}, 1) = (1 - x^)*(l - X2)*(l - X3) . Poly({x, V Xp V x^}, 1) = x-,XpX^ Poly(S, f) = z^^3 f(C)*Poly({C}, 1) (We denote the constant function f(x) s c by c; thus 1 denotes the constant function f(x) =1.) This construction gives an efficient algorithm for the following problem, first treated in [2]: -4- Problem PI: Given sets SI and S2 of 3-literal clauses over x, , ..., X , to decide whether for all interpretations I of x, , ..., x , In '^ In the number of clauses of SI that are false in I equals the number of clauses of S2 that are false in I. ■ We solve this problem by computing Poly(Sl , 1) and Poly(S2, 1), The sets SI and S2 satisfy the above condition iff Poly(Sl , 1) = Poly(S2, 1). This te-^t only requires a number of arithmetic operations and comparisons that is linear in the size of SI and S2. We still do not know whether problem PI can be solved in polynomial time if the number of literals per clause is unbounded. We can also get an efficient, trivial algorithm for the following problem, using these polynomials: Problem P2: Given sets SI and S2 of arbitrarily large negative clauses over {x^, ..., x^}, to decide whether for all interpretations I of Xp x^, ..., x^, the number of clauses of SI that are false in I equals the number of clauses of S2 that are false in I. (A clause is negative if all literals in the clause are negative. Thus x, v x vx is a negative clause.) This problem was posed in [2], in a different form. Note that if SI and S2 consist entirely of negative clauses, then Poly(Sl, 1) and Poly(S2, 1) can be obtained very easily, and the above condition is true iff Poly(Sl , 1) = Poly(S2, 1). However, it turns out that in this case Poly(Sl , 1) = Poly(S2, 1) iff SI = S2. Thus the condition is true iff SI = S2. This problem is closely related to an NP-complete problem mentioned in [ 3 ]. If the number of positive ^^'^^'^Q^s per clause is bounded, we can compute Poly(Sl , 1) and Poly(S2, 1) in linear time and so obtain a fast algorithm for this generalized problem. -5- In fact, we can still get a linear algorithm if the number of x. such that X. and x- both appear in SI u S2 is bounded. This is because changing the sign of a propositional variable does not affect the property we are testing for. In particular, we can still solve Problem P2 efficiently if all the clauses are positive (that is, have only positive literals). Theorem : The following problem is NP-complete: Problem P3: Given a polynomial p(xi, Xp, ..., x ) with integer coefficients, to determine whether there exists x e {0, 1}"^ such that p(x) = 0. Proof: This problem is clearly in NP. Also, a set S of 3-literal clauses over the variables x, , Xp, ..., x is consistent iff 3x e {0, 1}" such that Poly(S, l)(x) = 0. Furthermore, Poly{S, 1) can be computed from S in polynomial time. This result is not very profound, but polynomials in several variables have a convenient mathematical structure which helps to give us insight into the nature of the satisfiability problem. Theorem: Suppose SI and S2 are sets of 3-literal clauses over X,, Xp, ..., x and f, and f^ are weighting functions for SI and S2, respectively. Suppose fi(C) > for all C e SI and f^lC) > for all C e S2. Suppose Poly(Sl , f ■] ) = Poly(S2, f2). Then SI is inconsistent iff S2 is. This result suggests inference rules for unsatisfiabil i ty. Namely, if we know SI as in the theorem is inconsistent, so is S2. However, there does not appear to be any relationship between such sets SI and S2 in terms of proofs of inconsistency. Hence we might hope to -6- obtain short proofs of inconsistency using inference rules based on Poly(S, f) for a set S of 3-literal clauses. For example, the following sets SI, S2 and S3 of clauses satisfy Poly(Sl , 1) = Poly(S2, 1) = Poly(S3, 1) = 1: SI : X, V Xp V x^ x, V Xp V x^ X^ V X2 V X3 X^ V X2 V X3 X^ V X^ V X3 X^ V Xp V X3 X^ V Xp V X3 X^ V X2 V X3 S2: x-j V Xp V X3 x, V Xp ^1 " h "" h '2 " ^3 ^3^ ^1 S3: x. ^1 ^ h X^ V x^ V X3 X^ V x^ V X3 Thus if we know one of these sets to be inconsistent, we can easily show the others to be inconsistent since their polynomials are all identical. ^ Linearity Properties of the Coefficients Notice that the coefficients of Poly(Sl , f) for fixed SI are linear combinations of the values f(C) for C e SI . Thus we can get a polynomial time solution to the following problem. Problem P4: Given sets SI and S2 of 3-literal clauses over X, , Xp, ,.., X , to find weighting functions f, and fp such that Poly(Sl, f^) = Poly(S2, f^), if such f^ and f^ exist. This problem can be solved in polynomial time since Poly(Sl, f^) = Poly(S2, f^) iff all coefficients of Poly(Sl, f ^ ) - Poly(S2, fp) are zero. Also, each coefficient of Poly(Sl, f , ) - Pol y(S2, fp) is a linear combination of the values f-|(C) for C in SI and fp(C) for C in S2. Hence we have a set of homogeneous linear equations. We can find a solution (if it exists) by Gaussian elimi- nation. The solution will be rational, so by multiplying through by suitable integers we can obtain an integer solution. By similar methods, we get a polynomial time algorithm for the following problem: Problem P5: Given sets SI and S2 of 3-literal clauses over x-j , ..., x^, and given a weighting function f-j for SI, to find an integer k ?^ and a weighting function fp for S2 such that l<*Poly{Sl, f , ) Poly(S2, f^), if such k and f^ exist. The significance of this result is that if for all X e (0, 1}", Poly(Sl, f^)(x) f 0, and if such k and f^ exist, then S2 is inconsistent. Further, if SI is inconsistent and fi(C) > for all C in SI, then Poly(SK f^)(x) i for all x e {0, 1}". The following problem is related but is harder. Problem P6: Given sets SI and S2 of 3-literal clauses over x^ , x^, ..., x^, and given weighting function f-, for SI, to find a weighting function f^ for S2 such that Poly(Sl, fj = Poly(S2. fp), if such fp exists. By previous remarks, this is equivalent to solving a Correction to Page 7 of "Inference Rules for Unsatisfiabil ity" by David A. Plaisted Problem P4: Given sets SI and S2 of 3-literal clauses over X, , ..., X , and given a weighting function f-j for SI, to find an integer k 7^ and a weighting function f^ for S2 such that l<*Poly(Sl, f -, ) = Poly(S2, f^), if such k and f^ exist. We can solve this problem in polynomial time since each coefficient of Poly(S2, fp) is a linear combination of the values f^lC) for C e S2. By Gaussian elimination, we can obtain rational values for the quantities f(C) so that Poly(S2, f) = Poly(Sl , f , ) , if such values exist. Let k / be an integer so that kf(C) is an integer for all C - S2, and let f2(C) be kf(C) TCr uii o c i.:. irn_ii .v^ij^\w:-, ip/ - ^ ..jij^os, ' i J • The significance of this result is that if for all x e {0, 1} , Poly(Sl, fi)(x) f 0, and if such k and f^ exist, then S2 is inconsistent. Further, if SI is inconsistent and f-jlC) > for all C in SI, then PolyiSl, f^)(x) 7^ for all x e {0, 1}". Consider the following problem. Problem P5: Given sets SI and S2 of 3-literal clauses over x, , Xp, ..., X , to find weighting functions f, and f^ such that f^(C) >_ 1 for all C e SI and such that Poly(Sl, f ^ ) = Poly(S2, f^), if such f^ and f^ exist. The significance of this problem is that if SI is inconsistent and if f"! and f^ exist, then S2 is inconsistent also. Although we do not have a poly- nomial time solution to problem P5, we have the following easy result: Theorem : Problem P5 can be polynomially reduced to the following pi^oblem: Given sn integer n^stri^^ A arid an iiitegcr £, to determine whetner there exists a vector z such that Az = and such that z- >^ 1 for i = 1, 2, ..., a. The following problem appears to be easier. Problem P6: ... Correction to Page 8 line -5: x should be z two places. set of non-homogeneous linear diophantine equations. Techniques for solving such systems can be found in [ 1 ]. Definition : A rational weighting function f for a set S of clauses is a function from elements of S to rational numbers. That is, the weight of each clause may be a rational number. The usual kind of weighting function will be called an integer weighting function when necessary. Weighting functions will be assumed to be integer weighting functions unless otherwise specified. Consider the following problem: Problem P7: Given sets SI and S2 of 3-literal clauses and an integer weighting function f, for SI, to determine if there exists a rational weighting function f^ for S2 such that eyery coefficient of Poly(S2, fp) - Poly(Sl, f ■, ) is nonnegative. Note that if such an f^ exists, and if Poly(Sl , fi)(x) > for all x e {0, 1}", then Poly(S2, f2)(x) > for all x e {0, 1}" also and so S2 is inconsistent. We can easily get the following result. Theorem: Problem P7 can be polynomial ly reduced to the following problem: Given an integer matrix A and an integer vector 5, to determine if there exists a vector x such that Ax ^ B. Here inequality is applied componentwise. Isomorphism Definition : Suppose SI and S2 are sets of 3-literal clauses over X,, Xp, ..., x . We say SI ^^ S2 if S2 can be obtained from SI by permuting variables and by changing signs of variables. -9- It is clear that if SI 'v^ S2, then SI is inconsistent iff S2 is. Also, it is not hard to show that determining whether SI '^ S2 is polynomially equivalent to graph isomorphism. Similarly, given polynomials p, and p^ over x-, , ..., x , determining whether p, can be obtained from Pp by permuting variables, is polynomially equivalent to graph isomorphism. We do not know whether this is still true if we also allow replacements of the form x. ^ 1-x.. Definition : Suppose p-, and p^ are polynomials in the variables x, , Xp, ..., x . We say p, '^ Pp if p^ can be obtained from p-j by permuting variables and by replacements of the form x. -«- 1-x.. Note that this is an equivalence relation. Denseness of Non-zero Values The following results give us more insight into the behavior of the functions Poly(S, f). In particular, the values of Poly(S, f)(x) on all X in {0, 1} are determined by the values at a small set of such X, as we will show. Let R be the set of real numbers. Definition : Suppose x, y e {0, 1}". We say x £y if for i = 1, 2, ... , n, x^. < y^. . Definition : If x is an n-tuple of real numbers, then ||x|| n I I i^"" n Definition : Suppose q is a function from R into R. Then A.q is the function defined by (A.q)(x, , ..., x ) = qlx,, x^, ..., ^-j.i' x^- + 1 , x^._^.|, ..., x^) - q(x^, ..., x^). Similarly, A.A^.q is defined. Definition : Suppose x e {0, 1}". Suppose q is a function from R into R. Then A-q is A. A. ...A. q where i-, < i^ < . . . < i. and {i^, i^, ..., i|^} = {j: X. = 1}. •10- Theorem : Suppose S is a set of 3-literal clauses over X, , Xp, ..., X and f is a weighting function for S. Suppose X e {0, 1}" and ||x|| > 4. Then A-Poly(S, f) = 0. Proof : The degree of A.p is at most one less than the degree of p, unless p is a constant. Also, the degree of Poly(S, f) is 3 or less. Hence if ||x|| = 3, the degree of A-Poly(S, f) is and A A-Poly(S, f) is a constant. Therefore if ||x|| = 4, A-Poly(S, f) = 0. A A Theorem : Suppose S is a set of 3-literal clauses over X, , Xp, ..., X and f is a weighting function for S. Suppose Poly(S, f) is not identically zero. Then there exists x e {0, 1}" such that I |x| I £ 3 and such that Poly(S, f)(x) ^ 0. Proof: Let y be a minimal vector in {0, 1} such that Poly(S, f)(y) f 0. Then A-Poly(S, f)(0, 0, ..., 0) ^ 0. Hence I|y|li3. Corollary : Poly(S, f) is completely determined by the (^) + (2) + n + 1 values Poly(S, f)(x) for | |x| | < 3. It follows that Poly(S, f) = if Poly(S, f)(x) = for all X e {0, 1}" with I I x| I £ 3. In fact, if Poly(S, f) is not identically zero, then for all y e {0, 1}"^, there exists x e {0, l}*^ such that ||x - y|| £ 3 and such that Poly(S, f)(x) ^ 0. Thus interpretations giving non-zero values are "dense". It does not follow, however, that Poly(S, f)(x) > for all x e {0, 1}" iff Poly(S, f)(x) > for all x € {0, 1}" with I |x| I <_ 3. For example, let S be the set of Zl^) clauses over X, , X,, ..., X in which x. v x. v x. and x. v x. v x, occur in S for all i, j, k with i < j < k. Define f by f(C) = -1 on clauses C of the form x. v x. v x. and f(C) = 1 on clauses C of the 1 J K form X. V x. V x. . Suppose n ^ 7. Then Poly(S, f)(x) > for all 1 J K -11 X c {0, 1}" with I |x| I 1 3, but Poly(S, f)(l, 1, ..., 1) is -(3) The Unsatisfiable Region of Euclidean Space Definition : Let M be the set of polynomials p with real coefficients over the variables x, , ..., x such that p can be expressed as a sum of terms of one of the following forms, for i < j and j < k: a. ., x-x .X, b. .x.x . ex. 1 1 Note that such a polynomial is specified by (-) + (p) + n + 1 real coefficients. We thus identify polynomials in M with points in N-dimensional Euclidean space, where N = ( J + (p) + n + 1 . Usually we are interested in the set of integer coefficient polynomials of M, N We would like to know which region of R corresponds to polynomials p e M such that p(x) > for all x e {0, 1} . Such polynomials represent inconsistent sets of clauses. Therefore we have the following definitions. Definition : Let UNSATP be {peM: p(x) > for all x e {0, 1}"}, N We also use UNSATP to refer to the corresponding subset of R . N Theorem : UNSATP is a convex region of R . In fact, n N UNSATP is the intersection of 2 half-spaces in R . Also, if z e UNSATP then ai e UNSATP for all a > 0. Proof: Let w be an element of {0, 1} . Suppose p is a polynomial in UNSATP. Then p(w) is a sum of coefficients of p. Hence {p c M: p(w) > 0} is a half-space of R*^. Therefore UNSATP is the n N intersection of 2 half-spaces in R . Since each half-space is convex. -12- so is UNSATP. Also, if p(w) > then ap(w) > for all a > 0. Hence p e UNSATP implies ap e UNSATP for all a > 0. Using these results, we might be able to verify that a point is in UNSATP by exhibiting a perpendicular to a suitable hyperplane bounding UNSATP. Inference Rules We now show how the polynomials associated with sets of clauses can be used to obtain more inference rules for unsatisfiabili ty. That is, we obtain inference rules that can be used to show that a set of clauses is unsatisfiable. It is conceivable that the use of these rules, together with other inference rules such as resolution, will make possible much shorter proofs than are possible without using these rules Therefore, this work is closely related to the NP vs. CoNP question. We use GE(pi, p^) to abbreviate (vx e {0, 1} ) p-j(x) ^P2(x). Also, the polynomial whose value is the constant k is written k. Thus GE(p, 1) means (yx e {0, l}")p(x) >_ 1. Further, if f is a weighting function for a set S of clauses, then f ^ k abbreviates (VC e S)f(C) >_ k. Similarly, f > k abbreviates (VC e S)f(C) > k. Note that a set S of clauses is inconsistent iff (3f )GE(Poly(S, f), 1). We introduce inference rules involving expressions of the form GE(p, q). List of Inference Rules Group 1 1. Poly(S, f^ + f^) = Poly(S, f ^ ) + Poly(S, f^) 2. Poly(S, kf) = k*Poly(S, f) 3. SI n S2 = :3 Poly(Sl u S2, f) = Poly(Sl, f) + Poly(S2, f) 4. (S is inconsistent) iff (3f) GE(Poly(S, f), 1) 5. (S is inconsistent) iff (3f) f > ^ GE(Poly(S, f ) , 1 ) •13- 6. f > 3 [(S is inconsistent) iff GE(Poly{S, f), 1)] 7. SI c S2 A f > 3 GE(Poly(S2, f), Poly(Sl , f)) 8. f^ ^ '• fp ^ D [GE(Po1y(S, f ^ ) , 1) GE(Poly(S, f^), D] 9. f ^ > A f^ > A Poly(S1, f^) = Poly(S2, f^) 3 SI e S2 10. SI E S2 3 (S u SI is inconsistent) iff (S u S2 is inconsistent) Group 2 1. GE(p, p) 2. GE{p, q) A GE(q, r) d GE(p, r) 3. GE(p^, q^) A GE(pp, q^) ^ GE(p-| + q^ p^ + q^) 4. GE(p, q) iff GE(-q, -p) 5. GE(q^, 0) A GECq^, 0) a GE(p^ , q^ ) a GE(p2, q^^l ^ ^^(p^*?^, q^*q, 6. kl > A |<2 > A GE(p^, k^) a GE(p2, k^) ^ GE(p^*P2, k^*k2) 7. k > 3 [GE(p, q) = GE(kp, kq)] 8. GE(q, 1) D [GE(p^, p^) =- GE(p^*q, D^^q)] 9. GE(x^. , 0) for 1 £ i 1 n and GE(1 - x. . 0) for 1 < i < n 10. GE(x., x.*^) for 1 < i < n, k > 11. GECx.*^, X.) for 1 < i < n, k > Group 3 1. SI 'V S2 3 S2 % SI 2. p^ % p^ 3 P2 ^ P-, 3. SI '^^ S2 3 [(SI is inconsistent) iff (S2 is inconsistent)] 4. p^ % p^ 3 k*p^ ^ k*p2 5. GE(p^, q) A p^ a. p^ D GE(P2, q) 6. SI 'x^ S2 A f^ > 3 [(3f2)f2 > a Poly(Sl , f ^ ) '^^ Poly(S2, f^)] We now illustrate ways in which these rules can be used. Suppose SI is inconsistent and SI c S2. Then by 1.6, GE(Poly(Sl , 1), 1). Also, by 1.7, GE(Poly(S2, 1), Poly(Sl , 1)). Hence by 2.2, GE(Poly(S2, 1), 1). Hence by 1.6, S2 is inconsistent. Thus we only need to worry about minimal inconsistent sets of clauses. These can be reduced in number by 3.3. In addition, from 2.5, 2.7, and 2.9 it follows that GE(p, 0) is true if all coefficients of p are nonnegative. Also, it follows from 2.5, 2.7, and 2.9 that GE(Poly(S, f), 0) for all S if f >: 0. Suppose SI is a minimal inconsistent set of clauses, and for some weighting function f i , Poly(Sl, fj = Poly(S2, f^) + p where f2 > and GE(p, 0) is known. -14- Suppose S2 is knownto be inconsistent. Then it follows by 1.6 that GE(Poly(S2, f^), 1) and by 2.3 that GE(Poly(Sl, f ^ ) , 1) and by 1.4 that SI is inconsistent. Hence we may be able to exhibit short proofs of inconsistency of minimal inconsistent sets of clauses by methods other than isomorphism. Also, it could be that distinct minimal inconsistent sets SI and S2 of clauses will have the same polynomials Poly(Sl, f , ) = Poly(S2, f^), and in this way we may get short proofs of inconsistency. Finally, the rules 2.10 and 2.11 can be used to eliminate powers of x- higher than the first power after applying 2.5 or 2.6. The rules 2.5 or 2.6 will usually result in polynomials of degree higher than 3, even after such reduction in exponents has been done. The following limited results concern minimal inconsistent sets of clauses. Theorem: Suppose SI and S2 are minimal inconsistent sets of clauses over x-, , Xp, ..., x,^. That is, no proper subset of SI or S2 is inconsistent. Suppose f-, > and f^ > and Poly(Sl, f -, ) = Poly(S2, f^). Then min {f^(C): C e SI} = min (f^CC): C e S2}. Proof: Let CI e SI be a clause such that fi(Cl) is minimal among {fi(C): C e SI}. Let C2 e S2 be a clause such that f2(C2) is minimal among {fp(C): C e S2}. Since SI is minimal inconsistent, SI - {CI} is consistent and so some interpretation makes all clauses in SI - {CI} true. Thus there exists x e {0, 1}" such that Poly(Sl, f^)(x)= f^(Cl). Hence Poly(S2, f2)(x) = f^(Cl) also. Since Poly(S2, f2)(x) is a sum of weights of clauses in S2, f-|(Cl) ^ f2(C2). Similarly, f2(C2) > f^(Cl). 15- Theorem : Suppose S is a minimal inconsistent set of clauses over x^ , X2, ...» X . Suppose f is a weighting function. Then GE(Poly(S, f), 1) is true iff f > 0. Proof : If f > 0, GE(Poly(S, f), 1) follows because S is inconsistent. If for some C e S, f(C) <_ then GE(Poly(S, f), 1) is false, as follows: Since S is minimal inconsistent, there is an interpretation in which C is false and all other clauses of S are true. Hence there exists x e {0, l}*^ such that Poly(S, f)(x) = f(C). Since f(C) < 0, we cannot have GE(Poly(S, f), 1). There is still another technique that may be applied to show inconsistency. Let f be a weighting function for S such that for no nonempty subset {CI, C2, ..., Ck} of k distinct elements of S does f(Cl) + f(C2) + ... + f(Ck) = 0. Such weighting functions can be obtained from instances of the knapsack problem or the partition problem that are known not to have a solution. And such instances can be obtained by polynomial time reductions from known inconsistent sets of clauses! In any event, if f is such a weighting function, and S is inconsistent, then (Vx e {0, 1}") Poly(S, f)(x) f 0. Hence if SI is another set of clauses and f, is a weighting function for SI, and if Poly(Sl, f , ) = Poly(S, f), then SI is inconsistent also. Such a function f need not satisfy f ^ 0, and so we get a more general method than that of rules 1.4, 1.5, and 1.6. Finally, it would be interesting to know if there is a "small" set A of axioms from which the inconsistency of all inconsistent sets of 3-literal clauses over x-, , ..., x can be shown by short proofs. -16- These axioms would be of the form GE(Poly(S, f), 1) for various S and f or of the form GE(p, 0) for various p. If so, unsatisfiability could be decided in nondeterministic polynomial time relative to a "slowly utilized" oracle [2]. Along this line, how many distinct polynomials p are there in the set IP = {Poly(S, 1): S is a minimal inconsistent set of clauses over x, , ..., x }? How many equivalence classes are there in this set under the relationship p, % p^? Not all of these equivalence classes are really necessary. Suppose we eliminate from IP all equivalence classes of polynomials p satisfying the following condition: There exist SI, S2, f , , f^, q such that p = Poly(Sl, 1) and SI, S2 are minimal inconsistent sets of clauses and Poly(Sl, f^) = Poly(S2, f^) + q and f^ > and it is known that GE(q, 0) is true. If this condition is true, then given that S2 is known to be inconsistent we can construct a short proof that SI is inconsistent. Hence GE(Poly(Sl, 1), 1) need not be kept as an axiom. The polynomial q may have nonnegative coefficients, or be of the form Poly(S, f) - 1 where S is known to be inconsistent and f > 0. Also, we can eliminate from IP all equivalence classes of polynomials Poly(S, 1) such that S has a short resolution proof of inconsistency. How many equivalence classes are then left in IP? If this number is small, we might hope to get short proofs of inconsistency relative to a small number of axioms. Conclusions Polynomials with several variables give insight into the structure of unsatisfiable sets of clauses. The polynomials associated with sets of clauses seem to have properties that do not have any relationship to difficulty of proving inconsistency of the sets of clauses. -17- It is possible, therefore, that these polynomials will provide methods of obtaining short proofs of inconsistency. It turns out that polynomials of unsatisfiable sets of clauses correspond to a region of Euclidean space which is the intersection of 2 half-spaces, for sets of clauses over n variables. Some inference rules based on these polynomials can be used to show that a set of clauses is unsatisfiable. Several problems associated with these polynomials have polynomial time solutions. 18- References [1] Niven, I. and H. Zuckerman. An Introduction to the Theory of Numbers . Wiley, New York, 1972, pp. 100-105. [2] Plaisted, D. New NP-hard and NP-complete polynomial and integer divisibility problems. Proceedings of the 18th Annual Symposium on Foundations of Computer Science , 1977, pp. 241-253. [3] Plaisted, D. Some polynomial and integer divisibility problems are NP-hard. SIAM J. Comput . 7, 1978, pp. 458-464. [4] Plaisted, D. Sparse complex polynomials and polynomial reducibility. J. Comput. System Sci . 14, 1977, pp. 210-221. JLIOGRAPHIC DATA EET 1. Report No. lJIUCDCS-R-79-955 3. Recipient's Accession No. [ iiU- anJ Subtitle 5. Report Date 'Inference Rules for Unsatisfiabil ity' January 1979 6. \uthor(s ) David A. Plaisted 8. Performing Organization Rept. No. ^crforminj; Organization Name and Address Department of Computer Science University of Illinois Urbana, Illinois 61801 10. Project/Task/Work Unit No. 11. Contract /Grant No. MCS 77-22830 Sponsoring Organization Name and Address National Science Foundation Washington, D.C. 13. Type of Report & Period Covered 14. Supplementary Notes Abstracts There are some relationships between unsatisfiabil i ty of sets of clauses and properties of polynomials in several variables. These polynomials can be used to obtain a polynomial time solution to a certain problem involving sets of clauses. Using these polynomials, one can establish a correspondence between unsatisfiable sets of clauses and a convex region of Euclidean space. Also, some inference rules based on these polynomials may provide shorter proofs of inconsistency than are possible using other known inference rules. Key Words and Document Analysis. 17a. Descriptors Unsatisfiabil ity, propositional calculus, polynomials in several variables, proof length, CoNP, Inference rules. Identifiers /Open-Ended Terms COSATl Field/Group Availability Statement 19. Security Class (This Report) I INC. I. A SSI Fl ED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pa^es 22. Price •^ NTls-35 1 10-70) USCOMM-DC 40329-P7 1 /\UG 1 » i^8Q »V^NO^