====================== Resolution Example: All hounds howl at night. all X (hound(X) -> howl(X)). Anyone who has any cats will not have any mice. all X all Y (have(X,Y) & cat(Y) -> (not(exists Z (have(X,Z) & mouse(Z))))). Light sleepers do not have anything which howls at night. all X (ls(X) -> (not(exists Y (have(X,Y) & howl(Y))))). John has either a cat or a hound. exists X (have(john,X) & (cat(X) or hound(X))). Conclusion: if John is a light sleeper, then John does not have any mice. Negation of the goal: not (ls(john) -> (not(exists Z (have(john,Z) & mouse(Z))))). Clausal form: 1. not hound(X) or howl(X). 2. not have(X2,Y2) or not cat(Y2) or not have(X2,Z2) or not mouse(Z2). 3. not ls(X3) or not have(X3,Y3) or not howl(Y3). 4.a have(john,c1). 4.b cat(c1) or hound(c1). 5.a ls(john). 5.b have(john,c2). 5.c mouse(c2). Resolution proof: [On the exam, you may be asked to show which clauses are unified and the substitutions needed.] [1,4.b] 6 cat(c1) or howl(c1) [2,5.c] 7 not have(X2,Y2) or not cat(Y2) or not have(X2,b) [7,5.b] 8 not have(john,Y2) or not cat(Y2) [6,8] 9 not have(john,c1) or howl(c1) [4.a,9] 10 howl(c1) [3,10] 11 3. not ls(X3) or not have(X3,c1) [4.a,11] 12 not ls(john) [5.a,12] done.