for wednesday
DESCRIPTION
For Wednesday. No reading Homework: Chapter 8, exercise 24. Program 1. Any questions?. Homework. Generalized Modus Ponens. Combines three steps of “natural deduction” (Universal Elimination, And Introduction, Modus Ponens) into one. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/1.jpg)
For Wednesday• No reading• Homework:
– Chapter 8, exercise 24
![Page 2: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/2.jpg)
Program 1
• Any questions?
![Page 3: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/3.jpg)
Homework
![Page 4: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/4.jpg)
Generalized Modus Ponens
• Combines three steps of “natural deduction” (Universal Elimination, And Introduction, Modus Ponens) into one.
• Provides direction and simplification to the proof process for standard inferences.
• Generalized Modus Ponens: p1', p2', ...pn', (p1 Ù p2 Ù...Ù pn Þ q) |- SUBST(q,q) where q is a substitution such that for all iSUBST(q,pi') = SUBST(q,pi)
![Page 5: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/5.jpg)
Example
1) "x,y(Parent(x,y) Ù Male(x) Þ Father(x,y)) 2) Parent(Tom,John) 3) Male(Tom) q={x/Tom, y/John) 4) Father(Tom,John)
![Page 6: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/6.jpg)
Canonical Form• In order to use generalized Modus Ponens,
all sentences in the KB must be in the form of Horn sentences: "v1 ,v2 ,...vn p1 Ù p2 Ù...Ùpm Þ q
• Also called Horn clauses, where a clause is a disjunction of literals, because they can be rewritten as disjunctions with at most one non negated literal. "v1 ,v 2 ,...vn ¬p1 Ú ¬p2 Ú ... Ú ¬ pn Ú q
![Page 7: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/7.jpg)
Horn Clauses
• Single positive literals (facts) are Horn clauses with no antecedent.
• Quantifiers can be dropped since all variables can be assumed to be universally quantified by default.
• Many statements can be transformed into Horn clauses, but many cannot (e.g. P(x)ÚQ(x), ¬P(x))
![Page 8: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/8.jpg)
Unification
• In order to match antecedents to existing literals in the KB, we need a pattern matching routine.
• UNIFY(p,q) takes two atomic sentences and returns a substitution that makes them equivalent.
• UNIFY(p,q)=q where SUBST(q,p)=SUBST(q,q) • q is called a unifier
![Page 9: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/9.jpg)
Unification Examples
UNIFY(Parent(x,y), Parent(Tom, John)) = {x/Tom, y/John}
UNIFY(Parent(Tom,x), Parent(Tom, John)) = {x/John})
UNIFY(Likes(x,y), Likes(z,FOPC)) = {x/z, y/FOPC}
UNIFY(Likes(Tom,y), Likes(z,FOPC)) = {z/Tom, y/FOPC}
UNIFY(Likes(Tom,y), Likes(y,FOPC)) = fail
UNIFY(Likes(Tom,Tom), Likes(x,x)) = {x/Tom}
UNIFY(Likes(Tom,Fred), Likes(x,x)) = fail
![Page 10: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/10.jpg)
Same Variable• Exact variable names used in sentences in the KB
should not matter. • But if Likes(x,FOPC) is a formula in the KB, it does
not unify with Likes(John,x) but does unify with Likes(John,y)
• We can standardize one of the arguments to UNIFY to make its variables unique by renaming them. Likes(x,FOPC) > Likes(x1 , FOPC) UNIFY(Likes(John,x),Likes(x1 ,FOPC)) = {x1 /John, x/FOPC}
![Page 11: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/11.jpg)
Which Unifier?
• There are many possible unifiers for some atomic sentences. – UNIFY(Likes(x,y),Likes(z,FOPC)) =
• {x/z, y/FOPC} • {x/John, z/John, y/FOPC} • {x/Fred, z/Fred, y/FOPC} • ......
• UNIFY should return the most general unifier which makes the least commitment to variable values.
![Page 12: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/12.jpg)
How Do We Use It?• We have two primary methods for using
Generalized Modus Ponens• We can start with the knowledge base and
try to generate new sentences– Forward Chaining
• We can start with a sentence we want to prove and try to work backward until we can establish the facts from the knowledge base – Backward Chaining
![Page 13: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/13.jpg)
Forward Chaining• Use modus ponens to derive all consequences
from new information. • Inferences cascade to draw deeper and deeper
conclusions • To avoid looping and duplicated effort, must
prevent addition of a sentence to the KB which is the same as one already present.
• Must determine all ways in which a rule (Horn clause) can match existing facts to draw new conclusions.
![Page 14: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/14.jpg)
Assumptions
• A sentence is a renaming of another if it is the same except for a renaming of the variables.
• The composition of two substitutions combines the variable bindings of both such that:
SUBST(COMPOSE(q1,q2),p) = SUBST(q2,SUBST(q1,p))
![Page 15: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/15.jpg)
Forward Chaining Algorithmprocedure FORWARD CHAIN(KB, p)
if there is a sentence in KB that is a renaming of p then return Add p to KB for each ( p1 Ù . . . Ù pn Þ q) in KB such that for some i,
UNIFY( pi, p) = q succeeds do FIND AND INFER(KB, [p1, …, pi-1, pi-1 , …, pn],q,q)
endprocedure FIND AND INFER(KB,premises,conclusion,q)
if premises = [] thenFORWARD-CHAIN(KB, SUBST(q, conclusion))
else for each p´ in KB such that UNIFY(p´ , SUBST(q, FIRST( premises))) = q2 do
FIND AND INFER(KB, REST( premises), conclusion, COMPOSE(q, q2)) end
![Page 16: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/16.jpg)
Forward Chaining ExampleAssume in KB 1) Parent(x,y) Ù Male(x) Þ Father(x,y) 2) Father(x,y) Ù Father(x,z) Þ Sibling(y,z) Add to KB 3) Parent(Tom,John) Rule 1) tried but can't ``fire'' Add to KB 4) Male(Tom) Rule 1) now satisfied and triggered and adds: 5) Father(Tom, John) Rule 2) now triggered and adds: 6) Sibling(John, John) {x/Tom, y/John, z/John}
![Page 17: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/17.jpg)
Example cont.
Add to KB 7) Parent(Tom,Fred) Rule 1) triggered again and adds: 8) Father(Tom,Fred) Rule 2) triggered again and adds: 9) Sibling(Fred,Fred) {x/Tom, y/Fred, z/Fred} Rule 2) triggered again and adds: 10) Sibling(John, Fred) {x/Tom, y/John, z/Fred} Rule 2) triggered again and adds: 11) Sibling(Fred, John) {x/Tom, y/Fred, z/John}
![Page 18: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/18.jpg)
Problems with Forward Chaining
• Inference can explode forward and may never terminate.
• Consider the following:Even(x) Þ Even(plus(x,2)) Integer(x) Þ Even(times(2,x)) Even(x) Þ Integer(x) Even(2)
• Inference is not directed towards any particular conclusion or goal. May draw lots of irrelevant conclusions
![Page 19: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/19.jpg)
Backward Chaining• Start from query or atomic sentence to be
proven and look for ways to prove it. • Query can contain variables which are assumed
to be existentially quantified. Sibling(x,John) ? Father(x,y) ?
• Inference process should return all sets of variable bindings that satisfy the query.
![Page 20: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/20.jpg)
Method• First try to answer query by unifying it to all
possible facts in the KB. • Next try to prove it using a rule whose consequent
unifies with the query and then try to recursively prove all of its antecedents.
• Given a conjunction of queries, first get all possible answers to the first conjunct and then for each resulting substitution try to prove all of the remaining conjuncts.
• Assume variables in rules are renamed (standardized apart) before each use of a rule.
![Page 21: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/21.jpg)
Backchaining Examples
KB: 1) Parent(x,y) Ù Male(x) Þ Father(x,y) 2) Father(x,y) Ù Father(x,z) Þ Sibling(y,z) 3) Parent(Tom,John) 4) Male(Tom) 7) Parent(Tom,Fred)
Query: Parent(Tom,x) Answers: ( {x/John}, {x/Fred})
![Page 22: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/22.jpg)
Query: Father(Tom,s) Subgoal: Parent(Tom,s) Ù Male(Tom)
{s/John} Subgoal: Male(Tom)
Answer: {s/John} {s/Fred}
Subgoal: Male(Tom) Answer: {s/Fred}
Answers: ({s/John}, {s/Fred})
![Page 23: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/23.jpg)
Query: Father(f,s) Subgoal: Parent(f,s) Ù Male(f)
{f/Tom, s/John} Subgoal: Male(Tom)
Answer: {f/Tom, s/John} {f/Tom, s/Fred}
Subgoal: Male(Tom) Answer: {f/Tom, s/Fred}
Answers: ({f/Tom,s/John}, {f/Tom,s/Fred})
![Page 24: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/24.jpg)
Query: Sibling(a,b) Subgoal: Father(f,a) Ù Father(f,b)
{f/Tom, a/John} Subgoal: Father(Tom,b)
{b/John} Answer: {f/Tom, a/John, b/John}
{b/Fred} Answer: {f/Tom, a/John, b/Fred}
{f/Tom, a/Fred} Subgoal: Father(Tom,b)
{b/John} Answer: {f/Tom, a/Fred, b/John}
{b/Fred} Answer: {f/Tom, a/Fred, b/Fred}
Answers: ({f/Tom, a/John, b/John},{f/Tom, a/John, b/Fred}
{f/Tom, a/Fred, b/John}, {f/Tom, a/Fred, b/Fred})
![Page 25: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/25.jpg)
Incompleteness• Rule based inference is not complete, but is
reasonably efficient and useful in many circumstances.
• Still can be exponential or not terminate in worst case.
• Incompleteness example: P(x) Þ Q(x) ¬P(x) Þ R(x) (not Horn) Q(x) Þ S(x) R(x) Þ S(x)
– Entails S(A) for any constant A but is not inferable from modus ponens
![Page 26: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/26.jpg)
Completeness• In 1930 GÖdel showed that a complete inference
procedure for FOPC existed, but did not demonstrate one (non constructive proof).
• In 1965, Robinson showed a resolution inference procedure that was sound and complete for FOPC.
• However, the procedure may not halt if asked to prove a thoerem that is not true, it is said to be semidecidable (a type of undecidability).
• If a conclusion C is entailed by the KB then the procedure will eventually terminate with a proof. However if it is not entailed, it may never halt.
• It does not follow that either C or ¬C is entailed by a KB (may be independent). Therefore trying to prove both a conjecture and its negation does not help.
• Inconsistency of a KB is also semidecidable.
![Page 27: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/27.jpg)
Resolution• Propositional version. {a Ú b, ¬b Ú c} |- a Ú c OR {¬aÞ b, b Þ c} |- ¬a Þ c Reasoning by cases OR transitivity of implication • First order form
– For two literals pj and qk in two clauses • p1 Ú ... pj ... Ú pm • q1 Ú ... qk ... Ú qn
such that q=UNIFY(pj , ¬qk), derive
SUBST(q, p1Ú...pj 1Úpj+1...ÚpmÚq1Ú...qk 1 qk+1...Úqn)
![Page 28: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/28.jpg)
Implication form
• Can also be viewed in implicational form where all negated literals are in a conjunctive antecedent and all positive literals in a disjunctive conclusion.
¬p1Ú...Ú¬pmÚq1Ú...Úqn Û p1Ù... Ù pm Þ q1Ú ...Ú qn
![Page 29: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/29.jpg)
Conjunctive Normal Form (CNF)• For resolution to apply, all sentences must be in
conjunctive normal form, a conjunction of disjunctions of literals
(a1 Ú ...Ú am) Ù (b1 Ú ... Ú bn) Ù ..... Ù (x1 Ú ... Ú xv)
• Representable by a set of clauses (disjunctions of literals)
• Also representable as a set of implications (INF).
![Page 30: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/30.jpg)
Example
Initial CNF INF P(x) Þ Q(x) ¬P(x) Ú Q(x) P(x) Þ Q(x) ¬P(x) Þ R(x) P(x) Ú R(x) True Þ P(x) Ú
R(x) Q(x) Þ S(x) ¬Q(x) Ú S(x) Q(x) Þ S(x) R(x) Þ S(x) ¬R(x) Ú S(x) R(x) Þ S(x)
![Page 31: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/31.jpg)
Resolution Proofs• INF (CNF) is more expressive than Horn
clauses. • Resolution is simply a generalization of
modus ponens. • As with modus ponens, chains of resolution
steps can be used to construct proofs. • Factoring removes redundant literals from
clauses – S(A) Ú S(A) -> S(A)
![Page 32: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/32.jpg)
Sample Proof
P(w) Þ Q(w) Q(y) Þ S(y) {y/w}
P(w) Þ S(w) True Þ P(x) Ú R(x) {w/x}
True Þ S(x) Ú R(x) R(z) Þ S(z) {x/A, z/A}
True Þ S(A)
![Page 33: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/33.jpg)
Refutation Proofs• Unfortunately, resolution proofs in this form
are still incomplete. • For example, it cannot prove any tautology
(e.g. PÚ¬P) from the empty KB since there are no clauses to resolve.
• Therefore, use proof by contradiction (refutation, reductio ad absurdum). Assume the negation of the theorem P and try to derive a contradiction (False, the empty clause). – (KB Ù ¬P Þ False) Û KB Þ P
![Page 34: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/34.jpg)
Sample Proof
P(w) Þ Q(w) Q(y) Þ S(y) {y/w}
P(w) Þ S(w) True Þ P(x) Ú R(x) {w/x}
True Þ S(x) Ú R(x) R(z) Þ S(z) {z/x}
S(A) Þ False True Þ S(x) {x/A} False
![Page 35: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/35.jpg)
Resolution Theorem Proving• Convert sentences in the KB to CNF
(clausal form) • Take the negation of the proposed theorem
(query), convert it to CNF, and add it to the KB.
• Repeatedly apply the resolution rule to derive new clauses.
• If the empty clause (False) is eventually derived, stop and conclude that the proposed theorem is true.
![Page 36: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/36.jpg)
Conversion to Clausal Form• Eliminate implications and biconditionals by
rewriting them. p Þ q -> ¬p Ú q p Û q > (¬p Ú q) Ù (p Ú ¬q) • Move ¬ inward to only be a part of literals by
using deMorgan's laws and quantifier rules. ¬(p Ú q) -> ¬p Ù ¬q ¬(p Ù q) -> ¬p Ú¬q ¬"x p -> $x ¬p ¬$x p -> "x ¬p
¬¬p -> p
![Page 37: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/37.jpg)
Conversion continued• Standardize variables to avoid use of the
same variable name by two different quantifiers.
"x P(x) Ú $x P(x) -> "x1 P(x1) Ú $x2 P(x2) • Move quantifiers left while maintaining
order. Renaming above guarantees this is a truth preserving transformation.
"x1 P(x1) Ú $x2 P(x2) -> "x1 $x2 (P(x1) Ú P(x2))
![Page 38: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/38.jpg)
Conversion continued• Skolemize: Remove existential quantifiers by replacing
each existentially quantified variable with a Skolem constant or Skolem function as appropriate. – If an existential variable is not within the scope of any universally
quantified variable, then replace every instance of the variable with the same unique constant that does not appear anywhere else.
$x (P(x) Ù Q(x)) -> P(C1) Ù Q(C1) – If it is within the scope of n universally quantified variables, then
replace it with a unique n ary function over these universally quantified variables.
"x1$x2(P(x1) Ú P(x2)) -> "x1 (P(x1) Ú P(f1(x1))) "x(Person(x) Þ $y(Heart(y) Ù Has(x,y))) -> "x(Person(x) Þ Heart(HeartOf(x)) Ù Has(x,HeartOf(x))) – Afterwards, all variables can be assumed to be universally
quantified, so remove all quantifiers.
![Page 39: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/39.jpg)
Conversion continued• Distribute Ù over Ú to convert to conjunctions of
clauses (aÙb) Ú c -> (aÚc) Ù (bÚc) (aÙb) Ú (cÙd) -> (aÚc) Ù (bÚc) Ù (aÚd) Ù (bÚd) – Can exponentially expand size of sentence.
• Flatten nested conjunctions and disjunctions to get final CNF (a Ú b) Ú c -> (a Ú b Ú c) (a Ù b) Ù c -> (a Ù b Ù c)
• Convert clauses to implications if desired for readability (¬a Ú ¬b Ú c Ú d) -> a Ù b Þ c Ú d
![Page 40: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/40.jpg)
Sample Clause Conversion"x((Prof(x) Ú Student(x)) Þ ($y(Class(y) Ù Has(x,y)) Ù
$y(Book(y) Ù Has(x,y)))) "x(¬(Prof(x) Ú Student(x)) Ú ($y(Class(y) Ù Has(x,y)) Ù
$y(Book(y) Ù Has(x,y)))) "x((¬Prof(x) Ù ¬Student(x)) Ú ($y(Class(y) Ù Has(x,y)) Ù
$y(Book(y) Ù Has(x,y)))) "x((¬Prof(x) Ù ¬Student(x)) Ú ($y(Class(y) Ù Has(x,y)) Ù
$z(Book(z) Ù Has(x,z)))) "x$y$z((¬Prof(x)Ù¬Student(x))Ú ((Class(y) Ù Has(x,y)) Ù
(Book(z) Ù Has(x,z)))) (¬Prof(x)Ù¬Student(x))Ú (Class(f(x)) Ù Has(x,f(x)) Ù
Book(g(x)) Ù Has(x,g(x))))
![Page 41: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/41.jpg)
Clause Conversion(¬Prof(x)Ù¬Student(x))Ú (Class(f(x)) Ù Has(x,f(x)) Ù
Book(g(x)) Ù Has(x,g(x)))) (¬Prof(x) Ú Class(f(x))) Ù (¬Prof(x) Ú Has(x,f(x))) Ù (¬Prof(x) Ú Book(g(x))) Ù (¬Prof(x) Ú Has(x,g(x))) Ù (¬Student(x) Ú Class(f(x))) Ù (¬Student(x) Ú Has(x,f(x))) Ù (¬Student(x) Ú Book(g(x))) Ù (¬Student(x) Ú Has(x,g(x))))
![Page 42: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/42.jpg)
Sample Resolution Problem
• Jack owns a dog. • Every dog owner is an animal lover. • No animal lover kills an animal. • Either Jack or Curiosity killed Tuna the cat. • Did Curiosity kill the cat?
![Page 43: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/43.jpg)
In Logic Form
A) $x Dog(x) Ù Owns(Jack,x) B) "x ($y Dog(y) Ù Owns(x,y)) Þ
AnimalLover(x)) C) "x AnimalLover(x) Þ ("y Animal(y) Þ
¬Kills(x,y)) D) Kills(Jack,Tuna) Ú Kills(Cursiosity,Tuna) E) Cat(Tuna) F) "x(Cat(x) Þ Animal(x)) Query: Kills(Curiosity,Tuna)
![Page 44: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/44.jpg)
In Normal Form
A1) Dog(D) A2) Owns(Jack,D) B) Dog(y) Ù Owns(x,y) Þ AnimalLover(x) C) AnimalLover(x) Ù Animal(y) Ù Kills(x,y) Þ False
D) Kills(Jack,Tuna) Ú Kills(Curiosity,Tuna) E) Cat(Tuna) F) Cat(x) Þ Animal(x) Query: Kills(Curiosity,Tuna) Þ False
![Page 45: For Wednesday](https://reader036.vdocuments.mx/reader036/viewer/2022062812/5681627b550346895dd2eaad/html5/thumbnails/45.jpg)
Resolution Proof