You are on page 1of 36

Knowledge Representation

using First-Order Logic

Propositional logic
Logical constants: true, false
Propositional symbols: P, Q, S, ...
(atomic sentences)
Wrapping parentheses: ( )
Sentences are combined by
...and [conjunction]
...or [disjunction]
...implies [implication / conditional] equivalent [biconditional]
...not [negation]
Literal: atomic sentence or negated
atomic sentence

Syntax of FOL: Basic
Constants KingJohn, 2, UCI,...

Predicates Brother, >,...

Functions Sqrt, LeftLegOf,...

Variables x, y, a, b,...

Connectives , , , ,

Equality =

Quantifiers ,
Propositional logic (PL)
A simple language useful for showing key ideas and
User defines a set of propositional symbols, like P and Q.
User defines the semantics of each propositional symbol:
P means It is hot
Q means It is humid
R means It is raining
A sentence (well formed formula) is defined as follows:
A symbol is a sentence
If S is a sentence, then S is a sentence
If S is a sentence, then (S) is a sentence
If S and T are sentences, then (S T), (S T), (S T), and (S T)
are sentences
A sentence results from a finite number of applications of the
above rules
Some terms

The meaning or semantics of a

sentence determines its interpretation.
Given the truth values of all symbols in a
sentence, it can be evaluated to
determine its truth value (True or
A model for a KB is a possible world
(assignment of truth values to
propositional symbols) in which each
sentence in the KB is True. 6
More terms
A valid sentence or tautology is a sentence
that is True under all interpretations, no
matter what the world is actually like or what
the semantics is. Example: Its raining or its
not raining.
An inconsistent sentence or contradiction
is a sentence that is False under all
interpretations. The world is never like what it
describes, as in Its raining and its not
P entails Q, written P |= Q, means that
whenever P is True, so is Q. In other words, all
models of P are also models of Q.
Limitations of propositional logic

Propositional logic has limited

expressive power
unlike natural language
E.g., cannot say "pits cause
breezes in adjacent squares
except by writing one sentence
for each square
First-order logic
First-order logic (FOL) models the world in terms of
Objects, which are things with individual identities
Properties of objects that distinguish them from other
Relations that hold among sets of objects
Functions, which are a subset of relations where there is
only one value for any given input
Objects: Students, lectures, companies, cars ...
Relations: Brother-of, bigger-than, outside, part-of, has-
color, occurs-after, owns, visits, precedes, ...
Properties: blue, oval, even, large, ...
Functions: father-of, best-friend, second-half, one-more-
than ...

User provides

Constant symbols, which represent individuals in the

Function symbols, which map individuals to individuals
father-of(Mary) = John
color-of(Sky) = Blue
Predicate symbols, which map individuals to truth
color(Grass, Green)

FOL Provides

Variable symbols
E.g., x, y, foo
Same as in PL: not (), and (), or (),
implies (), if and only if (biconditional )
Universal x or (Ax)
Existential x or (Ex)

Logics in General
Ontological Commitment:
What exists in the world TRUTH
PL : facts hold or do not hold.
FOL : objects with relations between
them that hold or do not hold

Epistemological Commitment:
What an agent believes about facts
Syntax of FOL: Basic
Constant Symbols:
Stand for objects
e.g., KingJohn, 2, UCI,...

Predicate Symbols
Stand for relations
E.g., Brother(Richard, John), greater_than(3,2)...

Function Symbols
Stand for functions
E.g., Sqrt(3), LeftLegOf(John),...
Some relations are properties: they state
some fact about a single object:
Round(ball), Prime(7).

n-ary relations state facts about two or

more objects: Married(John,Mary),

Some relations are functions: their value

is another object: Plus(2,3), Father(Dan).
Models for FOL: Graphical
Tabular Representation

A FOL model is basically equivalent to a relational database instance.

Historically, the relational data model comes from FOL.

Student Professor
Intellige Course Populari Teaching-
s-id nce Ranking c-id Rating Difficulty p-id ty a
Jack 3 1 101 3 1 Oliv
Kim 2 1 er 3 1
Paul 1 2 102 2 2 Jim 2 1

RA Grad Satisfacti
s-id p-id Salary Capability s-id e on
Jack Oliver High 3 Jack 101 A 1
Jack 102 B 2
Kim Oliver Low 1 Kim 102 A 1
Paul Jim Med 2 Pau
l 101 B 1
Atomic Sentences

Atomic sentences state facts using terms and predicate symbols

P(x,y) interpreted as x is P of y

LargerThan(2,3) is false.
Brother_of(Mary,Pete) is false.
Married(Father(Richard), Mother(John)) could be true or false

Note: Functions do not state facts and form no sentence:

Brother(Pete) refers to John (his brother) and is neither true nor false.

Brother_of(Pete,Brother(Pete)) is True.

Binary relation Function

Complex Sentences
We make complex sentences with
connectives (just like in propositional property

Brother (LeftLeg (Richard ), John ) (Democrat (Bush ))

binary function


More Examples
Brother(Richard, John) Brother(John, Richard)

King(Richard) King(John)

King(John) => King(Richard)

LessThan(Plus(1,2) ,4) GreaterThan(1,2)

(Semantics are the same as in propositional logic)

Person(John) is true or false because we
give it a single argument John

We can be much more flexible if we allow

variables which can take on values in a
domain. e.g., all persons x, all integers i,
E.g., can state rules like Person(x) =>
or Integer(i) => Integer(plus(i,1)
Universal Quantification
means for all

Allows us to make statements about all objects that have certain properties

Can now state general rules:

x King(x) => Person(x)

x Person(x) => HasHead(x)

i Integer(i) => Integer(plus(i,1))

Note that
x King(x) Person(x) is not correct!
This would imply that all objects x are Kings and are People

x King(x) => Person(x) is the correct way to say

Existential Quantification

x means there exists an x such that. (at least one object x)

Allows us to make statements about some object without naming it


x King(x)

x Lives_in(John, Castle(x))

i Integer(i) GreaterThan(i,0)

Note that is the natural connective to use with

(And => is the natural connective to use with )
More examples
For all real x, x>2 implies x>3.

x [(x 2) (x 3)] x R (false )

x [(x 2 1)] x R (false )

There exists some real x whose square is minus 1.

Combining Quantifiers
x y Loves(x,y)
For everyone (all x) there is someone
(y) that they love.

y x Loves(x,y)
- there is someone (y) who is loved by everyone

Clearer with parentheses: y(x Loves(x,y) )

Duality: Connections between
Asserting that all x have property P is the same as
asserting that
there does not exist any x that doest have the
property P

x Likes(x, 271 class) x Likes(x, 271 class)

In effect:
- is a conjunction over the universe of objects
- is a disjunction over the universe of objects
Thus, DeMorgans rules can be applied
De Morgans Law for Quantifiers

De Morgans Rule Generalized De Morgans Rule

P Q (P Q ) x P x (P )
P Q (P Q ) x P x (P )
(P Q ) P Q x P x (P )
(P Q ) P Q x P x (P )

Rule is simple: if you bring a negation inside a disjunction or a conjunction,

always switch between them (or and, and or).
Formalize the sentence
Jack has reserved all red boats.
Apply De Morgans duality laws to
this sentence.
Using FOL
We want to TELL things to the KB, e.g.
x , King (x ) Person (x )
TELL(KB, King(John) )

These sentences are assertions

x , Person
We also want (x )things to the KB,
to ASK

these are queries or goals

The KB should output x where Person(x) is true:

Knowledge engineering in
1. Identify the task

2. Assemble the relevant knowledge

3. Decide on a vocabulary of predicates, functions, and constants

4. Encode general knowledge about the domain

5. Encode a description of the specific problem instance

6. Pose queries to the inference procedure and get answers

7. Debug the knowledge base.

8. See text for full example: electric circuit knowledge base.

Example: A simple genealogy KB by FOL

Build a small genealogy knowledge base using

FOL that
contains facts of immediate family relations (spouses, parents,
contains definitions of more complex relations (ancestors,
is able to answer queries about relationships between people
parent(x, y), child(x, y), father(x, y), daughter(x, y), etc.
spouse(x, y), husband(x, y), wife(x,y)
ancestor(x, y), descendant(x, y)
male(x), female(y)
relative(x, y)
husband(Joe, Mary), son(Fred, Joe)
spouse(John, Nancy), male(John), son(Mark, Nancy)
father(Jack, Nancy), daughter(Linda, Jack)
daughter(Liz, Linda)
Rules for genealogical relations

(x,y) parent(x, y) child (y, x)

(x,y) father(x, y) parent(x, y) male(x) (similarly for mother(x, y))
(x,y) daughter(x, y) child(x, y) female(x) (similarly for son(x, y))
(x,y) husband(x, y) spouse(x, y) male(x) (similarly for wife(x, y))
(x,y) spouse(x, y) spouse(y, x) (spouse relation is symmetric)
(x,y) parent(x, y) ancestor(x, y)
(x,y)(z) parent(x, z) ancestor(z, y) ancestor(x, y)
(x,y) descendant(x, y) ancestor(y, x)
(x,y)(z) ancestor(z, x) ancestor(z, y) relative(x, y)
(related by common ancestry)
(x,y) spouse(x, y) relative(x, y) (related by marriage)
(x,y)(z) relative(z, x) relative(z, y) relative(x, y) (transitive)
(x,y) relative(x, y) relative(y, x) (symmetric)
ancestor(Jack, Fred) /* the answer is yes */
relative(Liz, Joe) /* the answer is yes */
relative(Nancy, Matthew)
/* no answer in general, no if under closed world assumption */
(z) ancestor(z, Fred) ancestor(z, Liz)

First-order logic:
Much more expressive than propositional logic
Allows objects and relations as semantic primitives
Universal and existential quantifiers
syntax: constants, functions, predicates, equality,
Knowledge engineering using FOL
Capturing domain knowledge in logical form

Inference and reasoning in FOL

Next lecture.

FOL is more expressive but harder to reason with:

Undecidable, Turing-complete.