First-Order Logic (FOL) aka. predicate calculus - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

First-Order Logic (FOL) aka. predicate calculus

Description:

For example, from eats(Ziggy, IceCream) we can infer (Ex)eats(Ziggy, x). All instances of the given constant symbol are replaced by the new variable symbol. – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 14
Provided by: hi91
Category:

less

Transcript and Presenter's Notes

Title: First-Order Logic (FOL) aka. predicate calculus


1
First-Order Logic (FOL)aka. predicate calculus
2
First-Order Logic (FOL) Syntax
  • User defines these primitives
  • Constant symbols (i.e., the "individuals" in the
    world) E.g., Mary, 3
  • Function symbols (mapping individuals to
    individuals) E.g., father-of(Mary) John,
    color-of(Sky) Blue
  • Predicate symbols (mapping from individuals to
    truth values) E.g., greater(5,3), green(Grass),
    color(Grass, Green)

3
First-Order Logic (FOL) Syntax
  • FOL supplies these primitives
  • Variable symbols. E.g., x,y
  • Connectives. Same as in PL not (), and (), or
    (v), implies (gt), if and only if (ltgt)
  • Quantifiers Universal (A) and Existential (E)

4
Quantifiers
  • Universal quantification.
  • E.g., (Ax) dolphin(x) gt mammal(x)
  • Existential quantification.
  • E.g., (Ex) mammal(x) lays-eggs(x)
  • Universal quantifiers are usually used with
    "implies" to form "if-then rules."
  • E.g., (Ax) cs-student(x) gt smart(x) means "All
    cs students are smart."
  • You rarely use universal quantification to make
    blanket statements about every individual in the
    world (Ax)cs-student(x) smart(x) meaning that
    everyone in the world is a cs student and is
    smart.

5
Quantifiers
  • Existential quantifiers are usually used with
    "and" to specify a list of properties or facts
    about an individual.
  • E.g., (Ex) cs-student(x) smart(x) means "there
    is a cs student who is smart."
  • A common mistake is to represent this English
    sentence as the FOL sentence
  • (Ex) cs-student(x) gt smart(x)

6
First-Order Logic (FOL) Syntax
  • Sentences are built up of terms and atoms
  • A term (denoting a real-world object) is a
    constant symbol, a variable symbol, or a function
    e.g. left-leg-of ( ). For example, x and f(x1,
    ..., xn) are terms, where each xi is a term.
  • An atom (which has value true or false) is either
    an n-place predicate of n terms, or, if P and Q
    are atoms, then P, P V Q, P Q, P gt Q, P ltgt Q
    are atoms
  • A sentence is an atom, or, if P is a sentence and
    x is a variable, then (Ax)P and (Ex)P are
    sentences
  • A well-formed formula (wff) is a sentence
    containing no "free" variables. I.e., all
    variables are "bound" by universal or existential
    quantifiers.
  • E.g., (Ax)P(x,y) has x bound as a universally
    quantified variable, but y is free.

7
Translating English to FOL
  • Every gardener likes the sun.(Ax) gardener(x) gt
    likes(x,Sun)
  • You can fool some of the people all of the
    time.(Ex)(At) (person(x) time(t)) gt
    can-fool(x,t)
  • You can fool all of the people some of the
    time.(Ax)(Et) (person(x) time(t) gt
    can-fool(x,t)
  • All purple mushrooms are poisonous.(Ax)
    (mushroom(x) purple(x)) gt poisonous(x)

8
Translating English to FOL
  • No purple mushroom is poisonous.(Ex) purple(x)
    mushroom(x) poisonous(x) or,
    equivalently,(Ax) (mushroom(x) purple(x)) gt
    poisonous(x)
  • Deb is not tall.tall(Deb)
  • X is above Y if X is on directly on top of Y or
    else there is a pile of one or more other objects
    directly on top of one another starting with X
    and ending with Y.(Ax)(Ay) above(x,y) ltgt
    (on(x,y) v (Ez) (on(x,z) above(z,y)))

9
Inference Rules for FOL
  • Inference rules for PL apply to FOL as well. For
    example, Modus Ponens, And-Introduction,
    And-Elimination, etc.
  • New sound inference rules for use with
    quantifiers
  • Universal EliminationIf (Ax)P(x) is true, then
    P(c) is true, where c is a constant in the domain
    of x. For example, from (Ax)eats(Ziggy, x) we can
    infer eats(Ziggy, IceCream).
  • The variable symbol can be replaced by any ground
    term, i.e., any constant symbol or function
    symbol applied to ground terms only.
  • Existential IntroductionIf P(c) is true, then
    (Ex)P(x) is inferred.
  • For example, from eats(Ziggy, IceCream) we can
    infer (Ex)eats(Ziggy, x).
  • All instances of the given constant symbol are
    replaced by the new variable symbol. Note that
    the variable symbol cannot already exist anywhere
    in the expression.
  • Existential EliminationFrom (Ex)P(x) infer P(c).
  • For example, from (Ex)eats(Ziggy, x) infer
    eats(Ziggy, Cheese).
  • Note that the variable is replaced by a brand new
    constant that does not occur in this or any other
    sentence in the Knowledge Base. In other words,
    we don't want to accidentally draw other
    inferences about it by introducing the constant.
    All we know is there must be some constant that
    makes this true, so we can introduce a brand new
    one to stand in for that (unknown) constant.

10
Inference Rules for FOL
  • Inference rules for PL apply to FOL as well. For
    example, Modus Ponens, And-Introduction,
    And-Elimination, etc.
  • Generalized Modus Ponens (GMP)
  • Combines And-Introduction, Universal-Elimination,
    and Modus Ponens
  • E.g. from P(c), Q(c), and (Ax)(P(x) Q(x)) gt
    R(x), derive R(c)
  • A substitution list Theta v1/t1, v2/t2, ...,
    vn/tn means to replace all occurrences of
    variable symbol vi by term ti.
  • Substitutions are made in left-to-right order in
    the list.
  • E.g. subst(x/IceCream, y/Ziggy, eats(y,x))
    eats(Ziggy, IceCream)

11
Incompleteness of the generalized modus ponens
inference rule
?x P(x) gt Q(x) ?x ?P(x) gt Q(x) ?x Q(x) gt
S(x) ?x R(x) gt S(x)
? Cannot be converted to Horn
Want to conclude S(A)
S(A) is true if Q(A) or R(A) is true, and one of
those must be true because either P(A) or ?P(A)
12
Generalized Modus Ponens in Horn FOL
  • Generalized Modus Ponens (GMP) is complete for
    KBs containing only Horn clauses
  • A Horn clause is a sentence of the form(Ax)
    (P1(x) P2(x) ... Pn(x)) gt Q(x)where there
    are 0 or more Pi's, and the Pi's and Q are
    positive (i.e., un-negated) literals
  • For example, P(a) v Q(a) is a sentence in FOL but
    is not a Horn clause.

13
Forward Chaining
  • Natural deduction using GMP is complete for KBs
    containing only Horn clauses.
  • Proofs start with the given axioms in KB,
    deriving new sentences using GMP until the
    goal/query sentence is derived.
  • This defines a forward chaining inference
    procedure because it moves "forward" from the KB
    to the goal.

14
Example of forward chaining
  • Example KB All cats like fish, cats eat
    everything they like, and Ziggy is a cat. In FOL,
    KB
  • (Ax) cat(x) gt likes(x, Fish)
  • (Ax)(Ay) (cat(x) likes(x,y)) gt eats(x,y)
  • cat(Ziggy)
  • Goal query Does Ziggy eat fish?
  • Proof Data-driven
  • Use GMP with (1) and (3) to derive 4.
    likes(Ziggy, Fish)
  • Use GMP with (3), (4) and (2) to derive
    eats(Ziggy, Fish)
  • So, Yes, Ziggy eats fish.

15
Backward Chaining
  • Natural deduction using GMP is complete for KBs
    containing only Horn clauses.
  • Proofs start with the goal query, find
    implications that would allow you to prove it,
    and then prove each of the antecedents in the
    implication, continuing to work "backwards" until
    we get to the axioms, which we know are true.

16
Backward chaining
  • Example Does Ziggy eat fish?
  • To prove eats(Ziggy, Fish), first see if this is
    known from one of the axioms directly. Here it is
    not known, so see if there is a Horn clause that
    has the consequent (i.e., right-hand side) of the
    implication matching the goal.
  • Proof Goal Driven
  • Goal matches RHS of Horn clause (2), so try and
    prove new sub-goals cat(Ziggy) and likes(Ziggy,
    Fish) that correspond to the LHS of (2)
  • cat(Ziggy) matches axiom (3), so we've "solved"
    that sub-goal
  • likes(Ziggy, Fish) matches the RHS of (1), so try
    and prove cat(Ziggy)
  • cat(Ziggy) matches (as it did earlier) axiom (3),
    so we've solved this sub-goal
  • There are no unsolved sub-goals, so we're done.
    Yes, Ziggy eats fish.
Write a Comment
User Comments (0)
About PowerShow.com