Logic seminar 5 The resolution principle 12.12.2005. Slobodan Petrović.

Slides:



Advertisements
Similar presentations
Resolution Proof System for First Order Logic
Advertisements

Biointelligence Lab School of Computer Sci. & Eng.
10 October 2006 Foundations of Logic and Constraint Programming 1 Unification ­An overview Need for Unification Ranked alfabeths and terms. Substitutions.
1 A formula in predicate logic An atom is a formula. If F is a formula then (~F) is a formula. If F and G are Formulae then (F /\ G), (F \/ G), (F → G),
AR for Horn clause logic Introducing: Unification.
Standard Logical Equivalences
Resolution.
Automated Reasoning Systems For first order Predicate Logic.
1 Logic Logic in general is a subfield of philosophy and its development is credited to ancient Greeks. Symbolic or mathematical logic is used in AI. In.
First Order Logic Resolution
Inference and Reasoning. Basic Idea Given a set of statements, does a new statement logically follow from this. For example If an animal has wings and.
For Friday No reading Homework: –Chapter 9, exercise 4 (This is VERY short – do it while you’re running your tests) Make sure you keep variables and constants.
Resolution in Propositional and First-Order Logic.
Logic Concepts Lecture Module 11.
1 Applied Computer Science II Resolution in FOL Luc De Raedt.
Outline Recap Knowledge Representation I Textbook: Chapters 6, 7, 9 and 10.
Computability and Complexity 9-1 Computability and Complexity Andrei Bulatov Logic Reminder (Cnt’d)
Formal Logic Proof Methods Direct Proof / Natural Deduction Conditional Proof (Implication Introduction) Reductio ad Absurdum Resolution Refutation.
CSE (c) S. Tanimoto, 2008 Propositional Logic
Logic in Computer Science Transparency No Chapter 3 Propositional Logic 3.6. Propositional Resolution.
Inference and Resolution for Problem Solving
Logic seminar 4 Herbrand’s theorem Slobodan Petrović.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
Chapter 3 Propositional Logic
CSE (c) S. Tanimoto, 2007 Unification 1 Unification Predicate calculus rules are sometimes so general that we need to create specializations of.
Introduction to Logic for Artificial Intelligence Lecture 2 Erik Sandewall 2010.
Chapter 4 Context-Free Languages Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Proof Systems KB |- Q iff there is a sequence of wffs D1,..., Dn such that Dn is Q and for each Di in the sequence: a) either Di is in KB or b) Di can.
Propositional Resolution Computational LogicLecture 4 Michael Genesereth Spring 2005.
Advanced Topics in FOL Chapter 18 Language, Proof and Logic.
Intro. to Logic CS402 Fall Propositional Calculus - Semantics (2/3) Propositional Calculus - Semantics (2/3) Moonzoo Kim CS Division of EECS Dept.
Conjunctive normal form: any formula of the predicate calculus can be transformed into a conjunctive normal form. Def. A formula is said to be in conjunctive.
1 Chapter 8 Inference and Resolution for Problem Solving.
Advanced Topics in Propositional Logic Chapter 17 Language, Proof and Logic.
First Order Predicate Logic
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
CSE S. Tanimoto Horn Clauses and Unification 1 Horn Clauses and Unification Propositional Logic Clauses Resolution Predicate Logic Horn Clauses.
CS344: Introduction to Artificial Intelligence Lecture: Herbrand’s Theorem Proving satisfiability of logic formulae using semantic trees (from Symbolic.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 28– Interpretation; Herbrand Interpertation 30 th Sept, 2010.
Unification Algorithm Input: a finite set Σ of simple expressions Output: a mgu for Σ (if Σ is unifiable) 1. Set k = 0 and  0 = . 2. If Σ  k is a singleton,
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
Resolution Strategies One common strategy for applying resolution is called level saturation. Here you try to resolve every pair of clauses from the original.
Propositional calculus
Natural Deduction System for First Order Logic Student: Wei Lei Instructor: W. M. Farmer Department of Computing and Software McMaster University, Hamilton,
Logic Seminar 1 Introduction Slobodan Petrović.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Web Science & Technologies University of Koblenz ▪ Landau, Germany Procedural Semantics Soundness of SLD-Resolution.
Automated Reasoning Systems For first order Predicate Logic.
CS6133 Software Specification and Verification
1 Section 9.1 Automatic Reasoning Recall that a wff W is valid iff ¬ W is unsatisfiable. Resolution is an inference rule used to prove unsatisfiability.
第 1 6 章 谓词演算中的归结. 2 Outline Unification Predicate-Calculus Resolution Completeness and Soundness Converting Arbitrary wffs to Clause Form Using Resolution.
General resolution Method1 General Resolution method in FOL Lesson 8.
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
CSE (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.
1 Knowledge Based Systems (CM0377) Lecture 6 (last modified 20th February 2002)
Converting arbitrary wffs to CNF A wff is in prenex form iff it consists of a string of quantifiers (called a prefix) followed by a quantifier free formula.
1 Hojjat Ghaderi, University of Toronto, Fall 2006 CSC384: Intro to Artificial Intelligence Knowledge Representation III ● Required Readings: 9.1, 9.2,
1 Section 7.1 First-Order Predicate Calculus Predicate calculus studies the internal structure of sentences where subjects are applied to predicates existentially.
Knowledge Representation and Reasoning
Soundness of SLD-Resolution
Horn Clauses and Unification
CSE (c) S. Tanimoto, 2004 Unification
CSE S. Tanimoto Unification
CSE (c) S. Tanimoto, 2002 Unification
Chapter 4: Prolog (Substitution, Unification and Resolution)
Resolution Proof System for First Order Logic
Soundness of SLD-Resolution
Resolution Preliminaries
Presentation transcript:

Logic seminar 5 The resolution principle Slobodan Petrović

The resolution principle Herbrand’s procedure has one major drawback: –It requires the generation of sets S 1 ’, S 2 ’,… of ground instances of clauses. –For most cases, this sequence grows exponentially. Example: –S={P(x,g(x),y,h(x,y),z,k(x,y,z)),  P(u,v,e(v),w,f(v,w),x)}

The resolution principle Example (cont.): –H 0 ={a} –H 1 ={a,g(a),h(a,a),k(a,a,a),e(a),f(a,a)} –… –The earliest set that is unsatisfiable is S 5 ’. –S 5 ’ has the order of elements. –It is impossible even to store S 5 ’ in a computer.

The resolution principle In order to avoid the generation of sets of ground instances of clauses, the resolution principle was introduced by Robinson in The resolution principle can be applied directly to any set S of clauses (not necessarily ground clauses) to test the unsatisfiability of S.

The resolution principle The essential idea of the resolution principle: –To check whether S contains the empty clause □. –If S contains □, then S is unsatisfiable. –If S does not contain □, then it should be checked whether □ can be derived from S. By Herbrand’s theorem, checking for the presence of □ is equivalent to counting the number of nodes of a closed semantic tree for S.

The resolution principle S is unsatisfiable if and only if there is a finite closed semantic tree T for S. S contains □ if and only if T consists of only one node – the root node. If S does not contain □, then T must contain more than one node. If we can reduce the number of nodes in T to one, □ may be forced to appear.

The resolution principle We can view the resolution principle as an inference rule that can be used to generate new clauses for S. If we put these new clauses into S, some nodes of the original T can be forced to become failure nodes. Thus the number of nodes in T can be reduced and the empty clause □ will be eventually derived.

The resolution principle The resolution principle for the propositional logic –The resolution principle is essentially an extension of the one-literal rule (Davis and Putnam). –Example. The clauses: C 1 : P C 2 :  P  Q. –Using the one-literal rule, from C 1 and C 2 we can obtain a clause: C 3 : Q

The resolution principle The one-literal rule requires the examination whether there is a complementary pair of a literal (in this example P) in C 1 and a literal (in this example  P) in C 2. Then the complementary pair is deleted from C 1 and C 2 to obtain C 3.

The resolution principle By extending the one-literal rule and applying it to any pair of clauses (not necessarily unit clauses) we get the resolution principle: –For any two clauses C 1 and C 2, if there is a literal L 1 in C 1 that is complementary to a literal L 2 in C 2, then delete L 1 and L 2 from C 1 and C 2, respectively, and construct the disjunction of the remaining clauses. –The constructed clause is a resolvent of C 1 and C 2.

The resolution principle Example. The clauses: C 1 : P  R C 2 :  P  Q. –Clause C 1 has the literal P, which is complementary to  P in C 2. –By deleting P and  P from C 1 and C 2, respectively, and constructing the disjunction of the remaining clauses R and Q, we obtain a resolvent: R  Q.

The resolution principle Example. The clauses: C 1 :  P  Q  R C 2 :  Q  S. –The resolvent of C1 and C2 is  P  R  S. Example. The clauses: C 1 :  P  Q C 2 :  P  R –Since there is no literal in C 1 that is complementary to any literal in C 2, there is no resolvent of C 1 and C 2.

The resolution principle Theorem: –Given two clauses C 1 and C 2, a resolvent C of C 1 and C 2 is a logical consequence of C 1 and C 2. If we have two unit clauses, then the resolvent of them, if there is one, is the empty clause □. If a set S of clauses is unsatisfiable, we can use the resolution principle to generate □ from S.

The resolution principle Definition: –Given a set S of clauses, a (resolution) deduction of C from S is a finite sequence C 1, C 2,…, C k of clauses such that each C i either is a clause in S or a resolvent of clauses preceding C i, and C k =C. –A deduction of □ from S is called a refutation, or a proof of S. A clause C can be deduced or derived from S if there is a deduction of C from S.

The resolution principle Example. Given a set S of clauses: (1)  P  Q (2)  Q (3) P –From (1) and (2), we can obtain a resolvent (4)  P. –From (3) and (4), we can obtain a resolvent (5) □. –Since □ is derived from S by resolution, □ is a logical consequence of S. Hence S is unsatisfiable.

The resolution principle Example. Given a set S of clauses: (1) P  Q (2)  P  Q (3) P  Q (4)  P  Q –We generate the following resolvents: (5) Q (from (1) and (2)) (6)  Q (from (3) and (4)) (7) □ (from (5) and (6)). –Since □ is derived, S is unsatisfiable.

The resolution principle Example (cont.) –The deduction can be represented by a tree – deduction tree.

The resolution principle Substitution and unification –The most important part of applying the resolution principle – finding a literal in a clause that is complementary to a literal in another clause. –For clauses containing no variables, this is very simple. –For clauses containing variables, it is more complicated.

The resolution principle Example. Consider the clauses: C 1 : P(x)  Q(x) C 2 :  P(f(x))  R(x). –There is no literal in C 1 that is complementary to any literal in C 2. –However, if we substitute f(a) for x in C 1 and a for x in C 2, we obtain: C 1 ’: P(f(a))  Q(f(a)) C 2 ’:  P(f(a))  R(a).

The resolution principle Example (cont.) –C 1 ’ and C 2 ’ are ground instances of C 1 and C 2, respectively. –P(f(a)) and  P(f(a)) are complementary to each other. –Therefore, from C 1 ’ and C 2 ’ we can obtain a resolvent C 3 ’: Q(f(a))  R(a).

The resolution principle Example (cont.) –More generally, if we substitute f(x) for x in C 1, we obtain: C 1 *: P(f(x))  Q(f(x)) –C 1 * is an instance of C 1. –The literal P(f(x)) in C 1 * is complementary to the literal  P(f(x)) in C 2. –The resolvent from C 1 * and C 2 is C 3 : Q(f(x))  R(x).

The resolution principle Example (cont.) –C 3 ’ is an instance of C 3. –By substituting appropriate terms for the variables in C 1 and C 2, we can generate new clauses from C 1 and C 2. –The clause C 3 is the most general clause in the sense that all other clauses that can be generated by this process are instances of C 3. –C 3 is also called a resolvent of C 1 and C 2.

The resolution principle Definition –A substitution is a finite set of the form {t 1 /v 1,…,t n /v n }, where every v i is a variable, every t i is a term different from v i, and no two elements in the set have the same variable after the stroke symbol. –When t 1,…,t n are ground terms, the substitution is called a ground substitution. –The substitution that consists of no elements is called the empty substitution (denoted by  ).

The resolution principle Example {f(z)/x,y/z}{a/x,g(y)/y,f(g(b))/z} are substitutions. Definition –Let  ={t 1 /v 1,…,t n /v n } be a substitution and E be an expression. –Then E  is an expression obtained from E by replacing simultaneously each occurrence of the variable v i, 1  i  n, in E by the term t i. –E  is called an instance of E.

The resolution principle Example. Let  ={a/x,f(b)/y,c/z} and E=P(x,y,z}. –Then E  =P(a,f(b),c).

The resolution principle Definition –Let  ={t 1 /x 1,…,t n /x n } and ={u 1 /y 1,…,u m /y m } be two substitutions. –Then the composition  ◦ of  and is a substitution that is obtained from the set {t 1 /x 1,…,t n /x n,u 1 /y 1,…,u m /y m } by deleting any element t j /x j for which t j =x j, and any element u i /y i such that y i is among {x 1,x 2,…,x n }.

The resolution principle Example. Let  ={t 1 /x 1,t 2 /x 2 }={f(y)/x,z/y} ={u 1 /y 1,u 2 /y 2,u 3 /y 3 }={a/x,b/y,y/z} –Then {t 1 /x 1,t 2 /x 2,u 1 /y 1,u 2 /y 2,u 3 /y 3 }={f(b)/x,y/y,a/x,b/y,y/z}. –Since t 2 =x 2, t 2 /x 2, i.e. y/y should be deleted from the set. –Since y 1 and y 2 are among {x 1,x 2 }, u 1 /y 1 and u 2 /y 2, i.e. a/x and b/y should also be deleted. Thus:  ◦ ={f(b)/x,y/z}.

The resolution principle The composition of substitutions is associative. The empty substitution  is both a left and a right identity. That is (  ◦ )◦  =  ◦( ◦  )  ◦  =  ◦  for all ,, and .

The resolution principle In the resolution proof procedure, in order to identify a complementary pair of literals, very often we have to unify two or more expressions. We have to find a substitution that can make several expressions identical. This process is called unification of expressions.

The resolution principle Definition –A substitution  is called a unifier for a set {E 1,…,E k } if and only if E 1  =E 2  =…=E k . –The set {E 1,…,E k } is said to be unifiable if there is a unifier for it. Definition –A unifier  for a set {E 1,…,E k } of expressions is a most general unifier if and only if for each unifier  for the set there is a substitution such that  =  ◦.

The resolution principle Example –The set {P(a,y),P(x,f(b))} is unifiable since the substitution  ={a/x,f(b)/y} is a unifier for the set.

The resolution principle Unification algorithm –We have to find the most general unifier for a finite unifiable set of nonempty expressions – by means of a unification algorithm. –When the given set is not unifiable, the algorithm has also to detect that fact. –Example Given P(a) and P(x), we have to find the disagreement between these two expressions, and then try to eliminate it.

The resolution principle –Example (cont.) For P(a) and P(x), the disagreement is {a,x}. Since x is a variable, x can be replaced by a, and thus the disagreement can be eliminated. Definition –The disagreement set of a nonempty set W of expressions is obtained by locating the first symbol (counting from the left) at which not all the expressions in W have exactly the same symbol, and then extracting from each expression in W the subexpression that begins with the symbol occupying that position. –The set of these respective subexpressions is the disagreement set of W.

The resolution principle Example W={P(x,f(y,z)),P(x,a),P(x,g(h(k(x))))} –The first symbol position at which not all atoms in W are exactly the same is the fifth, since they all have the first four symbols P(x, in common. –Thus the disagreement set consists of the respective subexpressions (underlined terms) that begin in symbol position number five. –It is the set {f(y,z),a,g(h(k(x)))}.

The resolution principle Unification algorithm (1) Set k=0, W k =W, and  k = . (2) If W k is a singleton, stop;  k is the most general unifier for W. Otherwise, find the disagreement set D k of W k. (3) If there exist elements v k and t k in D k such that v k is a variable that does not occur in t k, go to Step 4. Otherwise, stop; W is not unifiable. (4) Let  k+1 =  k ◦{t k /v k } and W k+1 =W k {t k /v k }. (Note that W k+1 =W  k+1.) (5) Set k=k+1 and go to Step 2.

The resolution principle Example –Find the most general unifier for W={P(a,x,f(g(y))),P(z,f(z),f(u))}. (1)  0 =  and W 0 =W. Since W 0 is not a singleton,  0 is not the most general unifier for W. (2) The disagreement set D 0 ={a,z}. In D 0, there is a variable v 0 =z that does not occur in t 0 =a. (3)  1 =  0 ◦{t 0 /v 0 }=  ◦{a/z}={a/z}; W 1 =W 0 {t 0 /v 0 }={P(a,x,f(g(y))),P(z,f(z),f(u))}{a/z}={ P(a,x,f(g(y))),P(a,f(a),f(u))}.

The resolution principle Example (cont.) (4) W 1 is not a singleton, hence we find the disagreement set D 1 of W 1 : D 1 ={x,f(a)}. (5) From D 1, we find that v 1 =x and t 1 =f(a). (6)  2 =  1 ◦{t 1 /v 1 }={a/z}◦{f(a)/x}={a/z,f(a)/x}; W 2 =W 1 {t 1 /v 1 }= ={P(a,x,f(g(y))),P(a,f(a),f(u))}{f(a)/x}= ={P(a,f(a),f(g(y))),P(a,f(a),f(u))}. (7) W 2 is not a singleton, hence we find the disagreement D 2 of W 2 : D 2 ={g(y),u}. From D 2, we find that v 2 =u and t 2 =g(y).

The resolution principle Example (cont.) (8)  3 =  2 ◦{t 2 /v 2 }={a/z,f(a)/x}◦{g(y)/u}= ={a/z,f(a)/x,g(y)/u}; W 3 =W 2 {t 2 /v 2 }= ={P(a,f(a),f(g(y))),P(a,f(a),f(u))}{g(y)/u}= ={P(a,f(a),f(g(y))),P(a,f(a),f(g(y)))}= ={P(a,f(a),f(g(y)))} (9) W 3 is a singleton, hence  3 ={a/z,f(a)/x,g(y)/u} is the most general unifier for W.

The resolution principle Example. Determine whether or not the set W={Q(f(a),g(x)),Q(y,y)} is unifiable. (1)  0 = , W 0 =W. (2) W 0 is not a singleton, hence we find the disagreement set D 0 of W 0 : D 0 ={f(a),y}. From D 0, we know that v 0 =y and t 0 =f(a). (3)  1 =  0 ◦{t 0 /v 0 }=  ◦{f(a)/y}={f(a)/y}; W 1 =W 0 {t 0 /v 0 }={Q(f(a),g(x)),Q(y,y)}{f(a)/y}= ={Q(f(a),g(x)),Q(f(a),f(a))}.

The resolution principle Example (cont.) (4) W 1 is not a singleton, hence we find the disagreement set D 1 of W 1 : D 1 ={g(x),f(a)}. (5) No element of D 1 is a variable. Hence the unification algorithm is terminated and we conclude that W is not unifiable. Theorem –If W is a finite nonempty unifiable set of expressions, the unification algorithm will always terminate at Step 2, and the last  k is the most general unifier for W.

The resolution principle The resolution principle for the first-order logic Definition –If two or more literals (with the same sign) of a clause C have the most general unifier , then C  is called a factor of C. –If C  is a unit clause, it is called a unit factor of C.

The resolution principle Example. C=P(x)  P(f(y))  Q(x) –The first and the second literals have the most general unifier  ={f(y)/x}. –Hence C  =P(f(y))  Q(f(y)) is a factor of C. Definition –Let C 1 and C 2 be two clauses (called parent clauses) with no variables in common. –Let L 1 and L 2 be two literals in C 1 and C 2, respectively.

The resolution principle Definition (cont.) –If L 1 and  L 2 have the most general unifier , then the clause (C 1  -L 1  )  (C 2  -L 2  ) is called a binary resolvent of C 1 and C 2. –The literals L 1 and L 2 are called the literals resolved upon.

The resolution principle Example. –Let C 1 =P(x)  Q(x) and C 2 =  P(a)  R(x). –Since x appears in both C 1 and C 2, we rename the variable in C 2 and let C 2 =  P(a)  R(y). –We choose L 1 =P(x) and L 2 =  P(a). –Since  L 2 =P(a), L 1 and  L 2 have the most general unifier  ={a/x}. (C 1  -L 1  )  (C 2  -L 2  )= =({P(a),Q(a)}-{P(a)})  ({  P(a),R(y)}-{  P(a)})= ={Q(a)}  {R(y)}={Q(a),R(y)}=Q(a)  R(y). –Thus Q(a)  R(y) is a binary resolvent of C 1 and C 2. P(x) and  P(a) are the literals resolved upon.

The resolution principle Definition –A resolvent of (parent) clauses C 1 and C 2 is one of the following binary resolvents: 1.a binary resolvent of C 1 and C 2, 2.a binary resolvent of C 1 and a factor of C 2, 3.a binary resolvent of a factor of C 1 and C 2, 4.a binary resolvent of a factor of C 1 and a factor of C 2.

The resolution principle Example –Let C 1 =P(x)  P(f(y))  R(g(y)) and C 2 =  P(f(g(a)))  Q(b). –A factor of C 1 is C 1 ’=P(f(y))  R(g(y)). –A binary resolvent of C 1 ’ and C 2 is R(g(g(a)))  Q(b). –Therefore, R(g(g(a)))  Q(b) is a resolvent of C 1 and C 2.

The resolution principle Example –Show that alternate interior angles formed by a diagonal of a trapezoid are equal. –We first axiomatize the theorem. –Let T(x,y,u,v) mean that xyuv is a trapezoid with upper-left vertex x, upper-right vertex y, lower- right vertex u, and lower-left vertex v. –Let P(x,y,u,v) mean that the line segment xy is parallel to the line segment uv. –Let E(x,y,z,u,v,w) mean that the angle xyz is equal to the angle uvw.

The resolution principle Example (cont.) –Then the axioms are the following: A 1 : (  x)(  y)(  u)(  v)[T(x,y,u,v)  P(x,y,u,v)] (definition of a trapezoid) A 2 : (  x)(  y)(  u)(  v)[P(x,y,u,v)  E(x,y,v,u,v,y)] (alternate interior angles of parallel lines are equal) A 3 : T(a,b,c,d).

The resolution principle Example (cont.) –From these axioms, we should be able to conclude that E(a,b,d,c,d,b) is true, i.e. A 1  A 2  A 3  E(a,b,d,c,d,b) is a valid formula. –Since we want to prove this by refutation, we negate the conclusion and prove that A 1  A 2  A 3  E(a,b,d,c,d,b) is unsatisfiable.

The resolution principle Example (cont.) –The standard form of the formula: S={  T(x,y,u,v)  P(x,y,u,v),  P(x,y,u,v)  E(x,y,v,u,v,y), T(a,b,c,d),  E(a,b,d,c,d,b)}. –The standard form S is a set of four clauses.

The resolution principle Example (cont.) –The resolution: (1)  T(x,y,u,v)  P(x,y,u,v) (a clause in S) (2)  P(x,y,u,v)  E(x,y,v,u,v,y) (a clause in S) (3) T(a,b,c,d) (a clause in S) (4)  E(a,b,d,c,d,b) (a clause in S) (5)  P(a,b,c,d) (a resolvent of (2) and (4)) (6)  T(a,b,c,d) (a resolvent of (1) and (5)) (7) □ (a resolvent of (3) and (6)).

The resolution principle Example (cont.) –Since the last clause is the empty clause that is derived from S, we conclude that S is unsatisfiable. –A deduction tree:

The resolution principle Definition –A deduction tree from a set S of clauses is an (upward) tree to each initial node of which is attached a resolvent of clauses attached to its immediate predecessor nodes. Theorem (completness of the resolution principle) –A set S of clauses is unsatisfiable if and only if there is a deduction of the empty clause □ from S.