0% found this document useful (0 votes)
51 views

FOL Examples

1) The document discusses topics from an introductory artificial intelligence course including inference in first-order logic, unification, and logical entailment between statements about natural numbers. 2) It provides examples of valid and invalid first-order logic statements, examines the proof tree for a query using backward chaining, and represents statements in predicate logic and as logical equivalences. 3) Key concepts covered include inference rules, occurs check, logical equivalence, logical entailment, and using unification to show logical contradictions between statements.

Uploaded by

Xyz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

FOL Examples

1) The document discusses topics from an introductory artificial intelligence course including inference in first-order logic, unification, and logical entailment between statements about natural numbers. 2) It provides examples of valid and invalid first-order logic statements, examines the proof tree for a query using backward chaining, and represents statements in predicate logic and as logical equivalences. 3) Key concepts covered include inference rules, occurs check, logical equivalence, logical entailment, and using unification to show logical contradictions between statements.

Uploaded by

Xyz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

CompSci 171: Intro AI

Homework 8

Inference in FOL
9.3

Both b and c are valid


a is invalid because it introduces the previously-used symbol
Everest. Note that c does not imply that there are two
mountains as high as Everest, because nowhere is it stated that
BenNevis is different from Kilimanjaro (or Everest, for that
matter).
9.4
• a. P(A,B,B), P(x,y,z)
– {x/A, y/B, z/B}

• b. Q(y,G(A,B)), Q(G(x,x),y)
– No unifier ({y/G(A,B),G(A,B)/G(x,x)}? x cannot bind to both A and
B).

• c. Older(Father(y),y), Older(Father(x), John)


– {y/John, x/John}.

• d. No unifier ({x/y, y/Father(y)}? the occurs-check


prevents unification of y with Father(y)).
9.9
a. Horse, cows, and pigs are mammals.
– Horse(x) ⇒ Mammal(x)
– Cow(x) ⇒ Mammal(x)
– Pig(x) ⇒ Mammal(x)
b. An offspring of a horse is a horse.
– Offspring(x,y) ∧Horse(y) ⇒ Horse(x)
c. Bluebeard is a horse.
– Horse(Bluebeard)
d. Bluebeard is Charlie’s parent.
– Parent(Bluebeard, Charlie)
e. Offspring and parent are inverse relations.
– Offspring(x,y) ⇒ Parent(y,x)
– Parent(y,x) ⇒ Offspring(x,y)
f. Every mammal has a parent.
– Mammal(x) ⇒ Parent(G(x),x)
9.10
Draw the proof tree generated by an exhaustive backward-chaining
algorithm for the query ∃h Horse(h), where clauses are matched in the
order given.
Horse(x) ⇒ Mammal(x)
Offspring(x,y) ∧Horse(y) ⇒ Horse(x) Cow(x) ⇒ Mammal(x)
Pig(x) ⇒ Mammal(x)
Offspring(x,y) ∧Horse(y) ⇒ Horse(x)
Horse(Bluebeard)
Offspring(x,y) ∧Horse(y) ⇒ Horse(x) Parent(Bluebeard, Charlie)
Parent(y,x) ⇒ Offspring(x,y) Offspring(x,y) ⇒ Parent(y,x)
Parent(y,x) ⇒ Offspring(x,y)
Mammal(x) ⇒ Parent(G(x),x)
Parent(y,x) ⇒ Offspring(x,y)

Parent(Bluebeard, Charlie)

Offspring(x,y) ⇒ Parent(y,x) The branch with Offspring(Bluebeard,y)


and Parent(y,Bluebeard) repeats
indefinitely, so the rest of the proof is
never reached!
9.18 (a)
• Horse are animals
– ∀ x Horse(x) ⇒ Animal(x)

• The head of a horse is the head of an animal


– ∀x, h Horse(x) ∧ HeadOf(h,x) ⇒ ∃y Animal(y) ∧ HeadOf(h,y)
9.18 (b)
• ∀ x Horse(x) ⇒ Animal(x) ≡ ¬Horse(x) V Animal(x)
• ∀ x, h Horse(x) ∧ HeadOf(h,x) ⇒ ∃y Animal(y) ∧ HeadOf(h,y)
→ ¬(∀ x,h Horse(x) ∧ HeadOf(h,x) ⇒ ∃y Animal(y) ∧ HeadOf(h,y))
→ ¬(∀ x,h ¬(Horse(x) ∧ HeadOf(h,x)) V (∃y Animal(y)∧HeadOf(h,y)))
→ ∃ x,h (Horse(x) ∧ HeadOf(h,x)) ∧ ¬ (∃y Animal(y) ∧ HeadOf(h,y))
→ ∃ x,h (Horse(x) ∧ HeadOf(h,x)) ∧ (∀y ¬Animal(y) V ¬HeadOf(h,y))
→ (Horse(G) ∧ HeadOf(H,G)) ∧ (¬Animal(y) V ¬ HeadOf(H,y))
→ Horse(G)
∧ HeadOf(H,G)
∧ ¬Animal(y) V ¬ HeadOf(H,y)

A. ¬Horse(x) V Animal(x)
B. Horse(G)
C. HeadOf(H,G)
D. ¬Animal(y) V ¬ HeadOf(H,y)
9.18 (c)
¬Horse(x) V Animal(x) Horse(G)

{x/G}

Animal(G) ¬Animal(y) V ¬ HeadOf(H,y)

{y/G}

¬ HeadOf(H,G) HeadOf(H,G)

False
9.19 (a)
• ∀ x ∃ y (x ≥ y)
– For every natural number there is some other natural
number that is smaller than or equal to it
• ∃ y ∀ x (x ≥ y)
– There is a particular natural number that is smaller
than or equal to any natural number
9.19 (b, c)
A. For every natural number there is some other natural
number that is smaller than or equal to it
– Yes, (A) is true under this interpretation. You can always pick the
number itself for the “some other” number.

B. There is a particular natural number that is smaller than


or equal to any natural number
– Yes, (B) is true under this interpretation. You can pick 0 for the
“particular natural number.”
9.19 (d, e)
A. For every natural number there is some other natural
number that is smaller than or equal to it
B. There is a particular natural number that is smaller than
or equal to any natural number

d. No, (A) does not logically entail (B).


e. Yes, (B) logically entails (A). You can always pick that
particular number in (B) as some other natural number in
(A)
9.19 (f)
(A) ∀ x ∃ y (x ≥ y)
→ ∀ x (x ≥ F1(x))
→ x ≥ F1(x)
(¬B) ∃ y ∀ x (x ≥ y)
→ ¬(∃ y ∀ x (x ≥ y)) x ≥ F1(x) ¬(F2(y) ≥ y)
→ ∀ y ∃ x ¬(x ≥ y)
→ ∀ y ¬(F2(y) ≥ y)
→ ¬(F2(y) ≥ y) ?

• Unification of x ≥ F1(x) and ¬(F2(y) ≥ y):


– {x/F2(y), F1(F2(y))/y} fails in the occurs check
9.19 (g)
(¬ A) ∀ x ∃ y (x ≥ y)
→ ¬(∀ x ∃ y (x ≥ y))
→ ∃ x ∀ y ¬(x ≥ y)
→ ∀ y ¬(F1 ≥ y)
→ ¬(F1 ≥ y) ¬(F1 ≥ y) (x ≥ F2)
(B) ∃ y ∀ x (x ≥ y)
→ ∀ x (x ≥ F2)
False
→ (x ≥ F2)

• Unification of ¬(F1 ≥ y) and (x ≥ F2) :


– {y/F1, x/F2}

You might also like