#& &- & . - -&&&1#1 ! - &&!2*&! ∀0 !304∧&"304⇒304 / 0# &' #- ) *%#&&+ ,&& ##&-+ ! !"# α$ β %#&'"" α(β 5&% ' ' #& * !'# &&' King(John) ∧ Greedy(John) ⇒ Evil(John) King(Richard) ∧ Greedy(Richard) ⇒ Evil(Richard) King(Father(John)) ∧ Greedy(Father(John)) ⇒ Evil(Father(John)) ... Then treat each predicate with its arguments as a unique symbol in propositional logic. ∃0& 304∧63078 4 0% ' * !'# &&' <# &"&'!& &! Crown(C1) ∧ OnHead(C1,John) 5&% ' ' #& * !'# &&' ∀α '39:!;7α4< Again, treat each predicate with its arguments as a unique symbol in propositional logic. 0% ' * !'# &&' ∃α '39:*;7α;< <- &"α7&'7 "' * * !' 5!5&% 0 % " &- #=& ,&=& & ! #>&"& &# ?,&"6&& !'+ ∀0@304⇒@ &304 @3 &4 /6&"A&"+ @ &3 &4 7 & , !' # -&304) # =& B 5& &!'& # & ! &* !' '' '" 6 "" 'C &B ∀07"=&307"4 5& "&# '& #& !#& &"# * !' -&38 47-&3-&38 447 , & -&" '' #& !# &&' * + ∀0 ∀0 ∀0 ∀0 Standardize Apart: Change the name of variables so sentences don't have any in common 38 704 38 784 90:8; 38 704∀" 3"7-&3844 90:-&3847":8 ; BBBB 38 704∀0 307-&3844 38 704∀" 38 7"4 5# & #!&! ' 3# 04 * * )@ &5#& 3@5> &! #&'# &" 4 , &+6&'&3DEC4%#F'"- 27'"#' #& G 2 +- &H I && 2'"!JJ& #F'" 2 + &*#F7#" #F , &+,&!3DECK47&3DECK4# & -'3! &0"" &"7' ! &0 " &" 4 ?&"& !-&" , & -&" '' #& !# &&' * + ∀0 ∀0 ∀0 ∀0 38 704 38 78490:8; 38 704∀" 3"7-&384490:-&3847":8 ; 38 704∀" 3"7-&3844 90:-&3847":8 ; 38 704∀" 38 7"4 90:87":8; &9":0; & 90:-&3847":-&384; 5# & #!&! ' 3# 04 * * )@ &5#& 3@5> &! #&'# &" 4 What if you have to unify(a,F(a))? -- fail This makes algorithm O(n2) -#& &&& + D∨LLL∨*7D∨LLL∨ 3D∨LLL∨D∨MD∨LLL∨* ∨D∨LLL∨ND∨NMD ∨LLL∨4O &37¬N4HO , & '&G& "& &' - &07 ¬34∨34 34 34 OH90: ; ! !" 5& P-3 2∧¬F4Q # &- -& & NP &- & ! !" # &" '" + C&G&'+>#& ##& D' * G+!&# & #0 0&'&'"* # # !&">#&'+ ∀0R3344∧¬3344S∨33474 ∀0R∀"34⇒34S⇒R∃"34S ∀0R¬∀"¬34∨34S∨R∃"34S @ ¬&+¬∀0T∃0¬7¬∃0T∀0¬ ∀0R∃"¬3¬34∨344S∨R∃"34S ∀0R∃"¬¬34∧¬34S∨R∃"34S ∀0R∃"34∧¬34S∨R∃"34S ∀0R∃"34∧¬34S∨R∃G34S 1& &>#&+ R3344∧¬3344S∨33474 K1&'∨ &∧+ R3344∨33474S∧R¬3344∨33474S ! !" # $%&' U &"V/" * '" W ∀0R∀"34⇒34S⇒R∀"¬34S [Animal(G(x)) ∨ ¬Loves(y,x)] ∧ [¬Kills(x,G(x)) ∨ ¬Loves(y,x)] D' ⇔'T⇒'∧ '⇒ ⇒'T¬∨' @ ¬&+ ¬∀0T∃0¬ ¬∃0T∀0¬ ¬3∧'4T¬∨ ¬' ¬3∨'4T¬∧ ¬' C&G&'+>#& ##& * G+!&# & #0 0&'&'"* # # !&">#&' 1& &>#& K1&'∨ &∧ 3∨('∧4T3∨'4∧3∨4 ! &" '" /" * '" 8* &8* && "*7 , 1& "*B & - & P5. '".# & 3 2∧¬F4# ! !" Remember to write every clause on a seperate line ∀0R∀"/3"4⇒ 307"4S⇒R∃" 3"704S /3-3044∨ 3304704 ∀0R∃"/3"4∧ 307"4S⇒R∀G¬ 3G704S ¬ 307-3044∨ 3304704 ∀0/304⇒ 38*704 ¬/3"4∨¬ 307"4∨¬ 3G704 38*7,4∨ 3& "7,4 3,4 ¬/304∨ 38*704 38*7,4∨ 3& "7,4 ∀0304⇒/304 3,4 ¬ 3& "7,4 ¬304∨/304 ¬ 3& "7,4 Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) Animal(F(x)) ∨ Loves(G(x),x) Animal(F(x)) ∨ Loves(G(x),x) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) Animal(F(x)) ∨ Loves(G(x),x) Animal(F(x)) ∨ Loves(G(x),x) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) Animal(Tuna) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) Animal(F(x)) ∨ Loves(G(x),x) Animal(F(x)) ∨ Loves(G(x),x) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) ¬Kills(x,Tuna) ∨ ¬Loves(z,x) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) Animal(Tuna) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) Animal(F(x)) ∨ Loves(G(x),x) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) ¬Kills(x,Tuna) ∨ ¬Loves(z,x) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) Animal(F(x)) ∨ Loves(G(x),x) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) ¬Kills(x,Tuna) ∨ ¬Loves(z,x) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) ¬Kills(x,Tuna) ∨ ¬Loves(z,x) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) Animal(F(x)) ∨ Loves(G(x),x) ¬Loves(z,Jack) ¬Loves(z,Jack) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) ¬Kills(x,Tuna) ∨ ¬Loves(z,x) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) ¬Animal(F(Jack)) ∨ Loves(G(Jack),Jack) ¬Loves(z,Jack) Animal(F(x)) ∨ Loves(G(x),x) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) ¬Kills(x,Tuna) ∨ ¬Loves(z,x) Animal(F(x)) ∨ Loves(G(x),x) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) ¬Animal(F(Jack)) ∨ Loves(G(Jack),Jack) ¬Loves(z,Jack) Animal(F(x)) ∨ Loves(G(x),x) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) ¬Kills(x,Tuna) ∨ ¬Loves(z,x) ¬Loves(z,Jack) Animal(Tuna) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) ¬Animal(F(Jack)) ∨ Loves(G(Jack),Jack) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) ¬Kills(x,Tuna) ∨ ¬Loves(z,x) Animal(F(x)) ∨ Loves(G(x),x) ¬Animal(F(Jack)) ∨ Loves(G(Jack),Jack) ¬Loves(z,Jack) Loves(G(Jack),Jack) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) Animal(F(x)) ∨ Loves(G(x),x) Loves(G(Jack),Jack) Cat(Tuna) ¬Cat(x) ∨ Animal(x) Kills(Jack,Tuna) ∨ Kills(Curiosity,Tuna) ¬Kills(Curiosity,Tuna) Animal(Tuna) ¬Kills(x,Tuna) ∨ ¬Loves(z,x) ¬Loves(z,Jack) ¬Loves(x,F(x)) ∨ Loves(G(x),x) ¬Animal(x) ∨ Loves(Jack,x) ¬Animal(F(Jack)) ∨ Loves(G(Jack),Jack) Loves(G(Jack),Jack) . .# ¬Animal(y) ∨ ¬Kills(x,y) ∨ ¬Loves(z,x) Kills(Jack,Tuna) Animal(F(x)) ∨ Loves(G(x),x) %#α$ β& #& ## '& # X? &3DEC4 %#α$ β& "&& # &-' & ,&!?6!=& ' - ,&& '& ! α$ β X? &3DECD4 ()*$*' $ (' % 34/ & #& ! & !!&&&-& &&## & ' #!&,& # &&# &" #!&7&# &0!&& ,#& # & Y%&G 7X&2& " ##&& '" & %& & && 'N7' *W 1 !6 #& ! 6 &- =& ! 5&% 0% 1&'* # ! . !-& &! P-* G @ &5#& ' P0,1#72*- &&! % 3 !4,& #&!!&&#& &&# &