Hedman. A First Course in Logic, 2004 (Oxford)
.pdf130 
Proof theory 
from what remains). We will prove this proposition by induction on the number n of atomic subformulas of ϕ.
First suppose n = 1. Let A be the only atomic formula that occurs in ϕ. Then there are only three possible clauses in ϕ. Each Ci is either {A}, {¬A}, or {A, ¬A}. The last clause is a tautology, and so, by our previous assumption, it is not a clause of ϕ. So the only clauses in ϕ are {A} and {¬A}. There are three possibilities, ϕ = {{A}}, ϕ = {{¬A}}, or ϕ = {{A}, {¬A}}. The ﬁrst two of these are satisﬁable. So ϕ must be {{A}, {¬A}}. Clearly, can be derived by N resolution.
Now suppose ϕ has atomic subformulas A1, . . . , An+1. Suppose further thatcan be derived by N resolution from any unsatisﬁable formula ψ that uses only the atomic formulas A1, . . . , An.
Let ϕ˜0 be the conjunction of all Ci in ϕ that do NOT contain ¬An+1. Let ϕ˜1 be the conjunction of all Ci in ϕ that do NOT contain An+1.
If An+1 and ¬An+1 are both in a clause, then that clause is a tautology. By our assumption, there is no such clause and ϕ˜0 ϕ˜1 = ϕ.
Let ϕ0 = {Ci − {An+1}Ci ϕ˜0}.
Let ϕ1 = {Ci − {¬An+1}Ci ϕ˜1}.
That is, ϕ0 is formed by throwing An+1 out of each clause of ϕ˜0 in which it occurs. Likewise, ϕ1 is obtained by throwing ¬An+1 out of each clause of ϕ˜1.
Note that ϕ0 is the formula obtained by replacing An+1 in ϕ with a contradiction, and ϕ1 is obtained by replacing An+1 in ϕ with a tautology. Since An+1 must either have truth value 0 or 1, it follows that ϕ ≡ ϕ0 ϕ1. Since ϕ is unsatisﬁable, ϕ0 and ϕ1 are each unsatisﬁable. The formulas ϕ0 and ϕ1 only use the atomic formulas A1, . . . , An. By our induction hypothesis, we can derivefrom both ϕ0 and ϕ1 using N resolution.
Now ϕ0 was formed from ϕ˜0 by throwing An+1 out of each clause. Since we can derive from ϕ0 by N resolution, we can derive either or {An+1} from ϕ˜0 by N resolution (by reinstating {An+1} in each clause of ϕ0). Likewise, we can derive either or {¬An+1} from ϕ˜1 by N resolution. In any case, we can use N resolution to derive from ϕ = ϕ˜0 ϕ˜1.
Theorem 3.43 Let ϕ be a sentence in SNF. Then ϕ is unsatisﬁable if and only if can be derived from ϕ by linear resolution.
Proof As with Theorem 3.42, only one direction of this theorem requires proof. Suppose that ϕ is unsatisﬁable. We want to show that can be derived from ϕ by linear resolution. By the Lifting lemma, it su ces to prove this for propositional
Proof theory 
131 
logic. So suppose ϕ is a set of sentences in propositional logic that are in CNF. We say that a set of sentences is minimal unsatisﬁable if it is unsatisﬁable and every proper subset is satisﬁable. By Exercise 1.33(b), ϕ contains a minimal unsatisﬁable subset ϕ . The following lemma states that for any C ϕ , we can derive by linear resolution begining with C as one parent. The proof of this lemma completes the proof of Theorem 3.43.
Lemma 3.44 Let F be a minimal unsatisﬁable set of sentences of propositional logic that are in CNF. For any C F , we can derive from F by linear resolution begining with C as one parent.
Proof By the Compactness of propositional logic, it su ces to prove this for ﬁnite F . So we may view F as a formula in CNF. We proceed by induction on the number n of atomic subformulas of F . If n = 1, then F = {{A}, {¬A}} for some atomic formula A. In this case, the conclusion of the lemma is obvious. Now suppose that, for some n N, F contains n + 1 atomic subformulas. Our induction hypothesis is that the lemma holds for any formula in CNF containing at most n atomic subformulas.
Let L be a literal in C. This literal partitions F into three subsets as follows.
Let C = {C1, . . . , Ci} be the set of clauses in F that contain L.
Let D = {D1, . . . , Dj } be the set of clauses in F that contain L. Let E = {E1, . . . , Ek} be the set of clauses in F that contain neither
L nor L.
Any clause that contains both L and L is a tautology. Since F is minimal unsatisﬁable, F contains no such clauses. So every clause in F is in exactly one of the above three sets. Note that C is in C. We may assume that C1 = C.
Case 1: C = {L}.
For any clause D F , we can ﬁnd a resolvent of C and D if and only if D is in D. If D is in D, then let D denote the resolvent of C and D. That is, D is the formula obtained by removing L from the formula D. Since F is unsatisﬁable, we can derive from F by resolution. Since it is minimal unsatisﬁable the clause C, as well as each clause of F , is needed in this derivation. It follows that the clause D1 D must exist.
Let FL be the set {D1, . . . , Dj , E1, . . . , Ek}.
Note that FL is equivalent to the formula obtained from F by replacing L
with a tautology and L with a contradiction. Either L or L is an atomic formula that occurs in F but not FL. If F contains n + 1 atomic subformulas, then FL
132 
Proof theory 
contains n atomic subformulas. Our induction hypothesis applies to any minimal unsatisﬁable subset of FL.
Claim There is a minimal unsatisﬁable subset of FL containing D1.
First we show that FL is unsatisﬁable. Suppose to the contrary that FL is satisﬁable. Then there exists an assignment A deﬁned on the n atomic formulas of FL and not deﬁned on L. Let A be an extension of A such that A (L) = 1. Then A models each clause of F . This is a contradiction. Since F is unsatisﬁable, so is FL. By Exercise 1.33(b), FL contains a minimal unsatisﬁable subset.
Suppose we remove D1 from FL. We show that the resulting set FL − {D1} is satisﬁable. To see this, consider the set {C, D2, . . . , Dj , E1, . . . , Ek}. Since this is a proper subset of F (not containing D1 F ), this set must be satisﬁable. Let A be an assignment that models this set. Since A models both C and D2, it also models their resolvent D2. Likewise, A models each formula of FL − {D1} and this set is satisﬁable. It follows that any minimal unsatisﬁable subset of FL must contain D1 as claimed.
By the induction hypothesis, can be derived from FL by linear resolution begining with D1 as one parent. The lemma states that can be derived from F by linear resolution begining with C. We begin this derivation by taking C and D1 as parents of the resolvent D1. Consider now the set {D1, D2, . . . , Dj , E1, . . . , Ek}. Note that this set is obtained from FL by reinstating L to the clauses D2, . . . , Dj . Since can be derived from FL by linear resolution begining with D1, either or L can be derived after reinstating L to
these clauses. If is derived, then we are done. Otherwise, if L is derived, then is obtained from L and C to successfully conclude the linear resolution.
Case 2: C contains literals other than L.
For this case, consider the set FL deﬁned as follows:
FL = {C1, . . . , Ci, E1, . . . , Ek},
where each Cs is obtained by removing L from Cs C. Note that FL is equivalent
to the formula obtained from F by replacing L with a tautology and L with a contradiction. As with FL, the set FL contains n atomic subformulas and we can apply our induction hypothesis to any minimal unsatisﬁable subset of FL.
Claim There is a minimal unsatisﬁable subset of FL containing C1.
The set FL is unsatisﬁable for the same reason that FL is unsatisﬁable. Any assignment that models FL can be extended to an assignment that models F . Since F is unsatisﬁable, no such assignment exists.
Proof theory 
133 
Now suppose that we remove C1 from FL. We show that the resulting set FL − {C1} is satisﬁable. Since F is minimal unsatisﬁable, there exists an assignment A that models every formula of F other than C. Since F is unsatisﬁable, A = ¬C. Since A = ¬C and L C, it must be the case that A = L. Since A models C2 and not L, A must model the formula C2 obtained by removing L from C2. Likewise, A models each formula in FL − {C1}. It follows that any minimal unsatisﬁable subset of FL must contain C1 as claimed.
By the induction hypothesis, can be derived from FL by linear resolution begining with C1 as one parent. The set
{C1, . . . , Ci, E1, . . . , Ek}
is obtained from FL by reinstating L to some of the clauses. Either or L can be derived from this subset of F by linear resolution begining with C = C1. If is derived, we are done. Suppose L is derived. Consider the set
{L, D1, . . . , Dj , E1, . . . , Ek}.
If we remove L from this set, then we have a proper subset of F which must be satisﬁable. Having L in this set, however, makes it unsatisﬁable. Any assignment A that models L also models each clause of C. Since F is unsatisﬁable, so is the above set. So there exists a minimal unsatisﬁable subset of this set containing L. By case 1, can be derived from this set by linear resolution begining with L as one parent. This completes the linear resolution and the proof.
So if ϕ is unsatisﬁable, then we can prove that it is unsatisﬁable using either linear resolution or N resolution. Anything that can be proved using resolution can also be proved using either of these restricted versions of resolution. Suppose we restrict further to resolution that is both linear resolution and N resolution. Call this LN resolution.
Question 1 Can we derive from any unsatisﬁable ϕ using LN resolution?
The answer is “no.” Consider again the example
ϕ = {{A, B}, {¬A, C}, {¬B, D}, {¬C}, {¬D}}.
We showed that ϕ is unsatisﬁable using both N resolution and linear resolution. Note that neither of these derivations was by LN resolution. In fact, cannot be derived from ϕ using LN resolution (try it). So LN resolution is too weak to prove everything. However, suppose we restrict our attention to Horn sentences.
134 
Proof theory 
Deﬁnition 3.45 Let ϕ be a sentence in SNF. If each clause in ϕ contains at most one positive literal, then ϕ is a Horn sentence.
This is the same deﬁnition we gave for sentences of propositional logic in CNF. Note that ϕ in our example is not Horn since it contains the clause {A, B}. The following theorem shows that if we require ϕ in Question 1 to be a Horn sentence, then the answer becomes “yes.”
Theorem 3.46 Let ϕ be a sentence in SNF. If ϕ is a Horn sentence, then ϕ is unsatisﬁable if and only if can be derived from ϕ by LN resolution.
Proof Suppose ϕ is an unsatisﬁable Horn sentence. Again by the Lifting Lemma, we may assume that ϕ is a sentence of propositional logic. Let ϕ be a minimal unsatisﬁable subset of ϕ. By Theorem 3.42, there is an N resolution derivation of from ϕ . In particular, ϕ must contain a negative clause N . By Lemma 3.44, there exists a linear resolution derivation of begining with N . So we have
D N
D1 N1
D2 N2
..
..
. 
. 







Dn 
Nn 









for some clauses D, D1, . . . , Dn and N1, . . . , Nn. Since ϕ is Horn, D contains at most one positive literal. It follows that N1 is contains only negative literals. Likewise, each Ni is negative and this is an LN resolution.
Clauses that contain exactly one positive literal are called deﬁnite. Note that each Di in the previous proof is necessarily deﬁnite. The positive literal in Di “cancels” with one of the negative literals in Ni yeilding the negative resolvent Ni+1. For each Ni there may be many possibilities for Di depending on which literal in Ni we want to cancel. A selector function chooses which literal in Ni to cancel at each stage. For example, we may say cancel the leftmost literal of Ni at each stage. Or we may require that we cancel a literal that has
Proof theory 
135 
appeared in the most Nj for j < i. We demand only that the selector function is invariant under substitutions of variables. That is, suppose that, for a given set of negative literals N , the selector function chooses L N . Then for any substitution of variables sub, we require that the selector function chooses Lsub from N sub.
Deﬁnition 3.47 SLDresolution is LN resolution with a selector function.
The “S” stands for selector, the “L” for linear, and the “D” for deﬁnite.
Example 3.48 Let ϕ = {{¬A, C}, {A, ¬B}, {B}, {¬D, ¬C}, {D, ¬E}, {E}}. We will perform SLDresolution on ϕ twice. First, we use the “leftmost” selector function. At each stage, we underline the literal that we seek to eliminate.
{D, ¬E} {¬D, ¬C}
{E} {¬E, ¬C}
{¬A, C} {¬C}
{A, ¬B} {¬A}
{B} {¬B}
Now we use the “rightmost” selector function.
{¬A, C} {¬D, ¬C}
{D, ¬E} {¬A, ¬D}
{A, ¬B} {¬E, ¬A}
{E} {¬B, ¬E}
{B} {¬B}
136 
Proof theory 
Theorem 3.49 Let ϕ be a sentence in SNF. If ϕ is a Horn sentence, then ϕ is unsatisﬁable if and only if can be derived from ϕ by SLDresolution for any choice of selector function that is invariant under substitutions.
Proof Since the selector function is invariant under substitutions, we may apply the Lifting Lemma and assume that ϕ is a sentence of propositional logic. By Theorem 3.46, we can derive from ϕ by LN resolution as follows:
D N
D1 N1
D2 N2
..
..
. 
. 







Dn 
Nn 









In this derivation, N is a negative clause of ϕ and D, D1, . . . , Dn are deﬁnite clauses of ϕ. We proceed by induction on n. If n = 0, then N contains only one literal L. Any concievable selector function must choose the literal L from N (there is no other choice). So in this case, the above LN resolution is also SLDresolution regardless of the choice of selector function.
Now suppose that n in the above derivation equals m + 1 for some integer m ≥ 0. Then there are m + 2 steps in this derivation. Suppose further that if can be derived by LN resolution in m + 1 steps, then it can also be derived by
SLDresolution. This is our induction hypothesis. 


Let L be the literal of N chosen by the selector 
function. Then 

L 

must occur in D or some Di. If it happens to occur 
in D, then SLD 
resolution begins with the same resolvent N1 as the above LN resolution.
From this point, is derived in 
m + 1 steps from N1 in the the above 

LN resolution. By our induction 
hyposthesis, it can be derived by SLD 

resolution. 


Now suppose that 

is in Di for some i = 1, . . . , n. Then SLDresolution 

L 

begins by ﬁnding the resolvent N 
of Di and N . Consider the following two 


Proof theory 
137 

derivation by LN resolution: 






D 
N 
Di 
N 















D1 
N1 
D 
N 












N 

1 
D2 
N2 
D1 













N 

2 
D3 
N3 
D2 


. 
. 
. 
. 

. 
. 
. 
. 

. 
. 
. 
. 

















Di−1 



Di 
Ni 
Ni 
−1 









Ni+1 

N 
i 
The derivation on the left is the same as before. Since the derivation on the right also begins with N and involves precisely the same deﬁnite clauses (in a di erent order) the result Ni is the same as the result Ni+1 of the derivation on the left. The derivation on the left can be continued as above to obtain . Since, Ni = Ni+1, we can conclude the derivation on the right in exactly the same manner. So, in this new derivation, we derive in the same number of steps (m+2) as before. Beginning this derivation from the second step, we see that, using LN resolution, can be derived from {N , D, D1, . . . , Dn} in m + 1 steps. By our induction hyothesis, we can derive from this set using SLDresolution.
3.6 Prolog
There are many conceivable ways to implement resolution into a programming language. Prolog and Otter are two examples. The language of Prolog is based on ﬁrstorder Horn logic. Otter allows far more expressions. Otter can take a set of ﬁrstorder sentences, put them into CNF, and derive consequences using resolution and other methods. Whereas Otter is used as a theorem prover for elementary mathematics and has successfully obtained new results, Prolog is primarily a search engine for databases (Prolog is closely related to Datalog). Several versions of Prolog and Otter are freely available on the internet. (Otter may be downloaded from the pages of the Mathematics and Computer Science Division of Argonne National Laboratory where it was developed.)
138 
Proof theory 
In this section, we give some examples of Prolog programs and discuss how Prolog uses SLDresolution. We refer the reader to Ref. [20] for details on Otter.
We begin by deﬁning the basic syntax of Prolog. We consider only a fragment of Prolog called “pure Prolog.” In pure Prolog, there are symbols for conjunction and implication, but not disjunction, negation, or equality. Lower case letters are used for relations and functions. Commas are used for conjunction and “q : p” is used for p → q. The Horn sentence
x y((P ((x, y)) E(f (x), y) → Q(x)))
is written in Prolog as
q(X) : p(X,Y), e(f(X),Y).
Note that if this were written as a disjuntion of literals, then the literal q(x) on the left would occur as a positive literal and the literals on the right would occur as negative literals.
Recall that a Horn clause is a clause that contains at most one positive literal. So in Prolog, there is at most one literal to the left of :. If it contains no positive literal, it is called a goal clause. Otherwise, it is called a program clause. There are two varieties of program clauses. If there are no negative literals, then it is called a fact. Otherwise it is called a rule. A program in Prolog is a set of program clauses. For example, the following is a program.
p(ray,ken)
p(ray,sue)
p(sue,tim)
p(dot,jim)
p(bob,jim)
p(bob,liz)
p(jim,tim)
p(sue,sam)
p(jim,sam)
p(zelda,max)
p(sam,max)
gp(X,Y) : p(X,Z),p(Z,Y).
This program consists of 11 facts and one rule. The facts, since they contain no variables, are sentences of propositional logic. These form a database. If we interpret the predicate p(X,Y) as “X is a parent of Y,” then the facts just list pairs of parents and children. The rule deﬁnes the relation gp(X,Y) as “X is a grandparent of Y.” Using ﬁrstorder logic, we can deﬁne gp(X,Y) in a single sentence without having to list all pairs of grandparents and grandchildren.
Proof theory 
139 
We can ask certain questions in Prolog. Questions are presented as a list of positive literals. We use “?” for the Prolog prompt. The following is an example of a question we may ask:
? gp(ray,X),p(X,max)
This can be interpreted as “does there exist an X such that both gp(ray,X) and p(X,max) hold?” That is, is Ray a greatgrandparent of Max? Prolog will not only answer this question, it will output all values for X for which the statement is true. We describe how Prolog does this.
Let P denote the set of all sentences in the program. Let Q denote the sentence X(gp(ray, X) p(X, max)). Our question asked if Q is a consequence of P . That is, we want to know if P ¬Q is unsatisﬁable. Note that ¬Q is equivalent to the Horn sentence X(gp(ray, X) p(X, max) → 0). In Prolog this sentence is written as
: gp(ray,X),p(X,max)
which is a goal clause.
Prolog proceeds with SLDresolution on P {¬Q} using the “leftmost” selection rule. Since, ¬Q is the only negative clause of P {¬Q}, SLDresolution must begin with this clause. Prolog searches the program for something to unify with gp(ray,X), the leftmost literal of ¬Q. Prolog searches until it ﬁnds the rule gp(X,Y) : p(X,Z),p(Z,Y) which has a positive occurrence of gp(X,Y). Prolog computes the following resolvent:
gp(X,Y) : p(X,Z),p(Z,Y) : gp(ray,X),p(X,max)
gp(ray,Y) : p(ray,Z),p(Z,Y) : gp(ray,Y),p(Y,max)
: p(ray,Z),p(Z,Y),p(Y,max).
Prolog then searches and ﬁnds p(ray,ken) which can be uniﬁed with the leftmost literal of the above resolvent. Prolog then calculates the resolvent p(ken,Y),p(Y,max). Searching again, Prolog ﬁnds nothing that can be uniﬁed with p(ken,Y). So this is a dead end and Prolog must backtrack. Prolog goes back to the previous step and, instead of taking p(ray,ken), proceeds down the list to p(ray,sue). After computing the resolvent, Prolog will next ﬁnd p(sue,tim). This is another dead end, and so Prolog will backtrack and take