Download A(x) - Teaching-WIKI

Document related concepts

Automatic differentiation wikipedia , lookup

Fundamental theorem of algebra wikipedia , lookup

Elementary algebra wikipedia , lookup

Canonical normal form wikipedia , lookup

Structure (mathematical logic) wikipedia , lookup

Transcript
Intelligent Systems
Lecture III – xx 2009
Predicate Logic
Dieter Fensel and Dumitru Roman
©www.sti-innsbruck.at
Copyright 2008 STI INNSBRUCK www.sti-innsbruck.at
Where are we?
#
Date
Title
1
Introduction
2
Propositional Logic
3
Date
Predicate Logic
4
Theorem Proving, Logic Programming, and Description Logics
5
Search methods
6
CommonKADS
7
Problem-Solving Methods
8
Planning
9
Agents
10
Rule learning
11
Inductive Logic Programming
12
Formal Concept Analysis
13
Neural Networks
14
Semantic Web and Exam Preparation
www.sti-innsbruck.at
2
Outline
• Motivation
• Technical Solution
– Formulas, Models, Tableaux
– Deductive Systems
– Resolution
•
•
•
•
Illustration by Larger Examples
Extensions
Summary
References
Note: Most of the content of this lecture is based on Chapters 5-7 of the book
Mathematical Logic for Computer Science (by Mordechai Ben-Ari)
http://www.springer.com/computer/foundations/book/978-1-85233-319-5
www.sti-innsbruck.at
3
MOTIVATION
www.sti-innsbruck.at
4
Predicate logic
•
Propositional logic is not expressive enough
– Suppose we want to capture the knowledge that
Anyone standing in the rain will get wet.
and then use this knowledge. For example, suppose we also learn that
Jan is standing in the rain.
– We'd like to conclude that Jan will get wet. But each of these sentences would
just be a represented by some proposition, say P, Q and R. What relationship is
there between these propositions? We can say
P /\ Q → R
Then, given P /\ Q, we could indeed conclude R. But now, suppose we were told
Pat is standing in the rain.
– We'd like to be able to conclude that Pat will get wet, but nothing we have stated
so far will help us do this
– The problem is that we aren't able to represent any of the details of these
propositions. It's the internal structure of these propositions that make the
reasoning valid. But in propositional calculus we don't have anything else to talk
about besides propositions!
 A more expressive logic is needed
 Predicate logic (occasionally referred to as First-order logic)
www.sti-innsbruck.at
5
TECHNICAL SOLUTION
www.sti-innsbruck.at
6
Predicate Logic – Overview
• All the logical machinery – formulas, interpretations, proofs, etc. –
that was developed for the propositional logic (see previous lecture)
can be applied to predicates
– The presence of a domain upon which predicates are interpreted
considerably complicates the technical details but not the basic
concepts
• Syntax
– Predicate symbols are used to represent relations (functions from a
domain to truth values)
– Quantifiers allow a purely syntactical expression of the statement that
the relation represented by the predicate is true for some or all elements
of the domain
• Semantics
– An interpretation consists of a domain and an assignment of relations to
the predicate letters
– The semantics of the Boolean operators remains unchanged, but the
evaluation of the truth value of the formula must take the quantifiers into
account
www.sti-innsbruck.at
7
Predicate Logic – Overview (cont’)
• Semantic tableaux
– The systematic search for a model is potentially infinite because
the domains like the integers are infinite
– The construction of a tableau may not terminate, so there is no
decision procedure for satisfiability in the predicate logic,
however, if a tableau happens to close, the formula is
unsatisfiable, conversely, a systematic tableau for an
unsatisfiable formula will close
• There are Gentzen and Hilbert deductive systems which
are sound and complete
– A valid formula is provable and we can construct a proof of the
formula using tableaux, but given an arbitrary formula we cannot
decide if it is valid and hence provable
www.sti-innsbruck.at
8
Predicate Logic – Overview (cont’)
• The syntax of predicate logic is extended with function
symbols that are interpreted as functions on the domain
– The predicate logic with function symbols is used in the
resolution procedure
• There are canonical interpretations called Herbrand
interpretations
– If a formula has a model, it has a model which is an Herbrand
interpretation, so to check satisfiablity, it is sufficient to check if
there is a Herbrand model for a formula
www.sti-innsbruck.at
9
Predicate Logic – Formulas, Models, Tableaux
•
•
•
•
•
•
•
Relations and Predicates
Predicate Formulas
Interpretations
Equivalence and Substitution
Semantic Tableaux
Finite and Infinite Models
Undecidability of the Predicate Logic
www.sti-innsbruck.at
10
Relations and Predicates
• The axioms and theorems of mathematics are defined
on arbitrary sets such as the set of integers
– We need to be able to write and manipulate logical formulas that
contain relations on values from arbitrary sets
• The predicate logic extends the propositional logic with
predicate symbols that are interpreted as relations on a
domain
• Let R be an n-ary relation on a domain D, i.e. R is a
subset Dn. A relation can be represented by a Booleanvalued function R: Dn → {T,F}, by mapping an n-tuple to
T iff it is included in the relation:
R(d1,…,dn) = T iff in R(d1,…,dn) in R
www.sti-innsbruck.at
11
Predicate Formulas
•
•
•
Predicate (relation) symbols
Constant symbols
Variables
•
BNF Grammar for Predicate Formulas:
www.sti-innsbruck.at
12
Predicate Formulas (cont’)
• Examples:
• Suppose A is a predicate formula. An occurrence of a variable x in A
is a free variable of A if it is not within the scope of any quantifier
A variable which is not free is said to be bound
• Examples:
www.sti-innsbruck.at
13
Interpretations
• Let U be a set of formulas such that {p1, p2, . . . , pm} are
all predicate symbols appearing in U and {a1, a2, . . . , ak}
are all constant symbols appearing in U. An
interpretation I of U is a tripe
I = (D, {R1,…,Rm}, {d1,…,dk})
where
– D is a non-empty set (domain of I)
– Ri is an assignment of an ni-ary relation on D to the ni-ary
predicate symbol pi
– di is an assignment of an element of D to the constant ai
www.sti-innsbruck.at
14
Interpretations (cont’)
•
Example: Consider the formula
Some of its possible interpretations are:
“For every natural number x, 0 ≤ x.”
“For every natural number x, 1|x.”
“For every string x over alphabet {0, 1}, empty string is a substring of
x.”
“For every vertex x of G, (a, x) is an edge in G.”
www.sti-innsbruck.at
15
Interpretations (cont’)
•
•
Suppose I is an interpretation for a predicate formula A. An assignment
is a function which assigns a value in the domain D to any variable
appearing in the formula A
Suppose A is formula, I an interpretation for A, and σI an assignment. We
define vσI(A), the truth value of A under σI, inductively:
(a) If A = p(c1, c2,…, cn) is an atomic formula, where each ci is either a
variable xj or a constant symbol aj, then
(b) vσI(¬A) = ¬vσI (A)
(c) vσI(A1 /\ A2) = vσI (A1) /\ vσI (A2)
(d) vσI(A1 \/ A2) = vσI (A1) \/ vσI (A2)
(e)
(f)
www.sti-innsbruck.at
16
Interpretations (cont’)
• Theorem: If A is a closed formula, then vσI(A) does not
depend on σI. In that case, we write vI(A).
• Theorem: Let A' = A(x1, x2, . . . , xn) be a non-closed
formula and let I be an interpretation. Then:
(a) vσI(A) = T for assignment σI iff
(b) vσI(A) = T for all assignments σI iff
www.sti-innsbruck.at
17
Interpretations (cont’)
• A closed formula A is true in I, or I is a model for A, if
vI(A) = T
I |= A
• A closed formula A is satisfiable if, for some
interpretation I,
I |= A
• A is valid if, for all interpretations I,
I |= A
• A is unsatisfiable if it is not satisfiable, and falsifiable if it
is not valid
www.sti-innsbruck.at
18
Interpretations (cont’)
• Examples:
www.sti-innsbruck.at
19
Equivalence and Substitution
• Suppose A1,A2 are two closed formulas. If, for all
interpretations I
vI(A1) = vI(A2)
we say that A1 and A2 are equivalent, and we write
A1 ≡ A2
• Suppose U is a set of closed formulas, and A a closed
formula
U |= A
means that, in all interpretations I in which all formulas
from U are true, we also have
vI(A) = T
• Examples:
www.sti-innsbruck.at
20
Equivalence and Substitution (cont’)
• Theorem:
A ≡ B iff |= A ↔ B
U |= A iff |= A1 /\ A2 /\ ... /\ An → A
• Examples of valid formulas:
www.sti-innsbruck.at
21
Semantic Tableaux
• Recall that a tableaux is systematic search for a counter
example
• Example: We will try to show that
is a valid formula.
We consider its negation
and try to show that it is unsatisfiable.
www.sti-innsbruck.at
22
Semantic Tableaux (cont’)
• Semantic tableaux for
www.sti-innsbruck.at
:
23
Semantic Tableaux (cont’)
• Example: Now, consider the formula
which is satisfiable but not valid (so its negation should also be
satisfiable). Semantic tableaux (we obtain a closed tableau for a
satisfiable formula):
www.sti-innsbruck.at
24
Semantic Tableaux (cont’)
• Question: What went wrong in the previous example?
– The same constant a was used twice to eliminate two distinct existential
quantifiers
– We were forced to use the same constant since, once we eliminated the
universal quantifier in
we replaced it with a and were forced to work with that constant
exclusively from that point on
• Solution: We will not delete universal quantifiers from nodes of the
tableau; instead, we introduce some instance of that variable but
keep writing the universal quantifier. E.g.
www.sti-innsbruck.at
25
Semantic Tableaux (cont’)
• Using these guidelines, if a tableau for the formula from
the previous example is correctly constructed, one
branch ends with the open leaf
In fact, this leaf gives a model for this satisfiable formula;
the domain is
D = {a, b}
and the unary relations are subsets
p = {a},
q = {b}
(This is what we will be defined as an Herbrand model
for this formula later on in this lecture)
www.sti-innsbruck.at
26
Semantic Tableaux (cont’)
• Example: Consider the formulas
Check whether A = A1 /\ A2 /\ A3 is a satisfiable formula and, if so,
find one model for A.
Solution: First construct a semantic tableau for the formula:
www.sti-innsbruck.at
27
Semantic Tableaux (cont’)
•
•
The tableau in the previous example does not terminate; namely, every time
an universal or an existential quantifier is dropped, a new constant symbol
ai can be introduced, to get an infinite sequence of constants:
a1, a2,…, an,…
The formula does have an obvious infinite model:
I = (N, {<})
Furthermore, one can prove, using the formulas A2 and A3 (see the proof of
Theorem 5.24 in the textbook) that every model of
A = A1 /\ A2 /\ A3
must be infinite. So, the tableau construction effectively produces a
“generic” infinite model for A.
One major difference in comparison with semantic tableaux for
propositional logic is (as seen in the previous example) that a tableau of a
predicate formula may not terminate
– The reason for this anomaly is that, in propositional logic, nodes of a tableau
simplify in terms of the formula complexity. In predicate logic, this is not the case,
since we can never eliminate universal quantifiers
www.sti-innsbruck.at
28
Semantic Tableaux - Algorithm for Semantic
Tableaux
• As in propositional case, we generalize the rules into two
cases, γ-rules for universal formulas and δ-rules for existential
formulas:
• A literal is a closed atomic formula p(a1, a2,…, an) or the
negation of such a formula
• Algorithm for construction of a semantic tableau:
Input: A predicate formula A
Output: Semantic tableau T for A; all branches are either
infinite, or finite with leaves marked × (closed) or o (open).
A semantic tableau is a tree T each node of which will be
labeled with a set of formulas. T is built as follows.
www.sti-innsbruck.at
29
Semantic Tableaux - Algorithm for Semantic
Tableaux (cont’)
(1) Initially, T is a single node, labeled {A}
(2) We build the tableau inductively by choosing an unmarked leaf l,
labeled U(l), and applying one of the following rules:
– If U(l) is a set of literals and γ -formulas containing a pair of
complementary literals {p(a1, a2,…, an), ¬p(a1, a2,…, an)}, mark it as
closed (×)
– If U(l) is not a set of literals, choose a formula A in U(l) which is not a
literal:
• α- and β-rules are applied just as in propositional logic
• If A is a γ-formula, add a new node l', a child of l, and label it
U(l') = U(l) U {γ(a)}
where a is a constant appearing in U(l). If U(l) consists of literals
and γ -formulas only, mark it × or o, depending on whether there is a
set of complementary literals.
• If A is a δ-formula, create a new node l' as a child of l and label it
U(l') = (U(l) − {A}) U {δ(a)}
where a is some constant that does not appear in U(l).
www.sti-innsbruck.at
30
Semantic Tableaux - Algorithm for Semantic
Tableaux (cont’)
• A branch in T is closed if it terminates in a leaf marked ×.
Otherwise, it is open.
• Theorem (Soundness): Suppose A is a predicate formula
and T its semantic tableau. If T closes, then A is
unsatisfiable.
• Theorem (Completeness): Suppose A is a valid formula.
Then, the systematic semantic tableau for A terminates
and is closed.
(Note: see section 5.5 in the textbook for a detailed description of
systematic semantic tableau)
www.sti-innsbruck.at
31
Finite and Infinite Models
• Theorem (Löwenheim): If a formula is satisfiable, then it
is satisfiable in a countable model
• Theorem (Löwenheim - Skolem): If a countable set of
predicate formulas is satisfiable, then it is satisfiable in a
countable model
• Theorem (Compactness Theorem): Let U be a countable
set of formulas. If all finite subsets of U are satisfiable,
then so is U
www.sti-innsbruck.at
32
Undecidability of the Predicate Logic
• Church, building on the work of Turing, proved that there is no
decision procedure for validity in predicate logic
• Turing machines can be viewed as devices which compute functions
on natural numbers; i.e. given a Turing machine T, we can associate
to it a function
fT : N → N
so that fT(n) = m if T halts with the tape consisting of m 1’s when
started on the tape with the input of n consecutive 1’s. If T never
halts on the input of n consecutive 1’s, then fT(n) is undefined
• Theorem (Church): It is undecidable whether a Turing machine,
started on a blank tape, will halt
– In other words, it is undecidable, given a Turing machine T, whether fT
(0) is defined
www.sti-innsbruck.at
33
Undecidability of the Predicate Logic (cont’)
• Two-register machine (or, a Minsky machine) M consists of a pair of
registers (x, y) which can store natural numbers, and a program P =
{L0, L1,…, Ln}, which is a sequential list of instructions. Ln is always
the command “halt”, and for 0 ≤ i < n, Li has one of the two forms
– r := r + 1, for r in {x, y}
– if r = 0 then go to Lj else r := r − 1, for r in {x, y}, 0 ≤ j ≤ n
• Execution of M: sequence of states sk = (Li , x, y) where Li is the
current instruction during the execution, and x,y are current contents
of the two registers.
– Initial state: s0 = (L0,m, 0), for some m
– If sk = (Ln, x, y), for some k then M halts and y = f (m) is computed by M
• Theorem: For every Turing machine T that computes f : N → N, a
two-register machine M can be constructed which computes the
same function.
– Corollary: It is undecidable whether, given a two-register machine M,
whether fM(0) exists or not
www.sti-innsbruck.at
34
Undecidability of the Predicate Logic (cont’)
• Theorem (Church): Validity in predicate calculus is undecidable
Sketch of the Proof:
To each two-register machine M, we associate a predicate formula
SM such that M halts when started at (L0, 0, 0)  |= SM
We use the language:
– Binary relations: pi (x, y) (i = 0, 1,…, n)
– Unary function: s(x)
– Constant symbol: a
Intended interpretation:
– pi (x, y): M is at the state (Li, x, y)
– s(x): successor function s(x) = x + 1
– a: a = 0
www.sti-innsbruck.at
35
Undecidability of the Predicate Logic (cont’)
Finally, define
SM says the following: if a machine with the program P = {L0, L1, . . . ,
Ln} is started at the initial state (L0, 0, 0), then the computation will
halt with the values at the registers being (z1, z2), for some natural
numbers z1, z2
Si is defined by cases of the instruction Li :
Since the Halting Problem for two-register machines is undecidable,
it is impossible to verify algorithmically whether |= SM or not.
www.sti-innsbruck.at
36
Predicate Calculus: Deductive Systems
• Gentzen System G
• Hilbert System H
www.sti-innsbruck.at
37
Gentzen System G
• As in propositional logic, Gentzen proof system is based on the
reversal of a semantic tableau for a formula
• Example: Prove that
Solution: start by constructing a tableau for the negation
:
www.sti-innsbruck.at
38
Deductive System G
• Axioms: Any set of formulas U containing a
complementary pair of literals
• Rules: α- and β-rules are the same as in propositional
logic, plus
where
and a is an arbitrary constant.
• Theorem (Soundness and Completeness) Let U be a set
of formulas. There is a Gentzen proof for U if and only if
there is a closed semantic tableau for U.
www.sti-innsbruck.at
39
Deductive System G
• Example: The proof in G for
is
www.sti-innsbruck.at
40
Hilbert System H
• Axioms: The three axioms for the Hilbert system
in propositional logic, plus
– Axiom 4.
– Axiom 5.
assuming x is not free in A
• Rules of Inference: Modus Ponens, plus
(Generalization:)
www.sti-innsbruck.at
41
Hilbert System H (cont’)
• There is a problem with the Generalization Rule if it is not being
used judiciously; consider the following derivation in the set N with
the unary predicate even(x):
1. even(2) ├ even(2)
2. even(2) ├ even(x)
Assumption
Gen. Rule 1
We derived a wrong conclusion that every natural number is even,
starting from the true assumption that 2 is even. What went wrong?
Answer: We should not be able to generalize based on a constant
included in the assumptions. Namely, assumptions may contain very
specific facts and not simply general logical truths.
The Generalization Rule must be modified as follows (and with the
modification the deduction rule can be further defined)
www.sti-innsbruck.at
42
Hilbert System H (cont’)
• Generalization Rule:
provided a does not appear in U.
• Deduction Rule:
• Theorem (Soundness and Completeness): Hilbert proof system H
for predicate logic is sound and complete.
• Axiom 4 and MP justify the following derived rule
(Specification Rule):
for any constant a.
www.sti-innsbruck.at
43
Some relevant theorems and proofs in H
• Theorem:
Proof:
• Theorem:
Proof:
www.sti-innsbruck.at
44
Some relevant theorems and proofs in H (cont’)
• Theorem:
Proof:
• This proves a more general version of the Generalization
Rule:
www.sti-innsbruck.at
45
Some relevant theorems and proofs in H (cont’)
• Theorem:
Proof:
• Theorem:
Proof:
www.sti-innsbruck.at
46
Resolution
•
•
•
•
•
•
•
•
Functions and Terms
Clausal Form
Herbrand Models
Herbrand’s Theorem
Ground Resolution
Substitutions
Unification
General Resolution
www.sti-innsbruck.at
47
Functions and Terms
• We will now allow the language for predicate logic to
contain function symbols; they will be interpreted as
functions (of appropriate arity) in the domain of an
interpretation
• Example: Consider the formula p(x, y) → p(x, f (y))
where p is a binary predicate symbol, and f is a unary
function symbol; two possible interpretations of this
formula
– I1 = (N, {<}, {succ(x)}), where succ(x) = x + 1
– I2 = ({0, 1}*, {substr}, {f }), where the relation substr(w1,w2) means
that w1 is a substring of w2, and f(w) = w0, is the function
appending 0 to the right end of word w
www.sti-innsbruck.at
48
Functions and Terms (cont’)
• Terms: Suppose
then
• Suppose a, b are constant symbols, p a binary predicate symbol, f is
a binary function symbol, and g a unary function symbol
– Examples of terms: a, g(a), f (x, y), f (x, g(a)), f (f (a, x), b), f (f (x, y), f (b,
g(a))),…
– Examples of atomic formulas: p(a, a), p(f (x, y), g(y)), p(g(b), f (a,
g(a))),…
www.sti-innsbruck.at
49
Functions and Terms (cont’)
• A term or atom is ground if it contains no variables; a
formula is ground if it has no quantifiers and no variables
• A' is a ground instance of a quantifier-free formula A if it
can be obtained from A by substituting ground terms for
free variables
• Examples:
– Examples of ground terms: f(a, a), g(b), f(f (a, b), g(a)),…
– Examples of ground formulas: ¬p(a, a), p(f (a, b), b) → p(a, a),…
– The formula ¬p(f(a, b), b) \/ p(a, f(a, a)) is a ground instance of
the formula ¬p(f(x, b), y) \/ p(x, f(x, x))
www.sti-innsbruck.at
50
Clausal Form
• A formula A is in prenex conjunctive normal form
(PCNF), iff it is of the form
Q1x1Q2x2…Qnxn M(x1, x2,..., xn)
where Qi (i = 1, 2,…, n) are quantifiers and M(x1, x2,...,
xn) is a quantifier-free formula in CNF, called the matrix
of A.
• A closed formula is in clausal form if it is in PCNF and
all quantifiers Qi are universal.
• A literal is an atomic formula or its negation; e.g.
p(x, f(a, y)),¬p(g(x), f(x, g(x)))
A literal is said to be ground if it contains no variables.
A clause is a disjunction of literals; e.g.
¬p(x, y) \/ p(x, f (x))
www.sti-innsbruck.at
51
Clausal Form (cont’)
• C' is a ground clause if it is a ground instance of a clause C; e.g. if
C = ¬p(x, y) \/ p(x, f (x)),
the substitution x ← f(a), y ← a produces the ground clause
C' = ¬p(f(a), a) /\ p(f(a), f(f(a)))
• Example of formula in clausal form:
This clausal form can be written in the following way:
{{p(x, f(y)), q(z)}, {¬q(f(x)),¬p(f(y), z)}}
An even more simplified version of this clausal form is:
{pxfyqz,¬qfx¬pfyz}
www.sti-innsbruck.at
52
Clausal Form (cont’)
• The notation A ≈ B is used to denote the fact that a formula A is
satisfiable iff B is satisfiable
• Theorem (Skolem): Suppose A is a closed formula. Then, there
exists a formula A' in clausal form such that
A ≈ A‘
Proof (Algorithm for converting A to A'):
We start with a particular formula
and we will illustrate each step of the algorithm by showing how it
applies to this particular example
Input: Closed formula A
Output: formula A' in clausal form, such that A ≈ A‘
The following steps are performed (see next slide)
www.sti-innsbruck.at
53
Clausal Form (cont’)
(1) Rename bound variables (if necessary) so that no
variable appears in the scope of two different
quantifiers:
(2) Eliminate all propositional connectives, except for
negation, conjunction, and disjunction
(3) Push all negations inward and eliminate double
negations:
(4) Extract quantifiers from the matrix:
www.sti-innsbruck.at
54
Clausal Form (cont’)
(5) Transform the matrix of the formula into CNF:
(6) Eliminate existential quantifiers:
– If we have
replace x with a new constant symbol a
– If we have
, replace y with f(x1, x2, .
. . , xn), where f is a new n-ary function symbol
• The method of converting a closed formula A into a
clausal form A' so that A ≈ A‘ is also called Skolemization
of A
www.sti-innsbruck.at
55
Clausal Form (cont’)
• Example: Transform the formula
into a clause form A' ≈ A
Solution:
www.sti-innsbruck.at
56
Herbrand Models
• Once we allow function symbols in the language
of predicate logic, the models can become
rather complicated since, given any function
symbol, there are a large number of functions on
the domain that can interpret it
• We will show that, if a set of clauses has a
model (i.e. is satisfiable), it has a particular
canonical (or, generic) model
www.sti-innsbruck.at
57
Herbrand Models (cont’)
• Let S be a set of clauses and
–
–
: set of constant symbols appearing in S
: set of function symbols appearing in S
• We define HS, the Herbrand universe HS for S is defined
inductively, as follows:
– a HS, for every a
– f(t1, t2,…, tn), for every n-ary function symbol f
and (t1, t2,…, tn) HS
,
If there are no constant symbols in S ( = Ø), we
initialize the inductive definition by putting some arbitrary
new constant symbol a in HS.
• Remark: The Herbrand universe HS for S will be infinite
as soon as there is a function symbol in S
www.sti-innsbruck.at
58
Herbrand Models (cont’)
• Examples:
– If S1 = {pxy¬qa, qa¬pbx}, then
HS = {a, b}
– If S2 = {¬pxf (y), pwg(w)}, then
HS = {a, f(a), g(a), f(f(a)), f(g(a)), g(f(a)), g(g(a)),…}
– If S3 = {¬paf (x, y), pbf (x, y)}, then
HS = {a, b, f(a, a), f(a, b), f(b, a), f(b, b), f(a, f(a, a)),
f(f(a, a), a),…}
www.sti-innsbruck.at
59
Herbrand Models (cont’)
• Suppose HS is the Herbrand universe for a set of clauses. The
Herbrand base BS is the set of ground atomic formulas formed using
the predicate symbols in S and terms from HS.
• Example:
– For S3 = {¬paf (x, y), pbf (x, y)}, the Herbrand base is
BS = {p(a, f(a, a)), p(a, f(a, b)), p(a, f(b, a)), p(a, f(b, b)), …, p(a, f(f(a, a),
a)), . . . , p(b, f(a, a)), p(b, f(a, b)), p(b, f(b, a), p(b, f(b, b))
• An Herbrand model for a set of clauses S consists of the Herbrand
universe HS as the domain, the function symbols and constants are
interpreted by themselves, and the relations are interpreted in some
way which would make all the clauses in S true; in other words, the
true relations form some subset of BS which makes all clauses true
www.sti-innsbruck.at
60
Herbrand Models (cont’)
• Example:
For S3 = {¬paf(x, y), pbf(x, y)}, the Herbrand universe is
HS = {a, b, f(a, a), f(a, b), f(b, a), f(b, b), f(a, f(a, a)), f(f(a, a), a),…}
The relations in Herbrand model are given as
v(p(a, f(a, a))) = F, v(p(a, f(b, a))) = F, v(p(a, f(a, b))) = F
v(p(a, f(b, b))) = F,
v(p(b, f(a, a))) = T, v(p(b, f (b, a))) = T,
v(p(b, f(a, b))) = T, v(p(b, f(b, b))) = T, …
• Theorem: Let S be a set of clauses. S has a model if and
only if it has an Herbrand model.
www.sti-innsbruck.at
61
Herbrand Models (cont’)
• Theorem (Herbrand’s Theorem - Semantic Form): A set of clauses S
of predicate logic is unsatisfiable if and only if a finite set of ground
instances of clauses from S is unsatisfiable
• Example: Consider the following unsatisfiable formula
Its clausal form is {¬p(x) \/ q(x), p(y),¬q(z)}
One set of ground instances for this set of clauses is:
{¬p(a) \/ q(a), p(a),¬q(a)}
obtained by substitution x ← a, y ← a, z ← a
Now, we can use any method for proving unsatisfiability from
propositional logic (semantic tableaux, resolution, etc.):
www.sti-innsbruck.at
62
Herbrand Models (cont’)
•
Herbrand’s theorem gives us the handle needed to
define an efficient semi-decision procedure for validity
of formulas in the predicate calculus:
1.
2.
3.
4.
Negate the formula
Transform the formula into a clausal form
Generate a finite set of ground instances of clauses
Check if the set of ground clauses from (3) is unsatisfiable
Step 3 is highly problematic; namely, there are infinitely many
ground terms (if there is at least one function symbol) so it may
be difficult to find a correct substitution for resolution. In fact, if
the set of clauses is satisfiable, there is no such substitution, so
our search for it may run forever. This is not surprising,
however, considering that we already know that the validity in
predicate logic is undecidable.
www.sti-innsbruck.at
63
Ground Resolution
• Suppose C1,C2 are ground clauses containing a pair of
clashing literals l, lc , say, l in C1, lc in C2. The resolvent of
C1 and C2 is the clause
C1 and C2 are called the parent clauses in resolution
• Theorem: The resolvent C is satisfiable if and only if C1
and C2 are simultaneously satisfiable
www.sti-innsbruck.at
64
Substitutions
• Suppose x1, x2,..., xn are distinct variables and t1, t2,…, tn terms such
that ti is not equal to xi (i = 1, 2,…, n). The substitution
{x1 ← t1, x2 ← t2,…, xn ← tn}
is the mapping assigning the term ti to the variable xi.
– Generally, we will use Greek letters Θ, σ, ζ, μ,… to denote substitutions
• An expression is any term, literal, a clause, or a set of clauses. If E
is an expression and
σ = {x1 ← t1, x2 ← t2,…, xn ← tn}
is a substitution, the instance Eσ is obtained by simultaneously
applying the substitution σ to all occurrences of xi’s in E
• Example: Suppose the expression E is the clause p(x, y) \/ ¬q(f(x))
and σ is the substitution {x ← a, y ← f(x)}. Then the instance Eσ of E
is:
Eσ = p(a, f(x)) \/ ¬q(f(a))
www.sti-innsbruck.at
65
Substitutions (cont’)
• Suppose
Θ = {x1 ← t1, x2 ← t2,…, xn ← tn}
σ = {y1 ← s1, y2 ← t2,…, yk ← sk}
are two substitutions with X = {x1, x2,..., xn }, Y = {y1, y2,..., yk}.
The composition of Θ and σ is the substitution
Θσ = {xi ← tiσ : xi ≠ tiσ} U {yj ← sj : yj in Y, yj not in X}
In plain English: first apply the substitution σ to the terms ti that
appear in Θ. If some substitutions become xi ← xi, delete them.
Finally, append all yj ← sj to the list, for which yj is not one of the
variables xi in Θ.
• Lemma: If E is an expression and Θ and σ are two substitutions,
E(Θσ) = (EΘ)σ
• Lemma: The composition of substitutions is associative: if Θ, σ, and
ζ are substitutions,
Θ(σζ) = (Θσ)ζ
www.sti-innsbruck.at
66
Unification
• Consider the pair of literals
p(f (x), g(y)),
¬p(f(f(a)), g(z)).
This pair cannot be resolved using the method of ground resolution.
However, the substitution
{x ← f(a), y ← a, z ← a}
will turn the pair into
p(f(f(a)), g(a)), ¬p(f(f(a)), g(a))
to which ground resolution can be applied.
In fact, a simpler substitution
{x ← f(a), y ← z}
will also accomplish this, even though we will not end up with a pair
of ground literals, but
p(f(f(a)), g(z)), ¬p(f(f(a)), g(z)),
which are still clashing.
www.sti-innsbruck.at
67
Unification (cont’)
• Given a set of atoms, a unifier is a substitution which
makes the atoms identical. A most general unifier, or
m.g.u, for short, is a unifier μ such that, if Θ is any unifier
for the set of atoms
Θ=μζ
for some substitution ζ.
In other words, every unifier for that set of atoms can be
obtained from an m.g.u. through further substitution.
• Example: The unifier
μ = {x ← f(a), y ← z}
is an m.g.u. for the set of atoms p(f(x), g(y)) and p(f(f(a)),
g(z)). In fact,
{x ← f(a), y ← a, z ← a} = μ{z ← a}
www.sti-innsbruck.at
68
Unification (cont’)
•
Question: When is it impossible to unify two atomic
formulas?
1. if they start with different predicate symbols (obvious)
2. A trickier obstacle: consider the pair of atoms
p(a, x), p(a, f(x))
No matter what substitution we attempt to use, the problem is that
we will never be able to make the terms x and f(x) identical.
The reason for this is that the two terms we are attempting to unify
contain the same variable.
www.sti-innsbruck.at
69
Unification (cont’)
•
•
If we want to unify two atoms
p(t1, t2,…, tn), p(t’1, t’2,…, t’n)
we are trying to unify pairs of terms t1 and t’1 , t2 and t’2,…, tn and t’n.
We can view this problem as attempting to solve a system of n term
equations:
t1 = t’1
t2 = t’2
...
tn = t’n
Example: The problem of trying to unify the pair of atoms
p(x, f(y)), p(f(f(y)), g(a))
can be viewed as solving the system of two term equations:
x = f(f(y))
f(y) = g(a)
Based on the above remark, this system cannot be solved since the terms
in the second equation start with different function symbols
www.sti-innsbruck.at
70
Unification (cont’)
• A set of term equations is in solved form if:
– All equations are of the form
x = t, x − variable , t − term not containing x
– Every variable x which appears in the left-hand side of one of the
equations does not appear in any other equation in the system.
If the solved form of the system is
x1 = t1, x2 = t2,…, xn = tn
the solving substitution is
σ = {x1 ← t1, x2 ← t2,…, xn ← tn}
www.sti-innsbruck.at
71
Unification Algorithm
Input: A set of term equations
Output: A set of term equations in solved form or the answer “not
unifiable”
(1) Transform every equation of the form t = x (x-variable, t-term which
is not a variable) into x = t;
(2) Delete all trivial equations of the form x = x (x-variable)
(3) Suppose t' = t'' is an equation where neither term t', t'' is a variable.
If starting function symbols of t' and t'' are not the same, output “not
unifiable”; otherwise, if
t' = f(t'1,…, t'k), t'' = f (t''1,…, t''k),
replace the equation with k new equations
t'1 = t''1,…, t'k = t''k
(4) If x = t is an equation such that x appears elsewhere in the system:
– if x appears in t, output “not unifiable”
– if x appears in other equations, replace all occurrences of x in those
equation with t
www.sti-innsbruck.at
72
Unification Algorithm – Example
•
•
•
•
•
•
•
•
Consider the system of term equations:
g(y) = x, f(x, h(x), y) = f(g(z),w, z)
Start by using Rule 3 to replace the second equation with three equations:
g(y) = x, x = g(z), h(x) = w, y = z
Next, use Rule 1 to rewrite the first and the third equation:
x = g(y), x = g(z), w = h(x), y = z
Using the first equation, eliminate x from the right-hand sides of the
remaining equations:
x = g(y), g(y) = g(z), w = h(g(y)), y = z
Next, using Rule 3, rewrite the second equation:
x = g(y), y = z, w = h(g(y)), y = z
The last equation is redundant (it is identical to the second equation) and
we can delete it:
x = g(y), y = z, w = h(g(y))
Finally, use the second equation to eliminate y from the right-hand sides of
other equations:
x = g(z), y = z, w = h(g(z))
This system is in solved form, so m.g.u is:
μ = {x ← g(z), y ← z,w ← h(g(z))}
www.sti-innsbruck.at
73
General Resolution
• Suppose L = {l1, l2,…, lm} is a set of literals. Then, we
define its complement as Lc = {lc1, lc2,…, lcm}
• General Resolution Rule: Suppose C1 and C2 are two
clauses with no variables in common. Let
so that L1 and Lc2 can be unified using an m.g.u. σ.
Then, C1 and C2 are said to be clashing clauses and
their resolvent is
Res(C1, C2) = (C1σ − L1σ) U (C2σ − L2σ)
www.sti-innsbruck.at
74
General Resolution (cont’)
• Example: Consider the two clauses
C1 = p(f(x), g(y)) \/ q(x, y)
C2 = ¬p(f(f(a), g(z)) \/ q(f(a), g(z))
These two clauses contain the following literals:
L1 = {p(f(x), g(y))}
L2 = {¬p(f(f (a), g(z))}
so that Lc2 = {p(f(f(a)), g(z))}.
It is easy to check that the literals in L1 and Lc2 are unifiable with an
m.g.u.
σ = {x ← f (a), y ← z}
so the clauses C1 and C2 are clashing, and their resolvent is:
Res(C1, C2) = (C1σ − L1σ) U (C2σ − L2σ)
= {q(f(a), z)} U {q(f(a), g(z))}
so that we get the clause q(f(a), z) \/ q(f(a), g(z))
www.sti-innsbruck.at
75
General Resolution (cont’)
•
•
•
Most often, the two clauses we are trying to resolve will have variables in
common, so we cannot use the Resolution Rule as stated before
Before we attempt to resolve such pairs of clauses, we have to standardize
apart; i.e. we have to rename the variables so that the clauses no longer
have any variables in common
Example: Consider the two literals
p(f(x), y), ¬p(x, a)
The two atoms contain the same variable x, so we have to standardize them
apart before attempting to resolve; e.g. we can replace x in the second atom
with z:
p(f(x), y), ¬p(z, a)
It is easy to see that an m.g.u. is σ = {z ← f (x), y ← a}. The m.g.u.
transforms the pair of literals into:
p(f(x), a), ¬p(f (x), a)
Now, we can apply resolution to this pair of literals to obtain the empty
clause.
www.sti-innsbruck.at
76
General Resolution Procedure
• Input: A set of clauses S
• Output: “satisfiable” or “not satisfiable”, in the case the algorithm
terminates
• Set S0 := S
• Suppose Si has been constructed
• Choose a pair of clashing clauses C1, C2 in Si and find
C = Res(C1, C2)
(we may need to standardize apart certain clauses during this step)
• If C = □ (i.e. empty clause), terminate the procedure and output “not
• satisfiable”; otherwise, put
Si+1 := Si U {C}
• • If Si+1 = Si, for all possible pairs of clashing clauses in Si, terminate
the procedure and output “satisfiable”
www.sti-innsbruck.at
77
General Resolution Procedure – Example
• Example: Show, using the general resolution procedure, that
the set of clauses 1-7 is unsatisfiable.
This is shown in lines 8-15 which are a refutation by the
resolution procedure (each line contains the resolvent, the
mgu and the number of the parent classes)
www.sti-innsbruck.at
78
General Resolution Procedure – Soundness and
Completeness
• Theorem (Soundness of Resolution) If the empty
clause is derived by general resolution, then S
is unsatisfiable.
• Theorem (Completeness of Resolution) If a set
of clauses S is unsatisfiable, then the empty
clause can be derived from S using general
resolution.
www.sti-innsbruck.at
79
ILLUSTRATION BY LARGER
EXAMPLES
www.sti-innsbruck.at
80
Example 1
• Show that
is not valid using the semantic tableaux method
Solution: It suffices to show that the negation of the
formula
is satisfiable. In fact, we will also find the smallest model
for this negation, i.e. the smallest structure in which the
original formula fails to be true.
– From
descendent
, we get the
– As the next level of the tableau, we get:
– After introducing two new constant symbols a and b:
www.sti-innsbruck.at
81
Example 1 (cont’)
– We can now generate the following instances of the universal
formula:
– After this, it can be shown that, after branching off different
possibilities for p(a) \/ q(a) and p(b) \/ q(b), we will never be able
to terminate all the branches and mark them as closed.
• In fact, by examining what happens after the tree starts
branching, one can show by following one of the
branches that the smallest model for the negation has
the universe {a, b} and that the relations are defined as
follows:
p(a), ¬q(a), ¬p(b), q(b)
which will falsify the original formula.
www.sti-innsbruck.at
82
Example 2
• Prove, in the Hilbert proof system for predicate logic, that
Solution:
www.sti-innsbruck.at
83
Example 2
• Transform each of the following formulas to the
clausal form:
Solution:
www.sti-innsbruck.at
84
Example 2 (cont’)
www.sti-innsbruck.at
85
Example 3
• Prove the validity of
by resolution refutation of its negation.
Solution:
First, consider the negation of the formula:
Convert the above formula into a PCNF:
www.sti-innsbruck.at
86
Example 3 (cont’)
Finally, try to refute the set of clauses
{¬A(x) \/ B(x),A(f(x)),¬B(z)}
First, unify ¬A(x) \/ B(x) and A(f(y)) using
{x ← f(y)}
to get as the resolvent
B(f(y))
Next, unify B(f(y)) and B(z) using the unifier
{z ← f(y)}
and apply resolution to get the empty clause. So,
is unsatisfiable, which means that its complement is a
valid formula of predicate logic
www.sti-innsbruck.at
87
Example 4
• Find out if the formula
is a logical consequence of the set of formulas
Solution: We use resolution to determine whether
is a logical consequence of the formulas
Note that C is a logical consequence of A and B iff the formula A /\ B
→ C is valid. This, in turn, is equivalent to checking whether ¬(A /\ B
→ C) A /\ B /\ ¬C is unsatisfiable.
www.sti-innsbruck.at
88
Example 4 (cont’)
Skolemize A, B, and ¬C to get the following set of universal
formulas:
where f, g, h, i are new unary function symbols, and a, b are new
constant symbols
So, we need to check if the following set of clauses is unsatisfiable:
Each clause in S contains a negative literal. In general, if both
premises of a resolution rule contain a negative literal, so does the
conclusion. Thus, we can only derive clauses with negative literals
from S (by resolution), but not the empty clause (a contradiction).
Therefore, S is satisfiable and C cannot be a logical consequence of
A and B.
www.sti-innsbruck.at
89
EXTENSIONS
www.sti-innsbruck.at
90
Extensions
• The characteristic feature of first-order logic is that individuals can
be quantified, but not predicates; second-order logic extends firstorder logic by adding the latter type of quantification
• Other higher-order logics allow quantification over even higher types
than second-order logic permits
– These higher types include relations between relations, functions from
relations to relations between relations, and other higher-type objects
• Ordinary first-order interpretations have a single domain of
discourse over which all quantifiers range; many-sorted first-order
logic allows variables to have different sorts, which have different
domains
www.sti-innsbruck.at
91
Extensions (cont’)
• Intuitionistic first-order logic uses intuitionistic rather than classical
propositional calculus; for example, ¬¬φ need not be equivalent to
φ; similarly, first-order fuzzy logics are first-order extensions of
propositional fuzzy logics rather than classical logic
• Infinitary logic allows infinitely long sentences; for example, one may
allow a conjunction or disjunction of infinitely many formulas, or
quantification over infinitely many variables
• First-order modal logic has extra modal operators with meanings
which can be characterised informally as, for example "it is
necessary that φ" and "it is possible that φ“
www.sti-innsbruck.at
92
SUMMARY
www.sti-innsbruck.at
93
Summary
• Predicate logic differentiates from propositional logic by
its use of quantifiers
– Each interpretation of predicate logic includes a domain of
discourse over which the quantifiers range.
• There are many deductive systems for predicate logic
that are sound (only deriving correct results) and
complete (able to derive any logically valid implication)
• The logical consequence relation in predicate logic is
only semidecidable
• This lecture focused on three core aspects of the
propositional logic: Syntax, Semantics, and Reasoning
www.sti-innsbruck.at
94
REFERENCES
www.sti-innsbruck.at
95
References
• Mathematical Logic for Computer Science (2nd edition)
by Mordechai Ben-Ari
– http://www.springer.com/computer/foundations/book/978-185233-319-5
• Propositional Logic at Stanford Encyclopedia of
Philosophy
– http://plato.stanford.edu/entries/logic-classical/
• First-order logic on Wikipedia
– http://en.wikipedia.org/wiki/First-order_logic
• Many online resources
– http://www.google.com/search?q=predicate+logic
– http://www.google.com/search?hl=en&q=First-order+logic
www.sti-innsbruck.at
96
Next Lecture
#
Date
Title
1
Introduction
2
Propositional Logic
3
Predicate Logic
4
Theorem Proving, Logic Programming, and Description Logics
5
Search methods
6
CommonKADS
7
Problem-Solving Methods
8
Planning
9
Agents
10
Rule learning
11
Inductive Logic Programming
12
Formal Concept Analysis
13
Neural Networks
14
Semantic Web and Exam Preparation
www.sti-innsbruck.at
97
Questions?
www.sti-innsbruck.at
98