0% found this document useful (0 votes)
26 views40 pages

Understanding First-Order Logic Concepts

The document provides an overview of First-Order Logic (FOL), detailing its syntax, semantics, and applications in knowledge engineering. It highlights the advantages of FOL over propositional logic, including its ability to represent objects, relations, and functions more expressively. Additionally, it discusses quantifiers, truth in models, and how FOL can be used to interact with knowledge bases in various domains.

Uploaded by

anshikam220
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)
26 views40 pages

Understanding First-Order Logic Concepts

The document provides an overview of First-Order Logic (FOL), detailing its syntax, semantics, and applications in knowledge engineering. It highlights the advantages of FOL over propositional logic, including its ability to represent objects, relations, and functions more expressively. Additionally, it discusses quantifiers, truth in models, and how FOL can be used to interact with knowledge bases in various domains.

Uploaded by

anshikam220
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

First-Order Logic

By
Lecture Delivered on:
19/10/2021
Manish Kumar Sharma
Assistant Professor

1of 40
Contents
• More on Representation
• Syntax and Semantics of First-Order Logic
• Using First Order Logic
• Knowledge Engineering in First-Order
Logic

2of 40
First-Order Logic
• AKA First-Order Predicate Logic
• AKA First-Order Predicate Calculus

• Much more powerful the propositional (Boolean)


logic
– Greater expressive power than propositional logic
• We no longer need a separate rule for each square to say
which other squares are breezy/pits
– Allows for facts, objects, and relations
• In programming terms, allows classes, functions and
variables

3of 40
Pros and Cons of Propositional
Logic
• + Propositional logic is declarative: pieces of syntax
correspond to facts
• + Propositional logic allows for partial / disjunctive /
negated information (unlike most data structures and DB
• + Propositional logic is compositional: the meaning of
B11 ^ P12 is derived from the meaning of B11 and P12
• + Meaning of propositional logic is context independent:
(unlike natural language, where the meaning depends
on the 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
4of 40
Pros of First-Order Logic
• First-Order Logic assumes that the world
contains:
– Objects
• E.g. people, houses, numbers, theories, colors, football
games, wars, centuries, …
– Relations
• E.g. red, round, prime, bogus, multistoried, brother of,
bigger than, inside, part of, has color, occurred after, owns,
comes between, …
– Functions
• E.g. father of, best friend, third quarter of, one more than,
beginning of, …

5of 40
Logics in General
Language Ontological Epistemological
Commitment Commitment
Propositional Logic Facts True / False /
Unknown
First-Order Logic Fact, objects, relations True / False /
Unknown
Temporal Logic Facts, objects, True / False /
relations, times Unknown
Probability Theory Facts Degree of belief
[0,1]
Fuzzy Logic Degree of truth Known interval value
[0,1]

6of 40
Syntax of First-Order Logic
• Constants KingJohn, 2, …
• Predicates Brother, >, … Sqrt,
• Functions LeftArmOf, … x, y, a,
• Variables b, …
• Connectives ¬
• Equality =
• Quantifiers $"

7of 40
Components of First-Order Logic
• Term
– Constant, e.g. Red
– Function of constant, e.g. Color(Block1)

• Atomic Sentence
– Predicate relating objects (no variable)
• Brother (John, Richard)
• Married (Mother(John), Father(John))

• Complex Sentences
– Atomic sentences + logical connectives
• Brother (John, Richard) Brother (John, Father(John))

8of 40
Components of First-Order Logic
• Quantifiers
– Each quantifier defines a variable for the duration of
the following expression, and indicates the truth of
the expression…

• Universal quantifier “for all” "


– The expression is true for every possible value of the
variable

• Existential quantifier “there exists” $


– The expression is true for at least one value of the
variable

9of 40
Truth in First-Order Logic
• Sentences are true with respect to a model and an
interpretation
• Model contains >= 1 object (domain elements) and
relations among them
• Interpretation specifies referents for
– constant symbols -> objects
– predicate symbols -> relations
– function symbols -> functional relations

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


the objects referred to by term1,…,termn are in the
relation referred to by predicate

10of 40
First-Order Logic Example

11of 40
Universal Quantification
• " <variables> <sentence>
• " x P is true in a model m iff P with x being
each possible object in the model

• Equivalent to the conjunction of instantiations of


P
– At(Mike, KSU) Smart(Mike)
– At(Laurie, KSU) Smart(Laurie)
– At(Sarah, KSU) Smart(Sarah)
– …

12of 40
A Common Mistake to Avoid
• Typically is the main connective with "

• Common mistake: using as the main


connective with "

• " x At(x, KSU) Smart(x)

13of 40
Existential Quantification
• $ <variables> <sentence>
• $ x P is true in a model m iff P with x being at
least one possible object in the model

• Equivalent to the disjunction of instantiations of


P
– At(Mike, KSU) Smart(Mike)
– At(Laurie, KSU) Smart(Laurie)
– At(Sarah, KSU) Smart(Sarah)
– …

14of 40
Another Common Mistake to Avoid
• Typically, is the main connective with $

• Common mistake: using as the main


connective with $

• $ x At(x, KSU) Smart(x)

15of 40
Examples
• Everyone likes McDonalds
– "x, likes(x, McDonalds)

• Someone likes McDonalds


– $x, likes(x, McDonalds)

• All children like McDonalds


– "x, child(x) likes(x, McDonalds)

• Everyone likes McDonalds unless they are allergic to it


– "x, likes(x, McDonalds) allergic(x, McDonalds)
– "x, allergic (x, McDonalds) likes(x, McDonalds)

16of 40
Properties of Quantifiers
• " x " y is the same as " y " x
• $x $y is the same as $y $x
• $x " y is not the same as " y $x
– $x " y Loves(x, y)
• “There is a person who loves everyone in the
world”
– " y $x Loves(x, y)
• “Everyone in the world is loved by at least one
person”

17of 40
Nesting Quantifiers
• Everyone likes some kind of food
" y $x, food(x) likes(y, x)
• There is a kind of food that everyone likes
$x "y, food(x) likes(y, x)
• Someone likes all kinds of food
$y "x, food(x) likes(y, x)
• Every food has someone who likes it
" x $y, food(x) likes(y, x)
18of 40
Examples
• Quantifier Duality
– Not everyone like McDonalds
("x, likes(x, McDonalds))
$x, likes(x, McDonalds)

– No one likes McDonalds


($x, likes(x, McDonalds))
"x, likes(x, McDonalds)

19of 40
Fun with Sentences
• Brothers are siblings
"x,y Brother(x,y) Sibling(x, y)

• Sibling is “symmetric”
"x,y Sibling(x,y) Sibling(y, x)

20of 40
Fun with Sentences
• One’s mother is one’s female parent
"x,y Mother(x,y) (Female(x) Parent(x,y))

• A first cousin is a child of a parent’s sibling


"x,y FirstCousin(x,y) $p,ps Parent(p,x)
Sibling(ps,p) (Parent(ps,y)

21of 40
Other Comments About
Quantification
• To say “everyone likes McDonalds”, the following is too
broad!
– "x, likes(x, McDonalds)
– Rush’s example: likes (McDonalds, McDonalds)

• We mean: Every one (who is a human) likes McDonalds


– "x, person(x) likes(x, McDonalds)

• Essentially, the left side of the rule declares the class of


the variable x

• Constraints like this are often called “domain constraints”


22of 40
Equality
• We allow the usual infix = operator
– Father(John) = Henry
– "x, sibling(x, y) (x=y)

• Generally, we also allow mathematical


operations when needed, e.g.
– "x,y, NatNum(x) NatNum(y) x = (y+1) x>y

• Example: (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)]
23of 40
Example Domains
• Kinship domain
– What is a second cousin once removed, anyway?
• Numbers, sets, and lists
– This one is a classic. You should understand these, even if you
don’t memorize them.
• The Wumpus World
– Note how much simpler the description is in FOL!
• “Whatever your domain, if the axioms correctly and
completely describe how the world works, any complete
logical inference procedure will infer the strongest
possible description of the world, given the available
percepts” (AIMA, p. 260)

24of 40
Interacting with FOL KBs
• Tell the system assertions
– Facts :
• Tell (KB, person (John) )
– Rules:
• Tell (KB,"x, person(x) likes(x, McDonalds))
• Ask questions
– Ask (KB, person(John))
– Ask (KB, likes(John, McDonalds))
– Ask (KB, likes(x, McDonalds))

25of 40
Types of Answers
• Fact is in the KB
– Yes.
• Fact is not in the KB
– Yes (if it can be proven from the KB)
– No (otherwise)
• Fact contains variables
– List of bindings for which the fact can be
proven, e.g. ((x Fred) (x Mary) … )

26of 40
Interacting with FOL KBs
• Suppose a wumpus-world agent is using a FOL
KB and perceive a smell and breeze (but no
glitter) at t=5

• TELL(KB, Percept([Smell, Breeze, None],5))


• ASK(KB, $a Action(a, 5))
– i.e. does the KB entail any particular action at t=5?

• Answer: Yes, {a/Shoot} <- substitution


(binding list)
27of 40
Interacting with FOL KBs
• Given a Sentence S and a substitution s,

• Ss denotes the result of plugging s in to S;

• Example:
– S = Taller( x, y )
– s = {x/Mike, y/Laurie}
– Ss = Taller( Mike, Laurie )

• ASK(KB,S) returns some/all s such that KB |=Ss


28of 40
Knowledge Base for Wumpus World
• “Perception”
" b, g, t Percept([Smell, b, g], t) Smelt(t)
" s, b, t Percept([s, b, Glitter], t) AtGold(t)

• “Reflex”
– " t AtGold(t) Action(Grab, t)
• “Reflex with internal state”
– " t AtGold(t) ¬Holding(Gold, t) Action(Grab, t)

• Holding( Gold, t ) cannot be observed


– Keeping track of change is essential!!!!

29of 40
Deducing Hidden Properties
• Properties of locations:
"x, t At(Agent, x, t) Smelt(t) Smelly(t)
"x, t At(Agent, x, t) Breeze(t) Breezy(t)

• Squares are breezy near a pit:


– Diagnostic Rule – infer cause from effect
• " y Breezy(y) $x Pit(x) Adjacent( x, y )
– Causal Rule – infer effect from cause
• "x,y Pit(x) Adjacent(x,y) Breezy(x,y)

• Neither is complete
– E.g. the causal rule doesn’t say whether squares far away from
pits can be breezy
30of 40
Deducing Hidden Properties
• Definition for the Breezy predicate:
– If a square is breezy, some adjacent square must
contain a pit
• " y Breezy(y) $x Pit(x) Adjacent( x, y )

– If a square is not breezy, no adjacent pit contains a


pit
• " y ¬Breezy(y) ¬$x Pit(x) Adjacent( x, y )

– Combining these two…


• yBreezy(y) xPit(x) Adjacent( x, y )

31of 40
Keeping Track of Change
• Often, facts hold in situations, rather than
eternally
– E.g. Holding( Gold, now ) rather than just
Holding( Gold )
• Situation calculus is one way to represent
change in FOL:
– Adds a situation argument to each non-
eternal predicate
• E.g. Now in Holding(Gold, Now) denotes a
situation

32of 40
Keeping Track of Change
• Situations are
connected by the
Result function
Result( a, s ) is the
situation that results
from doing a in s

33of 40
Describing Actions
• “Effect” axiom – describe changes due to
action
• “Frame” axiom – describe non-changes
due to action
• Frame problem:
– Find an elegant way to handle non-change
• (A) representation – avoid frame axioms
• (B) inference – avoid repeated “copy-overs” to
keep track of state
34of 40
Describing Actions
• “Effect” axiom – describe changes due to
action
• “Frame” axiom – describe non-changes
due to action
• Frame problem:
– Find an elegant way to handle non-change
• (A) representation – avoid frame axioms
• (B) inference – avoid repeated “copy-overs” to
keep track of state
35of 40
Describing Actions
• Qualification Problem:
– True descriptions of real actions require
endless caveats…
• “What if the gold is slippery or nailed down or…”

• Ramification Problem:
– Real actions have many secondary
consequences…
• “What about the dust on the gold, wear and tear
on gloves,…”

36of 40
Describing Actions
• Successor-state axioms solve the
representational frame problem

• Each axiom is “about” a predicate (not an action


per se)
– P true afterwards [ an action made P true P true
and no action made P false]

• Example: Holding the Gold:


"a,s Holding(Gold, Result(a,s)) [(a = Grab
AtGold(s)) (Holding(Gold,s) a ≠ Release)]

37of 40
Making Plans
• Initial condition in KB:
– At( Agent, [1,1], S0 )
– At( Gold, [1,2], S0 )

• Query:
– ASK( KB, s Holding( Gold, s ))
• i.e. in what situation will I be holding the gold?

• Answer:
– {s / Result(Grab , Result(Forward, S0))}
• i.e. go forward and then grab the gold
– This assumes that the agent is interested in plans starting at S0
and that S0 is the only situation described in the KB

38of 40
Making Plans
• A better way to make plans is to represent plans
as a sequence of actions [a1, a2, …, an]

• PlanResult( p, s ) is the result of executing p in s

• Then the query


– ASK( KB, $p Holding(Gold, PlanResult(p, S0)))
– has the solution {p / [Forward, Grab]}

39of 40
Making Plans
• Definition of PlanResult in terms of Result:
– " s PlanResult([], s) = s
– "a,p,s PlanResult([a|p],s) = PlanResult(p,
Result(a,s))

• Planning systems are special-purpose


reasoners designed to do this type of
inference more efficiently than a general
purpose reasoner

40of 40

You might also like