Inference in First Order Logic Inference in First Order Logic - - PowerPoint PPT Presentation

inference in first order logic inference in first order
SMART_READER_LITE
LIVE PREVIEW

Inference in First Order Logic Inference in First Order Logic - - PowerPoint PPT Presentation

Inference in First Order Logic Inference in First Order Logic Course: CS40002 Course: CS40002 Instructor: Dr. Pallab Dasgupta Pallab Dasgupta Instructor: Dr. Department of Computer Science & Engineering Department of Computer Science


slide-1
SLIDE 1

Inference in First Order Logic Inference in First Order Logic

Course: CS40002 Course: CS40002 Instructor: Dr. Instructor: Dr. Pallab Dasgupta Pallab Dasgupta

Department of Computer Science & Engineering Department of Computer Science & Engineering Indian Institute of Technology Indian Institute of Technology Kharagpur Kharagpur

slide-2
SLIDE 2

2

CSE, IIT CSE, IIT Kharagpur Kharagpur

Inference rules Inference rules

  • Universal elimination:

Universal elimination:

∀ x Likes( x, x Likes( x, IceCream IceCream ) ) with the substitution with the substitution {x / Einstein} {x / Einstein} gives us gives us Likes( Einstein, Likes( Einstein, IceCream IceCream ) )

  • The substitution has to be done by a ground term

The substitution has to be done by a ground term

  • Existential elimination:

Existential elimination:

  • From

From ∃ ∃ x Likes( x, x Likes( x, IceCream IceCream ) ) we may infer we may infer Likes( Man, Likes( Man, IceCream IceCream ) ) as long as Man does not as long as Man does not appear elsewhere in the Knowledge base appear elsewhere in the Knowledge base

  • Existential introduction:

Existential introduction:

  • From

From Likes( Likes( Monalisa Monalisa, , IceCream IceCream ) ) we can infer we can infer ∃ ∃ x Likes( x, x Likes( x, IceCream IceCream ) )

slide-3
SLIDE 3

3

CSE, IIT CSE, IIT Kharagpur Kharagpur

Reasoning in first Reasoning in first-

  • order logic
  • rder logic
  • The law says that it is a crime for a Gaul

The law says that it is a crime for a Gaul to sell potion formulas to hostile nations. to sell potion formulas to hostile nations.

  • The country Rome, an enemy of Gaul,

The country Rome, an enemy of Gaul, has acquired some potion formulas, and has acquired some potion formulas, and all of its formulas were sold to it by Druid all of its formulas were sold to it by Druid Traitorix Traitorix. .

  • Traitorix

Traitorix is a Gaul. is a Gaul.

  • Is

Is Traitorix Traitorix a criminal? a criminal?

slide-4
SLIDE 4

4

CSE, IIT CSE, IIT Kharagpur Kharagpur

Generalized Modus Generalized Modus Ponens Ponens

  • For atomic sentences p

For atomic sentences pi

i, p

, pi

i’, and q, where

’, and q, where there is a substitution there is a substitution θ θ such that such that SUBST( SUBST(θ θ, p , pi

i’

’) = SUBST( ) = SUBST(θ θ, p , pi

i),

), for all i:

for all i:

) , ( ) ... ( , ,..., ,

2 1 2 1

q SUBST q p p p p p p

n n

θ ⇒ ∧ ∧ ∧ ′ ′ ′

slide-5
SLIDE 5

5

CSE, IIT CSE, IIT Kharagpur Kharagpur

Unification Unification

UNIFY(p,q) = UNIFY(p,q) = θ θ where SUBST(

where SUBST(θ θ,p) = SUBST( ,p) = SUBST(θ θ,q) ,q)

Examples: Examples:

UNIFY( Knows( UNIFY( Knows(Erdos Erdos, x),Knows( , x),Knows(Erdos Erdos, , Godel Godel)) )) = {x / = {x / Godel Godel} } UNIFY( Knows( UNIFY( Knows(Erdos Erdos, x), Knows(y, , x), Knows(y,Godel Godel)) )) = {x/ = {x/Godel Godel, y/ , y/Erdos Erdos} }

slide-6
SLIDE 6

6

CSE, IIT CSE, IIT Kharagpur Kharagpur

Unification Unification

UNIFY(p,q) = UNIFY(p,q) = θ θ where SUBST(

where SUBST(θ θ,p) = SUBST( ,p) = SUBST(θ θ,q) ,q)

Examples: Examples:

UNIFY( Knows( UNIFY( Knows(Erdos Erdos, x), Knows(y, Father(y))) , x), Knows(y, Father(y))) = { y/ = { y/Erdos Erdos, x/Father( , x/Father(Erdos Erdos) } ) } UNIFY( Knows( UNIFY( Knows(Erdos Erdos, x), Knows(x, , x), Knows(x, Godel Godel)) = F )) = F We require the most general unifier We require the most general unifier

slide-7
SLIDE 7

7

CSE, IIT CSE, IIT Kharagpur Kharagpur

Reasoning with Horn Logic Reasoning with Horn Logic

  • We can convert Horn sentences to a

We can convert Horn sentences to a canonical form and then use generalized canonical form and then use generalized Modus Modus Ponens Ponens with unification. with unification.

  • We

We skolemize skolemize existential formulas and existential formulas and remove the universal ones remove the universal ones

  • This gives us a conjunction of clauses, that

This gives us a conjunction of clauses, that are inserted in the KB are inserted in the KB

  • Modus

Modus Ponens Ponens help us in inferring new help us in inferring new clauses clauses

  • Forward and backward chaining

Forward and backward chaining

slide-8
SLIDE 8

8

CSE, IIT CSE, IIT Kharagpur Kharagpur

Completeness issues Completeness issues

  • Reasoning with Modus

Reasoning with Modus Ponens Ponens is incomplete is incomplete

  • Consider the example

Consider the example – – ∀ ∀x P(x) x P(x) ⇒ ⇒ Q(x) Q(x) ∀ ∀x x ¬ ¬P(x) P(x) ⇒ ⇒ R(x) R(x) ∀ ∀x Q(x) x Q(x) ⇒ ⇒ S(x) S(x) ∀ ∀x R(x) x R(x) ⇒ ⇒ S(x) S(x)

  • We should be able to conclude S(A)

We should be able to conclude S(A)

  • The problem is that

The problem is that ∀ ∀x x ¬ ¬P(x) P(x) ⇒ ⇒ R(x) cannot R(x) cannot be converted to Horn form, and thus cannot be converted to Horn form, and thus cannot be used by Modus be used by Modus Ponens Ponens

slide-9
SLIDE 9

9

CSE, IIT CSE, IIT Kharagpur Kharagpur

Godel’s Godel’s Completeness Theorem Completeness Theorem

  • For first

For first-

  • order logic, any sentence that is
  • rder logic, any sentence that is

entailed by another set of sentences can be entailed by another set of sentences can be proved from that set proved from that set

  • Godel

Godel did not suggest a proof procedure did not suggest a proof procedure

  • In 1965 Robinson published his resolution

In 1965 Robinson published his resolution algorithm algorithm

  • Entailment in first

Entailment in first-

  • order logic is semi
  • rder logic is semi-
  • decidable,

decidable, that is, we can show that sentences follow from that is, we can show that sentences follow from premises if they do, but we cannot always show if premises if they do, but we cannot always show if they do not. they do not.

slide-10
SLIDE 10

10

CSE, IIT CSE, IIT Kharagpur Kharagpur

The validity problem of first The validity problem of first-

  • order logic
  • rder logic
  • [Church]

[Church] The validity problem of the first The validity problem of the first-

  • rder predicate calculus is partially solvable.
  • rder predicate calculus is partially solvable.
  • Consider the following formula:

Consider the following formula:

) , ( ))]] ( ), ( ( ) , ( [ )) ( ), ( ( [

1 1

z z p z x g x f p y x p y x a g a f p

i i n i i i n i

∃ ⇒ ∧ ⇒ ∀ ∀ ∧ ∧

= =

slide-11
SLIDE 11

11

CSE, IIT CSE, IIT Kharagpur Kharagpur

Resolution Resolution

  • Generalized Resolution Rule:

Generalized Resolution Rule: For atoms p For atoms pi

i,

, q qi

i,

, r ri

i,

, s si

i, where Unify(

, where Unify(p pj

j,

, q qk

k) =

) = θ θ, , we have: we have:

) ... ... ... ... ... ... , ( SUBST ... ... ... ... ... ...

4 1 1 2 1 3 1 1 1 1 1 4 1 3 1 2 1 1 1 n k k n n n j j n k n n n j

q q q r r s s p p p p q q q s s r r p p p ∨ ∨ ∨ ∨ ∨ ⇒ ∧ ∧ ∧ ∧ ∧ ∨ ∨ ⇒ ∧ ∧ ∨ ⇒ ∧ ∧

+ − + −

θ

slide-12
SLIDE 12

12

CSE, IIT CSE, IIT Kharagpur Kharagpur

Our earlier example Our earlier example

P(w) ⇒ Q(w) Q(y) ⇒ S(y) True ⇒ P(x) ∨ R(x) P(w) ⇒ S(w) True ⇒ S(x) ∨ R(x) R(z) ⇒ S(z)

{w / x} {y / w} {x/A, z/A}

True ⇒ S(A)

slide-13
SLIDE 13

13

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • A formula is said to be in clause form if it is of

A formula is said to be in clause form if it is of the form: the form: ∀ ∀x x1

1 ∀

∀x x2

2 …

… ∀ ∀x xn

n [C

[C1

1 ∧

∧ C C2

2 ∧

∧ … … ∧ ∧ C Ck

k]

]

  • All first

All first-

  • order logic formulas can be converted
  • rder logic formulas can be converted

to clause form to clause form

  • We shall demonstrate the conversion on the

We shall demonstrate the conversion on the formula: formula: ∀ ∀x {p(x) x {p(x) ⇒ ⇒ ∃ ∃z { z { ¬∀ ¬∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(f(x p(f(x1

1))]

))] ∧ ∧ ∀ ∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(x)] }} p(x)] }}

slide-14
SLIDE 14

14

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • Step1:

Step1: Take the existential closure and Take the existential closure and eliminate redundant eliminate redundant quantifiers.

  • quantifiers. This

This introduces introduces ∃ ∃x x1

1 and eliminates

and eliminates ∃ ∃z, so: z, so: ∀ ∀x {p(x) x {p(x) ⇒ ⇒ ∃ ∃z z { { ¬∀ ¬∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(f( p(f(x x1

1))]

))] ∧ ∧ ∀ ∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(x)] }} p(x)] }} ∃ ∃x x1

1 ∀

∀x {p(x) x {p(x) ⇒ ⇒ { { ¬∀ ¬∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(f(x p(f(x1

1))]

))] ∧ ∧ ∀ ∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(x)] }} p(x)] }}

slide-15
SLIDE 15

15

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • Step 2:

Step 2: Rename any variable that is Rename any variable that is quantified more than once. quantified more than once. y has been y has been quantified twice, so: quantified twice, so: ∃ ∃x x1

1 ∀

∀x {p(x) x {p(x) ⇒ ⇒ { { ¬∀ ¬∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(f(x p(f(x1

1))]

))] ∧ ∧ ∀ ∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(x)] }} p(x)] }} ∃ ∃x x1

1 ∀

∀x {p(x) x {p(x) ⇒ ⇒ { { ¬∀ ¬∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(f(x p(f(x1

1))]

))] ∧ ∧ ∀ ∀z [q(x,z) z [q(x,z) ⇒ ⇒ p(x)] p(x)] }} }}

slide-16
SLIDE 16

16

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • Step 3:

Step 3: Eliminate implication Eliminate implication. . ∃ ∃x x1

1 ∀

∀x {p(x) x {p(x) ⇒ ⇒ { { ¬∀ ¬∀y [q(x,y) y [q(x,y) ⇒ ⇒ p(f(x p(f(x1

1))]

))] ∧ ∧ ∀ ∀z [q(x,z) z [q(x,z) ⇒ ⇒ p(x)] }} p(x)] }} ∃ ∃x x1

1 ∀

∀x { x {¬ ¬p(x) p(x) ∨ ∨ { { ¬∀ ¬∀y [ y [¬ ¬q(x,y) q(x,y) ∨ ∨ p(f(x p(f(x1

1))]

))] ∧ ∧ ∀ ∀z [ z [¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] }} p(x)] }}

slide-17
SLIDE 17

17

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • Step 4:

Step 4: Move Move ¬ ¬ all the way inwards all the way inwards. . ∃ ∃x x1

1 ∀

∀x { x {¬ ¬p(x) p(x) ∨ ∨ { { ¬∀ ¬∀y [ y [¬ ¬q(x,y) q(x,y) ∨ ∨ p(f(x p(f(x1

1))]

))] ∧ ∧ ∀ ∀z [ z [¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] }} p(x)] }} ∃ ∃x x1

1 ∀

∀x { x {¬ ¬p(x) p(x) ∨ ∨ { {∃ ∃y [q(x,y) y [q(x,y) ∧ ∧ ¬ ¬p(f(x p(f(x1

1))]

))] ∧ ∧ ∀ ∀z [ z [¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] }} p(x)] }}

slide-18
SLIDE 18

18

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • Step 5:

Step 5: Push the quantifiers to the right. Push the quantifiers to the right. ∃ ∃x x1

1 ∀

∀x { x {¬ ¬p(x) p(x) ∨ ∨ { {∃ ∃y [q(x,y) y [q(x,y) ∧ ∧ ¬ ¬p(f(x p(f(x1

1))]

))] ∧ ∧ ∀ ∀z [ z [¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] }} p(x)] }} ∃ ∃x x1

1 ∀

∀x { x {¬ ¬p(x) p(x) ∨ ∨ {[ {[∃ ∃y q(x,y) y q(x,y) ∧ ∧ ¬ ¬p(f(x p(f(x1

1))]

))] ∧ ∧ [ [∀ ∀z z ¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] }} p(x)] }}

slide-19
SLIDE 19

19

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • Step 6:

Step 6: Eliminate existential quantifiers Eliminate existential quantifiers ( (Skolemization Skolemization). ).

  • Pick out the leftmost

Pick out the leftmost ∃ ∃y B(y) and replace it y B(y) and replace it by B(f(x by B(f(xi1

i1, x

, xi2

i2,

,… …, , x xin

in)), where:

)), where: a) a) x xi1

i1, x

, xi2

i2,

,… …, , x xin

in are all the distinct free

are all the distinct free variables of variables of ∃ ∃y B(y) that are universally y B(y) that are universally quantified to the left of quantified to the left of ∃ ∃y B(y), and y B(y), and b) b) F is any n F is any n-

  • ary

ary function constant which function constant which does not occur already does not occur already

slide-20
SLIDE 20

20

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • Skolemization

Skolemization: : ∃ ∃x x1

1 ∀

∀x { x {¬ ¬p(x) p(x) ∨ ∨ {[ {[∃ ∃y q(x,y) y q(x,y) ∧ ∧ ¬ ¬p(f( p(f(x x1

1))]

))] ∧ ∧ [ [∀ ∀z z ¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] }} p(x)] }} ∀ ∀x { x {¬ ¬p(x) p(x) ∨ ∨ {[ {[q(x,g(x)) q(x,g(x)) ∧ ∧ ¬ ¬p( p(f(a) f(a))] )] ∧ ∧ [ [∀ ∀z z ¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] }} p(x)] }}

slide-21
SLIDE 21

21

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • Step 7:

Step 7: Move all universal quantifiers to the Move all universal quantifiers to the left left ∀ ∀x { x {¬ ¬p(x) p(x) ∨ ∨ {[q(x,g(x)) {[q(x,g(x)) ∧ ∧ ¬ ¬p(f(a))] p(f(a))] ∧ ∧ [ [∀ ∀z z ¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] }} p(x)] }} ∀ ∀x x ∀ ∀z z { {¬ ¬p(x) p(x) ∨ ∨ {[q(x,g(x)) {[q(x,g(x)) ∧ ∧ ¬ ¬p(f(a))] p(f(a))] ∧ ∧ [ [¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] }} p(x)] }}

slide-22
SLIDE 22

22

CSE, IIT CSE, IIT Kharagpur Kharagpur

Conversion to Normal Form Conversion to Normal Form

  • Step 8:

Step 8: Distribute Distribute ∧ ∧ over

  • ver ∨

∨. . ∀ ∀x x ∀ ∀z {[ z {[¬ ¬p(x) p(x) ∨ ∨ q(x,g(x))] q(x,g(x))] ∧ ∧ [ [¬ ¬p(x) p(x) ∨ ∨ ¬ ¬p(f(a))] p(f(a))] ∧ ∧ [ [¬ ¬p(x) p(x) ∨ ∨ ¬ ¬q(x,z) q(x,z) ∨ ∨ p(x)] } p(x)] }

  • Step 9:

Step 9: (Optional) (Optional) Simplify Simplify ∀ ∀x {[ x {[¬ ¬p(x) p(x) ∨ ∨ q(x,g(x))] q(x,g(x))] ∧ ∧ ¬ ¬p(f(a)) } p(f(a)) }

slide-23
SLIDE 23

23

CSE, IIT CSE, IIT Kharagpur Kharagpur

Resolution Refutation Proofs Resolution Refutation Proofs

  • In refutation proofs, we add the negation of

In refutation proofs, we add the negation of the goal to the set of clauses and then the goal to the set of clauses and then attempt to deduce attempt to deduce False False

slide-24
SLIDE 24

24

CSE, IIT CSE, IIT Kharagpur Kharagpur

Example Example

  • Harry, Ron and

Harry, Ron and Draco Draco are students of the are students of the Hogwarts Hogwarts school for wizards school for wizards

  • Every student is either wicked or is a good

Every student is either wicked or is a good Quiditch Quiditch player, or both player, or both

  • No

No Quiditch Quiditch player likes rain and all wicked player likes rain and all wicked students like potions students like potions

  • Draco

Draco dislikes whatever Harry likes and likes dislikes whatever Harry likes and likes whatever Harry dislikes whatever Harry dislikes

  • Draco

Draco likes rain and potions likes rain and potions

  • Is there a student who is good in

Is there a student who is good in Quiditch Quiditch but but not in potions? not in potions?

slide-25
SLIDE 25

25

CSE, IIT CSE, IIT Kharagpur Kharagpur

Resolution Refutation Proofs Resolution Refutation Proofs

Example: Example:

  • Jack owns a dog

Jack owns a dog

  • Every dog owner is an animal lover

Every dog owner is an animal lover

  • No animal lover kills an animal

No animal lover kills an animal

  • Either Jack or Curiosity killed the cat, who

Either Jack or Curiosity killed the cat, who is named Tuna is named Tuna

  • Goal:

Goal: Did curiosity kill the cat? Did curiosity kill the cat?

  • We will add

We will add ¬ ¬Kills(Curiosity, Tuna) and try Kills(Curiosity, Tuna) and try to deduce to deduce False False