74.419 Artificial Intelligence 2005
- First-Order Predicate Logic First-Order Predicate Logic (FOL or FOPL),
also called First-Order Predicate Calculus
• Formal Language
• Semantics through Interpretation Function
• Axioms
• Inference System
FOPL
- Formal Language / Syntax -
Formal Language
A Formal Language is specified as L = (NT, T, P, S)
NT Set of Non-Terminal Symbols
T
Set of Terminal Symbols
P
Set of Production or Grammar Rules
S
Start Symbol (top-level node in syntax tree /
parse tree)
A formal language specifies the syntactically correct or
well-formed expressions of a language.
Terminals and Non-Terminals
NT Non-Terminals
wff (well-formed formula), atomic-formula;
Predicate, Term, Function, Constant,
Variable; Quantifier, Connective
T Terminals
Predicate (Symbols)
Function (Symbols)
Variables
Constants
Connectives
Negation Symbol
Quantifiers
Equality Symbol
Parentheses
Other Symbols
P, Q, married, ...,
f, g, father-of, ...
x, y, z, ...
Sally, block-1, c
, , ,
,
=
(,)
:
Domain
Specifc
General
Production / Grammar Rules
Non-terminal Rules
wff ::= atomic-formula | (wff) | wff |
wff Connective wff | Quantifier Variable: wff
atomic-formula ::= Predicate (Term, ...)* | Term = Term
Term ::= Function (Term, ...)* | Variable | Constant
Terminal Rules
Connective ::= | | |
Quantifier ::= |
*Note: n-ary functions and predicates go with n terms
Domain-Specific Terminal Rules
Terminal Rules for the specific Domain
Predicate ::= on(_,_) | near(_,_) | ...
Function ::= distance(_,_) | location(_) | ...
Variable ::= x | y | ...
Constant ::= Flakey | John-Bear | Karen | Alan-Alder |
The-File | Kurt
Quantifiers and Binding
A variable in a formula can be bound by a quantifier.
bound variable
x: married (Sally, x)
open formula:
a variable in the formula is not bound
by a quantifier
x: married (Sally, x) happy (y)
closed formula:
all variables in the formula are bound by
quantifiers:
x y: married (x, y)
Most authors regard quantified formulas only as wffs if
• all quantified variables appear in the formula.
Some authors regard quantified formulas only as wffs if
• all variables are bound by quantifiers.
FOPL
- Semantics / Interpretation -
Semantics - Overview
Define the Semantics of FOPL expressions (formulae):
1. Interpretation – Maps symbols of the formal
language (predicates, functions, variables, constants)
onto objects, relations, and functions of the “world”
(formally: Domain, relational Structure, or Universe)
2. Valuation - Assigns domain objects to variables*
3. Constructive Semantics – Determines the semantics
of complex expressions inductively, starting with basic
expressions
* The Valuation function can be used for describing value
assignments and constraints in case of nested quantifiers.
The Valuation function otherwise determines the satisfaction of a
formula only in case of open formulae.
Semantics – Domain, Interpretation I
Domain, relational Structure, Universe
D
finite set of Objects
d1, d2, ... , dn
R,... Relations over D
R Dn
F,... Functions over D
F: Dn D
Basic Interpretation Mapping
constant I [c] = d
Object
function
I [f] = F
Function
predicate I [P] = R
Relation
Valuation V
variable
V(x) = dD
Semantics –Interpretation
Next, determine the semantics for complex terms
and formulae constructively, based on the basic
interpretation mapping and the valuation function
above.
Semantics - Interpretation II
Terms with variables
I [f(t1,...,tn)) = I [f] (I [t1],..., I [tn]) =
F(I [t1],..., I [tn]) D
where I[ti] = V(ti) if ti is a variable
Semantics - Interpretation III
atomic Formula
I [P(t1,...,tn)]
true if (I [t1],..., I [tn]) I [P] = R
negated Formula
I []
true if I [] is not true
complex Formula
I[]
true if I [] or I [] true
I []
true if I [] and I [] true
I []
if I [] not true or I [] true
Semantics - Interpretation III
quantified Formula (relative to Valuation function)
I [x:]
I [x:]
true if is true with V’(x)=d for some dD
where V’ is otherwise identical to the prior V.
true if is true with V’(x)=d for all dD and
where V’ is otherwise identical to the prior V.
Note: xy: is different from yx:
In the first case xy: , we go through all value assignments
V'(x), and for each value assignment V'(x) of x, we have to
find a suitable value V'(y) for y.
In the second case yx:, we have to find one value V'(y)
for y, such that all value assignments V'(x) make true.
Semantics - Quantifiers - Examples
Arithmetics
What could this be? - What are f, z, x, y ?
zxy : f(x,y)=z
What is this? (It's easier.)
xyz : f(x,y)=z
This one's different.
xy : f(x)=y
xyz : f(x)=y f(x)=z y=z
Semantics - Satisfiability
Given is an interpretation I into a domain D with a
valuation V, and a formula .
We say that:
is satisfied in this interpretation
or
this interpretation is a model of
iff
I[] is true.
That means the interpretation function I into the
domain D (with valuation V) makes the formula
true.
Logical Consequence - Entailment
Logical Consequence (Entailment)
Given a set of formulae and a formula α.
α is a logical consequence of
iff
α is true in every model in which is true.
Notation:
|= α
That means that for every model (interpretation into a
domain) in which is true, α must also be true.
FOPL
- Inference System Axioms & Inference Rules
FOPL Axioms
A1
A2
A3
A4
A5
A6
( ) (( ) ( ))
x: (x) (y)
(x) y: (y)
Formal Inference - Overview
Derive new formulae by syntactic manipulation
of existing formulae:
• given set of formulae
describes your KB, or a Theory, ... (FOPL
axioms + your own "proper" axioms)
• apply inference rule (based on )
new formula α is derived
• add new formula to KB or Theory
new KB or Theory is α
Formal Inference
Formal Inference, Theorem
Given a set of formulae and a set of inference
rules IR. A new formula α can be generated
based on using inference rules in IR.
We say that
α is inferred or derived from
or
α is a Theorem (of )
Notation:
|– α
IR Modus Ponens
Modus Ponens
,
States that can be concluded provided
we know that the formulae and
are true in our knowledge base.
IR Universal Instantiation
Universal Instantiation
x: (x)
(c)
where (x) is any formula containing the
variable x, and (c) is the formula (x)
where every occurrence of the quantified
variable x is substituted with the arbitrary
constant c.
IR Existential Generalization
Existential Generalization
(c)
x: (x)
where (c) is any formula containing the
arbitrary constant c, and (x) is the same
formula as (c) but with every occurrence
of the constant c replaced by a variable x.
IR Replacement Rules
Replacement Rules
( )
( )
FOPL Inference System
• The Axioms and the Inference Rules
above constitute a formal inference
system for FOPL.
• This system - we call it FS1 - is complete
and sound.
Soundness and Completeness
Soundness
An Inference System is sound iff
|– α |= α
every formula which can be derived by formal inference
from is a also logical consequence of .
Completeness
An Inference System is complete iff
|= α |– α
every formula which is a logical consequence of can
be derived by formal inference from .
FOPL - Sound and Complete 2
The above inference system for FOPL is sound
and complete.
Thus, every formula which can be derived in
FOPL using FS1 ( |– α) is also a logical
consequence of the given axioms ( |= α) :
|– α
iff
|= α
Thus, there is a correspondence between formal
Inference and logical Consequence.
Semantics - Example A1
Predicate Logic Language
constants
Bill-1, John-3, Sally-1, Mary-1, Mary-2
predicates
happy-together, hate-each-other
Structure D
objects: Uncle-Bill, Uncle-John, Aunt-Sally, The-woman-I-don't-like, Mary
relations: Married, Divorced
(Uncle-Bill, Aunt-Sally) Married, (Uncle-John, Mary) Married
(Uncle-John, The-woman-I-don't-like) Divorced
Interpretation
I(Bill-1)=Uncle-Bill, I(John-3)=Uncle-John, I(Sally-1)=Aunt-Sally,
I(Mary-1)=The-woman-I-don't-like, I(Mary-2)=Mary
I(happy-together)=Married, I(hate-each-other)=Divorced
True or false?
hate-each-other (Bill-1, John-3)
happy-together(Bill-1, Sally-1)
hate-each-other(John-3, Mary-1)
happy-together(John-3, Mary-2)
Semantics -Example A2
Structure D
objects: Uncle-Bill, Uncle-John, Aunt-Sally, The-woman-I-don't-like, Mary
relations: Married, Divorced
(Uncle-John, The-woman-I-don't-like) Divorced
(Uncle-Bill, Aunt-Sally) Married, (Uncle-John, Mary) Married
(or: {(Uncle-Bill, Aunt-Sally), (Uncle-John, Mary)} = Married)
Interpretation I
I(Bill-1) = Uncle-Bill, I(John-3) = Uncle-John, I(Sally-1) = Aunt-Sally,
I(Mary-1) = Mary, I(Mary-2) = The-woman-I-don't-like
I(happy-together) = Married, I(hate-each-other) = Divorced
True or false?
hate-each-other (Bill-1, John-3) hate-each-other (John-3, Mary-1)
happy-together (Bill-1, Sally-1) happy-together (John-3, Mary-2)
x: happy-together(Uncle-Bill, x))
x,y,z: happy-together(x,y) hate-each-other (x,z)
What if you want to add a formula?
x,y: happy-together(x,y) happy-together(y,x)
© Copyright 2026 Paperzz