First-Order Logic

First-Order Logic
Chapter 8
Fall 2009
Copyright, 1996 © Dale Carnegie & Associates, Inc.
Why and what
FOL makes a stronger set of ontological
commitments (more than facts) shown in Fig 8.1
The world consists of objects and relations.




Objects - things with individual identities
Properties - sth distinguishing them from others
Relations - sth between objects
Functions - special relations with one value
Facts refer to objects, properties or relations


Suns beat Lakers
Squares neighboring the wumpus are smelly
CSE 471/598 by H. Liu
2
FOL
FOL is universal - it can express
anything that can be programmed
- what else do we want?
FOL is the most studied and best
understood scheme yet devised.
Its syntax and semantics
CSE 471/598 by H. Liu
3
Domain and domain elements
CSE 471/598 by H. Liu
4
Syntax
Symbols



(Fig 8.3, BNF, Page 247)
Constant symbols
Predicate symbols - relations, tuples
Functional symbols - relations
Terms - objects, ground (constant symbols) &
complex (functions) terms
Atomic sentences

Brother(Richard, John),
Married(Father(Richard),Mother(John))
Complex sentences formed by connectives

!Brother(Robin,John)
CSE 471/598 by H. Liu
5
Quantifiers
Universal quantification () - to avoid
enumerating the objects by name
combining with variables, we can do that:
x Cat(x)  Mammal(x)
 x P(x)  Q(x) makes a statement about
everything if P(x) is true, but not when
P(x) is false
 x P(x) ^ Q(x) leads to a too strong
statement

 x King(x) ^ Person(x)
CSE 471/598 by H. Liu
6
Existential quantification () - make a
statement about some object without
naming it.



x P(x) ^ Q(x) - at least one x such that
P(x) and Q(x) is true
 x P(x)  Q(x) leads to a too weak
statement
No uniqueness is claimed
 is used with , and ^ with 
CSE 471/598 by H. Liu
7
Nested quantifiers
Multiple quantifiers can be used.
The order of quantification is important.


x y Loves (y,x)
y x Loves (y,x)
When there is confusion, the variable belongs
to the innermost quantifier that mentions it.

x [Cat(x) v (x Brother(Richard,x))]
Well-formed formula (wff) - sentences that
have all their variables properly introduced.
CSE 471/598 by H. Liu
8
Connections, Equality
The two quantifiers are connected via
negation.

De Morgan’s rules
Do we really need both quantifiers?

Some examples
x Likes(x, Icecream) ≡ !x !Likes(x, Icecream)
! x P ≡ x !P
Equality symbol: two terms refer the same
object or not the same object

Some examples (x = y, !(x = y))
CSE 471/598 by H. Liu
9
Using FOL
Domain – some part of the world

The kinship domain (P 254)
 Parent, Sibling, Brother, Sister, Child, Daughter, Son, …
Axioms - basic facts


One’s mother is one’s female parent
One’s husband is one’s male spouse
Definitions - concepts defined by axioms

x,y P(x,y)  …
Theorems - that are proved using axioms and definitions,
or entailed by axioms

x,y Sibling(x,y)  Sibling(y,x), as it can be derived from the
definition of Sibling(x,y)
Two important questions in building a KB


Are axioms in the KB sufficient?
Are all axioms in the KB necessary?
CSE 471/598 by H. Liu
10
What should be in a KB


From a purely logical point of view, …
From a practical point of view, …
Adding sentences (assertions) to a KB


Tell(KB, King(John))
Tell(KB, x King(x)  Person(x))
Asking questions (queries) and getting
answers


Ask(KB, King(John)) - True
Ask(KB, x Child(x,Spot)) – substitution x/Wonder
CSE 471/598 by H. Liu
11
The domain of sets and lists in FOL
EpmtySet – constant {}
Member , Subset - predicates
Intersection, Union, Adjoin - functions
Eight axioms of sets (page 257):
1.
the only sets are EmptySet and those made
by adjoining something to a set {x|s2}
where Set(s2).
The differences between lists and sets

Order and repetition of an element
CSE 471/598 by H. Liu
12
Logical agents for Wumpus
Reflex agents classify percepts and act
Model-based agents have an internal
representation
Goal-based agents form goals and achieve
them
The first-order axioms are much more concise
than propositional logic axioms
CSE 471/598 by H. Liu
13
Constructing a W-logical agent
Define the interface (percepts) between the
environment and the agent

Including time using a time stamp
 Percept([Stench, Breeze,Glitter, None,None], 5)
Define actions

Actions: Turn(Right), Forward, Shoot, Grab, Release, Climb
Provide an action: a BestAction(a, 5) - a/Grab
Modify the environment


t,s,b,m,c Percept([s,b,Glitter,m,c],t)Glitter(t)
t Glitter(t)  BestAction(Grab,t)
 This implements a simple reflex behavior
Define adjacency of any two squares (x, y) and (a, b)

x,y,a,b Adjacent([x,y],[a,b])  [a,b] is in …
CSE 471/598 by H. Liu
14
Deducing hidden properties
Two major types of rules: causal and diagnostic
Causal rules specify the assumed direction of
causality - model-based reasoning


Squares adjacent to pits are breezy
A pit causes …
Diagnostic rules infer hidden properties from the
percept-derived information


If a location is smelly, the wumpus must either be in
that location or in an adjacent location
If there is breeze, …
CSE 471/598 by H. Liu
15
Representing change
Storing a complete percept sequence is
tedious and inefficient to search for actions
An internal model allows an agent to know its
current status

having gold and at home square
Representing change is one of the most
important tasks in knowledge representation

How to represent change?
CSE 471/598 by H. Liu
16
Ways of representing change
The latest case only, forget about the past
= having a shallow memory and no history
= repeating errors
Situation calculus (Chapter 10.3)


A particular way of describing change in FOL
representing situations and actions as representing
objects
 Fluents are functions and predicates that vary from
one situation to the next

E.g., location, aliveness
CSE 471/598 by H. Liu
17
Situation calculus
Each situation is a
snapshot of the state

Situations are generated
from previous situations by
actions (Fig 10.2, p329)
Give an extra situation
argument for every
relation/property that can
change over time

it’s always the last one
argument
 At(Agent,[1,1],S0)^
At(Agent,[1,2],S1)

using Result(action,
situation)
 Result(Forward, S2) = S3
CSE 471/598 by H. Liu
18
Special axioms
Effect axioms - actions are described by
stating their effects


Holding-gold via Grab, !Holing-gold via Release
Are the above enough?
Frame axioms - describing how the world
stays the same


Holding-sth not releasing it, then holding it next
state
!Holding-sth not (grab or present or portable)
The two types of axioms together describe the world in
change.
CSE 471/598 by H. Liu
19
Successor-state (SS) axioms - resulting from
the combining of the E- and F- axioms



true afterwards  [an action made it true v
true already and no action made it false]
One SS axiom is needed for each predicate
changing with time
A Successor-State axiom must list all the ways in
which the predicate can become true or false
CSE 471/598 by H. Liu
20
Keep track of location
What direction an agent is facing

Orientation(Agent,S0) = 0
How locations are arranged (via a map)



x,y LocationToward([x,y],90)=[x,y+1]
Location l ahead of agent p: p,l,s At(p,l,s) 
x,y Adjacent(x,y)  d x=LocationToward(y,d)
What’s known about the map

x,y Wall([x,y])  (x=0 or x=5 or y=0 or y=5)
CSE 471/598 by H. Liu
21
What actions change locations

Going forward changes location
What actions change orientations

Turning changes orientation
There are still many research issues:
frame problems - the property remains unchanged
qualification problem - an action guaranteed to work, the
impossibility to list all the preconditions
ramification problem - implicit consequences of an action
CSE 471/598 by H. Liu
22
Which action
Different actions can achieve the same goal
depending on constraints
Separating facts about actions from facts
about goals as goals describe the desirability
of outcome states

desirability scale: great, good, medium,risky,
deadly
Defining the desirability of actions, leaving
the inference to choose an action that has
the highest desirability
CSE 471/598 by H. Liu
23
A goal-based agent
Certain actions lead to radical policy
change: getting the gold -> returning

s Holding(Gold,s)  GoalLocation([1,1],s)
Explicit goals allow many ways to work out
a sequence of actions



Inference
Search
Planning
CSE 471/598 by H. Liu
24
Summary
FOL is a general-purpose representation
language based on objects and relations
BNF of FOL
A logical agent using FOL
Situation calculus to handle changes
Causal rules are often more flexible and entail
a wider range of consequences
We’re now ready to infer in FOL ...
CSE 471/598 by H. Liu
25