103
1 CS461 Artificial Intelligence © Pinar Duygulu Spring 2008 First Order Logic Artificial Intelligence Slides are mostly adapted from AIMA and MIT Open Courseware, and Milos Hauskrecht (U. Pittsburgh)

Chapter 8 First Order Logic - Hacettepe

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter 8 First Order Logic - Hacettepe

1

CS461 Artificial Intelligence © Pinar Duygulu Spring

2008

First Order Logic

Artificial Intelligence

Slides are mostly adapted from AIMA and MIT Open Courseware,

and Milos Hauskrecht (U. Pittsburgh)

Page 2: Chapter 8 First Order Logic - Hacettepe

2

Pros and cons of propositional logic

Propositional logic is declarative

Propositional logic allows partial/disjunctive/negated information– (unlike most data structures and databases)

Propositional logic is compositional:– meaning of B1,1 P1,2 is derived from meaning of B1,1 and of P1,2

Meaning in propositional logic is context-independent– (unlike natural language, where meaning depends on context)

Propositional logic has very limited expressive power– (unlike natural language)

– E.g., cannot say "pits cause breezes in adjacent squares“

• except by writing one sentence for each square

Page 3: Chapter 8 First Order Logic - Hacettepe

3

First Order Logic

Page 4: Chapter 8 First Order Logic - Hacettepe

4

First-order logic

• First-order logic (like natural language) assumes the world contains

– Objects: people, houses, numbers, colors, baseball games, wars, …

– Relations: red, round, prime, brother of, bigger than, part of, comes between, …

– Functions: father of, best friend, one more than, plus,

• (relations in which there is only one value for a given input)

Page 5: Chapter 8 First Order Logic - Hacettepe

5

FOL Motivation

Page 6: Chapter 8 First Order Logic - Hacettepe

6

Syntax of FOL: Basic elements

• Constants : KingJohn, 2, ...

• Predicates: Brother, >,...

• Functions : Sqrt, LeftLegOf,...

• Variables x, y, a, b,...

• Connectives , , , ,

• Equality =

• Quantifiers ,

Page 7: Chapter 8 First Order Logic - Hacettepe

7

Atomic sentences

Term = function (term1,...,termn)

or constant

or variable

Atomic sentence = predicate (term1,...,termn)

or term1 = term2

• E.g., Brother(KingJohn,RichardTheLionheart)

• > (Length(LeftLegOf(Richard)), Length(LeftLegOf(KingJohn)))

Page 8: Chapter 8 First Order Logic - Hacettepe

8

Complex sentences

Complex sentences are made from atomic sentences using

connectives

S, S1 S2, S1 S2, S1 S2, S1 S2,

E.g.

Sibling(KingJohn,Richard) Sibling(Richard,KingJohn)

>(1,2) ≤ (1,2)

>(1,2) >(1,2)

Page 9: Chapter 8 First Order Logic - Hacettepe

9

Quantifiers

Universal quantification, (pronounced as “For all”)

x Cat(x) Mammal(x)

All cats are mammals

Existential quantification, (pronounced as “There exists”)

x Sister (x, Spot) Cat(x)

Spot has a sister who is a cat

• x P is true in a model m

iff P is true with x being each possible object in the model

• x P is true in a model m

iff P is true with x being some possible object in the model

Page 10: Chapter 8 First Order Logic - Hacettepe

10

Truth in first-order logic

• Sentences are true with respect to a model and an interpretation

• Model contains objects (domain elements) and relations among them

• An atomic sentence predicate(term1,...,termn) is true

iff the objects referred to by term1,...,termn

are in the relation referred to by predicate

• Interpretation specifies referents for

constant symbols → objects

predicate symbols → relations

function symbols → functional relations

Page 11: Chapter 8 First Order Logic - Hacettepe

11

Interpretation

Page 12: Chapter 8 First Order Logic - Hacettepe

12

Models for FOL: Example

Page 13: Chapter 8 First Order Logic - Hacettepe

13

Semantics

Page 14: Chapter 8 First Order Logic - Hacettepe

14

Semantics

Page 15: Chapter 8 First Order Logic - Hacettepe

15

Universal quantification

<variables> <sentence>

All Kings are persons:

x King(x) Person(x)

x P is true in a model m

iff P is true with x being each possible object in the model

Roughly speaking, equivalent to the conjunction of instantiations of P

Richard the Lionheart is a king Richard the Lionheart is a person

King John is a king King John is a person

Richard’s left leg is a king Richard’s left leg is a person

John’s left leg is a king John’s left leg is a person

The crown is a king The crown is a person

Page 16: Chapter 8 First Order Logic - Hacettepe

16

A common mistake to avoid

• Typically, is the main connective with

x King(x) Person(x)

• Common mistake: using as the main connective with :

x King(x) Person(x)

means “Everyone is a king and everyone is a person”

Richard the Lionheart is a king Richard the Lionheart is a person

King John is a king King John is a person

Richard’s left leg is a king Richard’s left leg is a person

John’s left leg is a king John’s left leg is a person

The crown is a king The crown is a person

Page 17: Chapter 8 First Order Logic - Hacettepe

17

Existential quantification

<variables> <sentence>

x Crown(x) OnHead(x,John)

x P is true in a model m

iff P is true with x being some possible object in the model

Roughly speaking, equivalent to the disjunction of

instantiations of P

The crown is a crown the crown is on John’s head

Richard the Lionheart is a crown Richard the Lionheart is on John’s head

King John is a crown King John is on John’s head

...

Page 18: Chapter 8 First Order Logic - Hacettepe

18

Another common mistake to avoid

• Typically, is the main connective with

• x Crown(x) OnHead(x,John)

• Common mistake: using as the main connective with :

x Crown(x) OnHead(x,John)

is true even if there is anything which is not a crown

The crown is a crown the crown is on John’s head

Richard the Lionheart is a crown Richard the Lionheart is on John’s head

King John is a crown King John is on John’s head

Page 19: Chapter 8 First Order Logic - Hacettepe

19

Properties of quantifiers

x y is the same as y x, and can be written as x,y

x y is the same as y x , and can be written as x,y

x y is not the same as y x

y x Loves(x,y)– “Everyone in the world is loved by at least one person”

x y Loves(x,y)– “There is a person who loves everyone in the world”

x y P(x,y) : every object in the universe has a particular property, given by P

x y P(x,y) : there is some object in the world that has a particular property

Rule: the variable belongs to the innermost quantifier that mentions it

x [Cat(x) V (x Brother(Richard,x))]

x [Cat(x) V (z Brother(Richard,z))]

Page 20: Chapter 8 First Order Logic - Hacettepe

20

Properties of quantifiers

• Quantifier duality: each can be expressed using the other

x Likes(x,Broccoli) = x Likes(x,Broccoli)

x Likes(x,IceCream) = x Likes(x,IceCream)

• De Morgan’s rules for quantifiers:

x P = x P

x P = x P

x P = x P

x P = x P

Page 21: Chapter 8 First Order Logic - Hacettepe

21

Equality

• term1 = term2 is true under a given interpretation if

and only if term1 and term2 refer to the same object

• E.g., definition of Sibling in terms of Parent:

x,y Sibling(x,y) [(x = y) m,f (m = f)

Parent(m,x) Parent(f,x) Parent(m,y) Parent(f,y)]

Page 22: Chapter 8 First Order Logic - Hacettepe

22

Writing FOL

There is somebody who is loved by everybody

Page 23: Chapter 8 First Order Logic - Hacettepe

23

Writing FOL

Page 24: Chapter 8 First Order Logic - Hacettepe

24

Using FOL

The kinship domain:

• Brothers are siblings

x,y Brother(x,y) Sibling(x,y)

• One's mother is one's female parent

m,c Mother(c) = m (Female(m) Parent(m,c))

• “Sibling” is symmetric

x,y Sibling(x,y) Sibling(y,x)

• One's husband is one's male spouse

w,h Husband(h,w) (Male(m) Spouse(h,w))

• Sibling is another child of one’s parents

x,y Sibling(x,y) [(x = y) m,f (m = f) Parent(m,x)

Parent(f,x) Parent(m,y) Parent(f,y)]

Page 25: Chapter 8 First Order Logic - Hacettepe

25

Inference in

First Order Logic

Artificial Intelligence

Slides are mostly adapted from AIMA and MIT Open Courseware,

Milos Hauskrecht (U. Pittsburgh)

and Max Welling (UC Irvine)

Page 26: Chapter 8 First Order Logic - Hacettepe

26

Logical Inference

Page 27: Chapter 8 First Order Logic - Hacettepe

27

Inference in Propositional Logic

Page 28: Chapter 8 First Order Logic - Hacettepe

28

Inference in FOL : Truth Table Approach

Page 29: Chapter 8 First Order Logic - Hacettepe

30

Inference Rules

Page 30: Chapter 8 First Order Logic - Hacettepe

31

Sentences with variables

Page 31: Chapter 8 First Order Logic - Hacettepe

32

Sentences with variables

Page 32: Chapter 8 First Order Logic - Hacettepe

33

Variable Substitutions

SUBST(θ, α)θ =

Page 33: Chapter 8 First Order Logic - Hacettepe

34

Universal elimination

• Every instantiation of a universally quantified sentence is entailed by it:

v αSubst({v/g}, α)

for any variable v and ground term g

• E.g., x King(x) Greedy(x) Evil(x) yields:

King(John) Greedy(John) Evil(John), {x/John}

King(Richard) Greedy(Richard) Evil(Richard), {x/Richard}

King(Father(John)) Greedy(Father(John)) Evil(Father(John)),

{x/Father(John)}

.

.

{x/Ben}

Page 34: Chapter 8 First Order Logic - Hacettepe

35

Existential elimination

• For any sentence α, variable v, and constant symbol k that does notappear elsewhere in the knowledge base:

v α

Subst({v/k}, α)

• E.g., x Crown(x) OnHead(x,John) yields:

Crown(C1) OnHead(C1,John)

provided C1 is a new constant symbol, called a Skolem constant

Page 35: Chapter 8 First Order Logic - Hacettepe

36

Inference rules for quantifiers

αv Subst({g/v}, α)

Page 36: Chapter 8 First Order Logic - Hacettepe

37

Example Proof

• The law says that it is a crime for an American to sell weapons to hostile nations. The country Nono, an enemy of America, has some missiles, and all of its missiles were sold to it by Colonel West, who is American.

• Prove that Col. West is a criminal

Page 37: Chapter 8 First Order Logic - Hacettepe

38

Example knowledge base contd.

... it is a crime for an American to sell weapons to hostile nations:

x,y,z American(x) Weapon(y) Sells(x,y,z) Nation(z) Hostile(z) Criminal(x)

Nono … has some missiles, i.e.,

x Owns(Nono,x) Missile(x):

… all of its missiles were sold to it by Colonel West

x Missile(x) Owns(Nono,x) Sells(West,x,Nono)

Missiles are weapons:

x Missile(x) Weapon(x)

An enemy of America counts as "hostile“:

x Enemy(x,America) Hostile(x)

West, who is American …

American(West)

The country Nono

Nation(Nono)

Nono, an enemy of America …

Enemy(Nono,America), Nation(America)

Page 38: Chapter 8 First Order Logic - Hacettepe

39

Example knowledge base contd.

1. x,y,z American(x) Weapon(y) Sells(x,y,z) Nation(z) Hostile(z) Criminal(x)

2. x Owns(Nono,x) Missile(x):

3. x Missile(x) Owns(Nono,x) Sells(West,x,Nono)

4. x Missile(x) Weapon(x)

5. x Enemy(x,America) Hostile(x)

6. American(West)

7. Nation(Nono)

8. Enemy(Nono,America)

9. Nation(America)

10. Owns(Nono,M1) and Missile(M1) Existential elimination 2

11. Owns(Nono,M1) And elimination 10

12. Missile(M1) And elimination 10

13. Missile(M1) Weapon(M1) Universal elimination 4

14. Weapon(M1) Modus Ponens, 12, 13

15. Missile(M1) Owns(Nono,M1) Sells(West,M1,Nono) Universal Elimination 3

16. Sells(West,M1,Nono) Modus Ponens 10,15

17. American(West) Weapon(M1) Sells(West,M1,Nono) Nation(Nono) Hostile(Nono) Criminal(Nono) Universal elimination, three times 1

18. Enemy(Nono,America) Hostile(Nono) Universal Elimination 5

19. Hostile(Nono) Modus Ponens 8, 18

20. American(West) Weapon(M1) Sells(West,M1,Nono) Nation(Nono) Hostile(Nono) And Introduction 6,7,14,16,19

21. Criminal(West) Modus Ponens 17, 20

Page 39: Chapter 8 First Order Logic - Hacettepe

41

Reduction to propositional inference

Suppose the KB contains just the following:

x King(x) Greedy(x) Evil(x)

King(John)

Greedy(John)

Brother(Richard,John)

• Instantiating the universal sentence in all possible ways (there are only two ground terms: John and Richard) , we have:

King(John) Greedy(John) Evil(John)

King(Richard) Greedy(Richard) Evil(Richard)

King(John)

Greedy(John)

Brother(Richard,John)

• The new KB is propositionalized: proposition symbols are

King(John), Greedy(John), Evil(John), King(Richard), etc.

Page 40: Chapter 8 First Order Logic - Hacettepe

42

Reduction contd.

• Every FOL KB can be propositionalized so as to preserve

entailment– A ground sentence is entailed by new KB iff entailed by original KB

• Idea for doing inference in FOL:– propositionalize KB and query

– apply inference

– return result

• Problem: with function symbols, there are infinitely many

ground terms,– e.g., Father(Father(Father(John))), etc

Page 41: Chapter 8 First Order Logic - Hacettepe

43

Reduction contd.

Theorem: Herbrand (1930). If a sentence α is entailed by an FOL KB, it is entailed by a finite subset of the propositionalized KB

Idea: For n = 0 to ∞ do

create a propositional KB by instantiating with depth-n terms

see if α is entailed by this KB

Problem: works if α is entailed, loops if α is not entailed

Theorem: Turing (1936), Church (1936)

Entailment for FOL is semidecidable (algorithms exist that say yes to every entailed sentence, but no algorithm exists that also says no to every nonentailed sentence.)

Page 42: Chapter 8 First Order Logic - Hacettepe

44

Problems with propositionalization

• Propositionalization seems to generate lots of irrelevant sentences.

• E.g., from:

x King(x) Greedy(x) Evil(x)

King(John)

y Greedy(y)

Brother(Richard,John)

• it seems obvious that Evil(John) is entailed, but propositionalization produces lots of facts such as Greedy(Richard) that are irrelevant

• With p k-ary predicates and n constants, there are p·nk instantiations.

• Lets see if we can do inference directly with FOL sentences

Page 43: Chapter 8 First Order Logic - Hacettepe

46

Generalized Modus Ponens (GMP)

p1', p2', … , pn', ( p1 p2 … pn q)

Subst(θ,q)

Example:

p1' is King(John) p1 is King(x)

p2' is Greedy(y) p2 is Greedy(x)

θ is {x/John, y/John} q is Evil(x)

Subst(θ,q) is Evil(John)

Example:

p1' is Missile(M1) p1 is Missile(x)

p2' is Owns(y, M1) p2 is Owns(Nono,x)

θ is {x/M1, y/Nono} q is Sells(West, Nono, x)

Subst(θ,q) is Sells(West, Nono, M1)

• Implicit assumption that all variables universally quantified

where we can unify pi‘ and pi for all i

i.e. pi'θ = pi θ for all i

GMP used with KB of definite clauses (exactly one positive literal)

Page 44: Chapter 8 First Order Logic - Hacettepe

47

Soundness and completeness of GMP

• Need to show that p1', …, pn', (p1 … pn q) ╞ qθ

provided that pi'θ = piθ for all I

• Lemma: For any sentence p, we have p ╞ pθ by UI

1. (p1 … pn q) ╞ (p1 … pn q)θ = (p1θ … pnθ qθ)

2. p1', \; …, \;pn' ╞ p1' … pn' ╞ p1'θ … pn'θ

3. From 1 and 2, qθ follows by ordinary Modus Ponens

GMP is sound

Only derives sentences that are logically entailed

GMP is complete for a KB consisting of definite clauses– Complete: derives all sentences that entailed

– OR…answers every query whose answers are entailed by such a KB

– Definite clause: disjunction of literals of which exactly 1 is positive,

e.g., King(x) AND Greedy(x) -> Evil(x)

NOT(King(x)) OR NOT(Greedy(x)) OR Evil(x)

Page 45: Chapter 8 First Order Logic - Hacettepe

48

Generalized Modus Ponens (GMP)

p1', p2', … , pn', ( p1 p2 … pn q)

Subst(θ,q)

Convert each sentence into cannonical form prior to inference:

Either an atomic sentence or an implication with a conjunction of

atomic sentences on the left hand side and a single atom on the right

(Horn clauses)

Page 46: Chapter 8 First Order Logic - Hacettepe

49

Unification

Page 47: Chapter 8 First Order Logic - Hacettepe

50

Unification

Page 48: Chapter 8 First Order Logic - Hacettepe

52

Unification

• We can get the inference immediately if we can find a substitution θ such that King(x) and Greedy(x) match King(John) and Greedy(y)

θ = {x/John,y/John} works

• Unify(α,β) = θ if αθ = βθ

p q θ

Knows(John,x) Knows(John,Jane) {x/Jane}}

Knows(John,x) Knows(y, Elizabeth) {x/ Elizabeth,y/John}}

Knows(John,x) Knows(y,Mother(y)) {y/John,x/Mother(John)}}

Knows(John,x) Knows(x, Elizabeth) {fail}

• Standardizing apart eliminates overlap of variables,e.g., Knows(z17, Elizabeth)

Page 49: Chapter 8 First Order Logic - Hacettepe

53

Unification

• To unify Knows(John,x) and Knows(y,z),

θ = {y/John, x/z } or θ = {y/John, x/John, z/John}

• The first unifier is more general than the second.

• Most general unifier is the substitution that makes the least commitment about the bindings of the variables

• There is a single most general unifier (MGU) that is unique up to renaming of variables.

MGU = { y/John, x/z }

Page 50: Chapter 8 First Order Logic - Hacettepe

54

The unification algorithm

Page 51: Chapter 8 First Order Logic - Hacettepe

55

The unification algorithm

Page 52: Chapter 8 First Order Logic - Hacettepe

56

Example knowledge base revisited1. x,y,z American(x) Weapon(y) Sells(x,y,z) Nation(z) Hostile(z) Criminal(x)

2. x Owns(Nono,x) Missile(x):

3. x Missile(x) Owns(Nono,x) Sells(West,x,Nono)

4. x Missile(x) Weapon(x)

5. x Enemy(x,America) Hostile(x)

6. American(West)

7. Nation(Nono)

8. Enemy(Nono,America)

9. Nation(America)

Convert the sentences into Horn form

1. American(x) Weapon(y) Sells(x,y,z) Nation(z) Hostile(z) Criminal(x)

2. Owns(Nono,M1)

3. Missile(M1)

4. Missile(x) Owns(Nono,x) Sells(West,x,Nono)

5. Missile(x) Weapon(x)

6. Enemy(x,America) Hostile(x)

7. American(West)

8. Nation(Nono)

9. Enemy(Nono,America)

10. Nation(America)

11. Proof

12. Weapon(M1)

13. Hostile(Nono)

14. Sells(West,M1,Nono)

15. Criminal(West)

Page 53: Chapter 8 First Order Logic - Hacettepe

57

Inference appoaches in FOL

• Forward-chaining

– Uses GMP to add new atomic sentences

– Useful for systems that make inferences as information streams in

– Requires KB to be in form of first-order definite clauses

• Backward-chaining

– Works backwards from a query to try to construct a proof

– Can suffer from repeated states and incompleteness

– Useful for query-driven inference

• Note that these methods are generalizations of their propositional equivalents

Page 54: Chapter 8 First Order Logic - Hacettepe

58

Forward chaining algorithm

Page 55: Chapter 8 First Order Logic - Hacettepe

59

Forward chaining proof

Page 56: Chapter 8 First Order Logic - Hacettepe

60

Forward chaining proof

Page 57: Chapter 8 First Order Logic - Hacettepe

61

Forward chaining proof

Page 58: Chapter 8 First Order Logic - Hacettepe

62

Properties of forward chaining

• Sound and complete for first-order definite clauses

• Datalog = first-order definite clauses + no functions

• FC terminates for Datalog in finite number of iterations

• May not terminate in general if α is not entailed

• This is unavoidable: entailment with definite clauses is semidecidable

Page 59: Chapter 8 First Order Logic - Hacettepe

63

Efficiency of forward chaining

Incremental forward chaining: no need to match a rule on iteration k if a premise wasn't added on iteration k-1

match each rule whose premise contains a newly added positive literal

Matching itself can be expensive:

Database indexing allows O(1) retrieval of known facts

– e.g., query Missile(x) retrieves Missile(M1)

Forward chaining is widely used in deductive databases

Page 60: Chapter 8 First Order Logic - Hacettepe

64

Backward chaining algorithm

SUBST(COMPOSE(θ1, θ2), p) = SUBST(θ2, SUBST(θ1, p))

Page 61: Chapter 8 First Order Logic - Hacettepe

65

Backward chaining example

Page 62: Chapter 8 First Order Logic - Hacettepe

66

Backward chaining example

Page 63: Chapter 8 First Order Logic - Hacettepe

67

Backward chaining example

Page 64: Chapter 8 First Order Logic - Hacettepe

68

Backward chaining example

Page 65: Chapter 8 First Order Logic - Hacettepe

69

Backward chaining example

Page 66: Chapter 8 First Order Logic - Hacettepe

70

Backward chaining example

Page 67: Chapter 8 First Order Logic - Hacettepe

71

Backward chaining example

Page 68: Chapter 8 First Order Logic - Hacettepe

72

Backward chaining example

Page 69: Chapter 8 First Order Logic - Hacettepe

73

Properties of backward chaining

• Depth-first recursive proof search: space is linear in size of proof

• Incomplete due to infinite loops

– fix by checking current goal against every goal on stack

• Inefficient due to repeated subgoals (both success and failure)

– fix using caching of previous results (extra space)

• Widely used for logic programming

Page 70: Chapter 8 First Order Logic - Hacettepe

74

Logic programming: Prolog

• Algorithm = Logic + Control

• Basis: backward chaining with Horn clauses + bells & whistles

• Program = set of clauses = head :- literal1, … literaln.

criminal(X) :- american(X), weapon(Y), sells(X,Y,Z), hostile(Z).

• Depth-first, left-to-right backward chaining

• Built-in predicates for arithmetic etc., e.g., X is Y*Z+3

• Built-in predicates that have side effects (e.g., input and output

• predicates, assert/retract predicates)

• Closed-world assumption ("negation as failure")

– e.g., given alive(X) :- not dead(X).

– alive(joe) succeeds if dead(joe) fails

Page 71: Chapter 8 First Order Logic - Hacettepe

75

Resolution in

First Order Logic

Artificial Intelligence

Slides are mostly adapted from AIMA and MIT Open Courseware

and Milos Hauskrecht (U. Pittsburgh)

Page 72: Chapter 8 First Order Logic - Hacettepe

76

Resolution Inference Rule

Page 73: Chapter 8 First Order Logic - Hacettepe

77

First Order Resolution

Page 74: Chapter 8 First Order Logic - Hacettepe

78

Clausal Form

Page 75: Chapter 8 First Order Logic - Hacettepe

79

Converting to Clausal Form

Also move all quantifiers left

Page 76: Chapter 8 First Order Logic - Hacettepe

80

Converting to Clausal Form - Skolemization

Page 77: Chapter 8 First Order Logic - Hacettepe

81

Converting to Clausal Form - Skolemization

Page 78: Chapter 8 First Order Logic - Hacettepe

82

Converting to Clausal Form

Page 79: Chapter 8 First Order Logic - Hacettepe

83

Inference with resolution rule

Page 80: Chapter 8 First Order Logic - Hacettepe

84

Page 81: Chapter 8 First Order Logic - Hacettepe

85

Dealing with Equality

Page 82: Chapter 8 First Order Logic - Hacettepe

86

Example

Page 83: Chapter 8 First Order Logic - Hacettepe

87

More examples

Page 84: Chapter 8 First Order Logic - Hacettepe

88

First Order Resolution

Page 85: Chapter 8 First Order Logic - Hacettepe

89

Substitutions

Page 86: Chapter 8 First Order Logic - Hacettepe

90

Unification

Page 87: Chapter 8 First Order Logic - Hacettepe

91

Most General Unifier

Page 88: Chapter 8 First Order Logic - Hacettepe

92

Unification Algorithm

Page 89: Chapter 8 First Order Logic - Hacettepe

93

Unify-var subroutine

Page 90: Chapter 8 First Order Logic - Hacettepe

94

Examples

Page 91: Chapter 8 First Order Logic - Hacettepe

95

Resolution with Variables

Page 92: Chapter 8 First Order Logic - Hacettepe

96

Curiosity Killed the Cat

Page 93: Chapter 8 First Order Logic - Hacettepe

97

Proving Validity

Page 94: Chapter 8 First Order Logic - Hacettepe

98

Example

Page 95: Chapter 8 First Order Logic - Hacettepe

99

Example

Page 96: Chapter 8 First Order Logic - Hacettepe

100

Green’s Trick

Page 97: Chapter 8 First Order Logic - Hacettepe

101

Equality

Page 98: Chapter 8 First Order Logic - Hacettepe

102

Proof Example

Page 99: Chapter 8 First Order Logic - Hacettepe

103

The Clauses

Page 100: Chapter 8 First Order Logic - Hacettepe

104

The Query

Page 101: Chapter 8 First Order Logic - Hacettepe

105

The Proof

Page 102: Chapter 8 First Order Logic - Hacettepe

106

Hat of D

Page 103: Chapter 8 First Order Logic - Hacettepe

107

Who is Jane’s Lower