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
connectives:
...and [conjunction]
...or [disjunction]
...implies [implication / conditional]
..is equivalent [biconditional]
...not [negation]
Literal: atomic sentence or negated
atomic sentence

2
Syntax of FOL: Basic
elements
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
definitions
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
5
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
False).
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
raining.
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.
7
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
objects
Relations that hold among sets of objects
Functions, which are a subset of relations where there is
only one value for any given input
Examples:
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 ...

9
User provides

Constant symbols, which represent individuals in the


world
Mary
3
Green
Function symbols, which map individuals to individuals
father-of(Mary) = John
color-of(Sky) = Blue
Predicate symbols, which map individuals to truth
values
greater(5,3)
green(Grass)
color(Grass, Green)

10
FOL Provides

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

11
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
BELIEF
Syntax of FOL: Basic
elements
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),...
Relations
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),
LargerThan(3,2).

Some relations are functions: their value


is another object: Plus(2,3), Father(Dan).
Models for FOL: Graphical
Example
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

Registration
RA Grad Satisfacti
s-id p-id Salary Capability s-id c.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
16
Atomic Sentences

Atomic sentences state facts using terms and predicate symbols


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

Examples:
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

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

binary function
relation

objects

connectives
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)


Variables
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,
etc.
E.g., can state rules like Person(x) =>
HasHead(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

Examples:

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
Quantifiers
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).
Exercise
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, )
TELL(KB, King(John) )

These sentences are assertions

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

these are queries or goals

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


{x/John,x/Richard,...}
Knowledge engineering in
FOL
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.

9.
10.
11.
12.
Example: A simple genealogy KB by FOL

Build a small genealogy knowledge base using


FOL that
contains facts of immediate family relations (spouses, parents,
etc.)
contains definitions of more complex relations (ancestors,
relatives)
is able to answer queries about relationships between people
Predicates:
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)
Facts:
husband(Joe, Mary), son(Fred, Joe)
spouse(John, Nancy), male(John), son(Mark, Nancy)
father(Jack, Nancy), daughter(Linda, Jack)
daughter(Liz, Linda)
35
etc.
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)
Queries
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)

36
Summary
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,
quantifiers
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.