0% found this document useful (0 votes)
10 views34 pages

Inference in First-Order Logic

The document outlines various inference rules in First-order Logic, including Universal Instantiation, Modus Ponens, and Resolution. It discusses methods such as Forward Chaining and Backward Chaining for deriving conclusions from a knowledge base, as well as the process of converting FOL to Conjunctive Normal Form (CNF). Additionally, it highlights the importance of unification and resolution refutation in proving logical statements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views34 pages

Inference in First-Order Logic

The document outlines various inference rules in First-order Logic, including Universal Instantiation, Modus Ponens, and Resolution. It discusses methods such as Forward Chaining and Backward Chaining for deriving conclusions from a knowledge base, as well as the process of converting FOL to Conjunctive Normal Form (CNF). Additionally, it highlights the importance of unification and resolution refutation in proving logical statements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Inference in First-order Logic

Inference Rules
Universal Instantiation
 Infer a sentence obtained by substituting a
ground term for the variable.
 x cat(x)  mammal(x); cat(Felix),
therefore, mammal(Felix)
Existential Generalization
 Q(A)  x Q(x) ….

2
Inference Rules (from Chap 7)
Modus ponens P(x)  Q(x) , P(A)
Q(A)

And elimination P(A)  Q(A)  R(A)  S(A)  …….


P(A)
P(A) , Q(A) , R(A) , S(A) , …….
And introduction P(A)  Q(A)  R(A)  S(A)  …….
P(A)
Or introduction P(A)  Q(A)  R(A)  S(A)  …….

3
Inference Rules (from Chap 7)

Double Negation   P(x)


P(x)
elimination

Unit resolution P(x)  Q(x) ,  P(A)


Q(A)
P(x)  Q(x) ,  Q(x)  R(x)
Resolution
P(x)  R(x)

4
Additional Rules of Inference
substitution
SUBST(,S), substituting (or binding list)  to sentence S
SUBST({x/5,y/3}, gt(x,y)) = gt(5,3)

Additional Rules
 Universal Elimination
x S x Likes(x,IceCream)
SUBST ({x g}, S ) {x/Ben}, Likes(Ben,IceCream)
 Existential Elimination
x S x Likes(x,Sally) If Ben doesn’t
SUBST ({x A}, S ) {x/Ben}, Likes(Ben,Sally) appear elsewhere
 Existential Introduction
S Likes(John,IceCream)
x SUBST ({g x}, S ) x Likes(x,IceCream) 5
Additional rules of inference
Unification
UNIFY(p, q) = q where SUBST(q, q)

Examples:
UNIFY(Knows(John, x), Knows(John, Jane)) = {x/Jane}

UNIFY(Knows(John, x), Knows(y, Mother(y))) =


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

6
Forward Chaining
 Start with atomic Knowledge base sentences, apply rules
of inference, adding new atomic sentences, until no
further inferences can be made.
 x,y,z gt(x,y)  gt(y,z)  gt(x,z)
Given: gt(A,B), gt(B,C), and gt(C,D) can we say
gt(A,D)?
Step 1: gt(A,B)  gt(B,C)  gt(A,C)
Step 2: gt(A,C)  gt(C,D)  gt(A,D); Therefore, gt(A,D)
–Typically triggered when a new fact, p, is added to
the knowledge base. Then we find all implications
that have p as premise – can also use other premises
that are known to be true 7
Example Problem
John likes all kinds of food.
Apples are food.
Chicken is food.
Anything anyone eats and isn’t killed by
is food.
Bill eats peanuts, and is still alive.
Sue eats everything that Bill eats.

8
Example Problem
John likes all kinds of x food (x)  eats(John, x)
food
Apples are food. food(apples)
Chicken is food. food(chicken)
Anything anyone eats and x,y eats(x,y)  killed(x)
isn’t killed by is food.  food(y)
Bill eats peanuts, and is still eats(Bill,Peanuts) 
alive. killed(Bill)
Sue eats everything that Bill x eats (Bill,x) 
eats. eats(Sue,x) 9
Answer Questions (by Proof)
Does John eat peanuts?
1) eats(Bill,Peanuts)  killed(Bill)
2) x,y eats(x,y)  killed(x)  food(y)
SUBST({x/Bill,y/Peanuts}), universal elimination, and modus
ponens to derive food(peanuts)
3) x food (x)  eats(John, x)
SUBST({x/Peanuts}) and use (2, universal elimination, and
modus ponens to derive eats(John,peanuts)

Derived Proof by Forward Chaining


The proof steps could have been longer – if we had tried other derivations
For example, many possibilities for substitution and universal elimination

Need search strategies to perform this task efficiently 10


Pictorial View: Forward Chaining
eats(John, Peanuts)
eats(John, apples)
x food (x)  eats(John, x) eats(John, chicken)

food(Peanuts)
x,y eats(x,y)  killed(x)  food(y)

food(apples) eats(Bill,Peanuts)  killed(Bill) food(chicken)

11
More Efficient Forward Chaining
Checking all rules will take too much time.

Check only rules that include a conjunct


that unifies a newly created fact during
the previous iteration.
 Incremental Forward Chaining

12
Forward Chaining
• Data Driven
• not directed at finding particular information –
can generate irrelevant conclusions
• Strategy
• match rules that contain recently added literals
• Forward chaining may not terminate
• Especially if desired conclusion is not entailed
(Incomplete)
13
Backward Chaining
Start at the goal, chain through inference rules
to find known facts that support the proof.
 Uses Modus Ponens backwards
 Designed to answer questions posed to a knowledge

base
In reality, the eats(John, y) Yes, y/peanuts
algorithm would
include all appropriate food (y) Yes, y/peanuts
rules.
eats(x,y) killed(x)
Yes, x/Bill, y/peanuts Yes, x/Bill

14
Backward Chaining
• Depth First recursive proof
• space is linear in size of proof.
• Incomplete
• infinite loops
• Can be inefficient
• repeated subgoals

15
FOL to CNF
Resolution requires that FOL sentences be
represented in Conjunctive Normal Form
(CNF)
 Everyone who loves all animals is loved by
someone.
 FOL: x[y Animal ( y)  Loves( x, y)]  [y Loves( y, x)]
 CNF:
[ Animal ( F ( x))  Loves(G( x), x)]  [Loves( x, F ( x))  Loves(G( x), x)]

16
Resolution
Resolution
 a single inference rule
 provides a complete inference algorithm
when coupled with any complete search
algorithm.

P(x)  Q(x) ,  Q(x)  R(x)


P(x)  R(x)

17
Resolution
Implicative Form Conjunctive normal form
x food (x)  eats(John, x)  food (x)  eats(John, x)
food(apples) food(apples)
food(chicken) food(chicken)
x,y eats(x,y)  killed(x)   eats(x,y)  killed(x)  food(y)
food(y)
eats(Bill,Peanuts)  eats(Bill,Peanuts)
killed(Bill) killed(Bill)
x eats (Bill,x)  eats(Sue,x)  eats (Bill,x)  eats(Sue,x)

Forward & Backward Chaining Resolution 18


Resolution Proof
 eats(x,y)  killed(x)  food(y) eats(Bill,Peanuts)

{x/Bill, y/peanuts}

killed(Bill)  food(peanuts) killed(Bill)

 food (x)  eats(John, x) food(peanuts)


{x/peanuts}

eats(John, peanuts)  True

19
Resolution uses unification
Unification: takes two atomic expressions p
and q, and generates a substitution that
makes p and q look the same.
UNIFY(p,q) = q where SUBST(q,p) = SUBST(q,q)
p q q

x,y – implicitly
knows(John, x) knows(John,Jane) {x / Jane} universally quantified

knows(John, x) knows(y, Jack) {x / Jack, y / John}

knows(John, x) knows(y,mother(y)) {y / John, x / mother(John)}

knows(John, x) knows(x, Jack) fail 20 x


P & Q cannot share
Generalized Resolution
p1  .... p j  .... pm
q1  .... qk  .... qn
SUBST (q , ( p1  .... p j 1  p j 1.... pm  q1  .... qk 1  qk 1.... qn ))

Problem with Resolution: It is incomplete


Example: cannot prove p   p from an empty KB

However, Resolution refutation, i.e.,


proof by contradiction has been proven to be complete
(KB  p  False)  (KB  p)
21
Resolution Refutation
If S is an unsatisfiable set of clauses,
then the application of a finite number
of resolution steps to S will yield a
contradiction.

22
Resolution
Implicative Form Conjunctive normal form
x food (x)  eats(John, x)  food (x)  eats(John, x)
food(apples) food(apples)
food(chicken) food(chicken)
x,y eats(x,y)  killed(x)   eats(x,y)  killed(x)  food(y)
food(y)
eats(Bill,Peanuts)  eats(Bill,Peanuts)
killed(Bill) killed(Bill)
x eats (Bill,x)  eats(Sue,x)  eats (Bill,x)  eats(Sue,x)

Forward & Backward Chaining Resolution


23
Resolution refutation proof
Start with:  eats(John, peanuts)

 food (x)  eats(John, x)  eats(John,Peanuts)

{x/Peanuts}

 food(peanuts)  eats(x,y)  killed(x)  food(y)

{y/Peanuts}

killed(Bill)  eats(x,Peanuts)  killed(x)


{x/Bill}
Conclusion: eats(John, peanuts)
eats(Bill, peanuts)  eats(Bill,Peanuts) is false. Therefore,
eats(John, peanuts) must be True.
 False 24
Resolution Refutation – Step 1
Assume: Can convert all FOL statements
to conjunctive normal form (CNF).

Example: Everyone who loves all animals is


loved by someone.
x[y Animal ( y)  Loves( x, y)]  [y Loves( y, x)]

25
Resolution Refutation
x[y Animal ( y)  Loves( x, y)]  [y Loves( y, x)]
Procedure
1. Eliminate implications
x [y Animal ( y)  Loves( x, y)]  [y Loves( y, x)]

2. Reduce scope of negations (move  inwards)


x [y Animal ( y)  Loves( x, y)]  [y Loves( y, x)]
x [y Animal ( y)  Loves( x, y )]  [y Loves( y, x)]

3. Standardize variables – each quantifier has a


different one
x [y Animal ( y)  Loves( x, y)]  [z Loves( z, x26
)]
Conversion to clause form
x [y Animal ( y)  Loves( x, y)]  [z Loves( z, x)]
4. Eliminate existential quantifiers by skolemization
• The process of removing existential quantifiers.
• if unqualified existential quantifier, then replace by constant.
• if quantifier is within scope of universal quantifier, have to use
skolem function, e.g., z = G(x)
x [ Animal ( F ( x))  Loves( x, F ( x))]  [ Loves(G( x), x)]

27
Conversion to Clause Form
x [ Animal ( F ( x))  Loves( x, F ( x))]  [ Loves(G( x), x)]
5. Convert to prenex form – move all universal
quantifiers out

x[ Animal ( F ( x))  Loves( x, F ( x))]  Loves(G( x), x)

6. Put expression in CNF (distribute  over )


x [ Animal ( F ( x))  Loves(G( x), x)]  [Loves( x, F ( x))  Loves(G( x), x)]

7. Eliminate universal quantifiers


[ Animal ( F ( x))  Loves(G( x), x)]  [Loves( x, F ( x))  Loves(G( x), x)]
28
Conversion to clause form (2)
[ Animal ( F ( x))  Loves(G( x), x)]  [Loves( x, F ( x))  Loves(G( x), x)]
8. Write out as separate clauses (i.e., eliminate 
symbols)
In this example, there are two clauses:
(i) Animal ( F ( x))  Loves(G( x), x)
(ii ) Loves( x, F ( x))  Loves(G( x), x)

9. Rename variables
(i) Animal ( F ( x1 ))  Loves(G( x1 ), x1 )
(ii ) Loves( x2 , F ( x2 ))  Loves(G( x2 ), x2 )

29
Conversion to Clause Form (HW)

Work through this example:

x[ P( x)  y [ P( y)  P( f ( x, y))]  y [Q( x, y)  P( y)]]

Solution: 3 clauses

1. P( x1 )  P( y )  P( f ( x1 , y ))
2. P( x2 )  Q( x2 , g ( x2 ))
3. P( x3 )  P( g ( x3 ))

30
Resolution Refutation Theorem Proving
Procedure:
1) Put all sentences in KB into clause (CNF)
form (Step 1)
2) Negate goal state, put into KB in clause
form, and add to KB
3) Resolve clauses
4) Produce contradiction, i.e., the empty clause
5) Therefore,  (negated goal) is true.

31
Resolution Refutation: Properties

Sound
 any conclusion reached is true.
Complete
 inference will eventually provide true
conclusion
Tractability or Feasibility
 Inference procedure may never terminate if
expression to be proved is not true.

32
Resolution Refutation: Properties
Resolution Strategies
 improve efficiency of process
 Unit preference
 prefer to do resolutions with unit clauses.
 idea: produce short sentences, reduce them to null
(false).
 Restricted form of resolution refutation where
every step must involve a unit clause.

33
Resolution Refutation: Properties
Resolution Strategies
 Set of support
 Eliminate some potential resolutions.
 Use a small set of clauses called set of support.
 Combine a sentence from the set with another
sentence via resolution, then add the new resolved
sentence to the set.
 Works well if the set of support is small relative to
the KB.
 Choosing a bad support set can make the
algorithm incomplete.
34

You might also like