Predikátová logika 1. řádu
Download
Report
Transcript Predikátová logika 1. řádu
st
1 -order
Predicate
Logic (FOL)
Now a “real logic”;
Think and concentrate !
First-Order Predicate Logic
1
Simple arguments, where
propositional logic does not suffice
All monkeys like bananas.
Judy is a monkey.
Judy likes bananas.
From the viewpoint of Propositional Logic (PL) the
above are simple (atomic) sentences:
p, q, r, and p, q does not entail r.
All students are clever
Charles is not clever
Charles is not a student
What are the valid schemata of these arguments?
First-Order Predicate Logic
2
Logical form (scheme) of an
argument
The schemata of the arguments above remind valid schemata of PL:
p q, p |= q (modus ponens) or
p q, q |= p (modus tollens)
But, in PL we cannot refine the analyses of simple sentences. Let us
reformulate them:
1. Every individual, if it is a Monkey, then it likes Bananas
2. Judy is an individual with the property of being a Monkey
3. Judy is an individual that likes Bananas
x [M(x) B(x)], M(J) |= B(J),
where x is an individual variable, M, B are predicate symbols, J is a
functional symbol
It is again a schema: For M, B, J we can substitute other properties and
individual, respectively. For instance, man for M, mortal for B and
Charles for J.
M, B, J are here only symbols which stand for properties and individuals
First-Order Predicate Logic
3
Formal language of FOL (firstorder predicate logic) Alphabet
Logical symbols
individual variables: x, y, z, ...
Symbols for truth-connectives: , , , ,
Symbols for quantifiers: ,
Special symbols
Predicate: Pn, Qn, ...
Functional: fn, gn, hn, ...
n – arity = number of
arguments
-- „ --
Auxiliary symbols: (, ), [, ], {, }, ...
First-Order Predicate Logic
4
Formal language of FOL
Grammar
terms:
each symbol for a variable x, y, ... is a term
ii. if t1,…,tn (n 0) are terms and if f is an n-ary
functional symbol, then the expression f(t1,…,tn) is a
term;
If n = 0, then we talk about individual constant
(denoted a, b, c, …)
iii. only expressions due to i. and ii. are terms
i.
First-Order Predicate Logic
5
Formal language of FOL
Grammar
atomic formulas:
If P is an n-ary predicate symbol and if t1,…,tn are
terms, then P(t1,…,tn) is an atomic formula
(composed) formulas:
each atomic formula is a formula
if A is a formula, then A is a formula
if A and B are formulas, then
(A B), (A B), (A B), (A B) are formulas
if x is a variable and A a formula, then
x A and x A are formulas
First-Order Predicate Logic
6
Formal language of FOL
1st-order
We can quantify only over individual variables
We cannot quantify over properties or functions
Example: Leibniz’s definition of identity:
If two individuals have all the properties identical, then
it is one and the same individual
P [ P(x) = P(y)] (x = y)
here we need a 2nd-order language, because we
quantify over properties
First-Order Predicate Logic
7
Example:
the language of arithmetic
We need special functional symbols:
0-ary symbol: 0 (the constant zero) –
constant is a 0-ary functional symbol
unary symbol: s (the successor function)
binary symbols: + and (functions of adding and multiplying)
Examples of terms (using infix notation for + and ):
0, s(x), s(s(x)), (x + y) s(s(0)), etc.
Formulas are, e.g.:
(= is here a special predicate symbol):
s(0) = (0 x) + s(0), x (y = x z), x [(x = y) y (x = s(y))]
First-Order Predicate Logic
8
Transforming natural language
into the language of FOL
“all”, “every”, “none”, “nobody”, “any”, ...
“somebody”, “something”, “some”, “there is”, ...
A sentence often needs to be reformulated (in an equivalent
way)
No student is retired (For any student it holds that he is not
retired):
x [S(x) R(x)]
But: Not all students are retired (It is not true that any student
is retired):
x [S(x) R(x)] x [S(x) R(x)]
First-Order Predicate Logic
9
Transforming natural language
into the language of FOL
An auxiliary rule: + , + (almost always)
x [P(x) Q(x)] x [P(x) Q(x)]
It is not true that all P’s are Q’s
Some P’s are not Q’s
x [P(x) Q(x)] x [P(x) Q(x)]
It is not true that some P’s are Q’s
No P is a Q
de Morgan laws in FOL
First-Order Predicate Logic
10
Transforming natural language
into the language of FOL
The lift is used only by employees
x [L(x) E(x)]
All employees use the lift
x [E(x) L(x)]
Mary likes only the winners:
Hence, for all individuals it holds that if Mary likes
him then he must be a winner:
x [L(m, x) W(x)],
“to like” is a binary relation, not a property !!!
First-Order Predicate Logic
11
Transforming natural language
into the language of FOL
Everybody loves somebody sometimes
x y t L(x, y, t)
Everybody loves somebody sometimes but
Hitler doesn’t like anybody
x y t L(x, y, t) z L’(h, z)
Everybody loves nobody – ambiguous
Nobody loves anybody – ambiguous;
Everybody dislikes anybody:
x y L’(x, y) x y L’(x, y)
First-Order Predicate Logic
12
Free, bound variables
x y P(x, y, t) x Q(y, x)
bound, free
free, bound
Formula with clear variables: each variable has only free
occurrences, or only bound occurrences; each quantifier
“has its own variables”.
For instance, the above formula does not have clear variables:
x in the second conjunct is another variable than the x in the
first conjunct, similarly for y. Clear formula:
x y P(x, y, t) z Q(u, z)
First-Order Predicate Logic
13
Substitution of terms for
variables
Ax/t arises from A by a correct (i.e., collisionless)
substitution of a term t for the variable x.
There are two rules for a correct substitution:
We can substitute a term t only for free occurrences of a
variable x in a formula A, and we have to substitute for all the
free occurrences.
No individual variable that occurrs in the term t can become
bound in A
(in such a case the term t is not substitutable for x in the
formula A).
First-Order Predicate Logic
14
Substitution, example
A(x): P(x) y Q(x, y), term t = f(y)
After executing the substitution A(x/f(y)), we
obtain:
P(f(y)) y Q(f(y), y).
The term f(y) is not substitutable for x in A
We’d change the sense of the formula
First-Order Predicate Logic
15
Semantics of FOL !!!
P(x) y Q(x, y) – is this formula true?
A non-reasonable question;
For, we do not know what the symbols P, Q mean,
what they stand for. They are only symbols which
can stand for any predicate (property).
P(x) P(x) – is this formula true?
YES, it is; and it is always so, in all the
circumstances. It is necessarily true.
First-Order Predicate Logic
16
Semantics of FOL !!!
x P(x, f(x)) we have to specify first,
x P(x , f(x)) how to understand these formulas:
1) What do they talk about; we have to choose the universe
of discourse: any non-empty set U
2) What does the symbol P denote; it is binary, with two
arguments; it has to denote a binary relation R U U
3) What does the symbol f denote; it is an unary, oneargument symbol; it has to denote a function F U U,
denoted F: U U
First-Order Predicate Logic
17
Semantics of FOL !!!
A: x P(x, f(x))
we have to specify
B: x P(x , f(x))
how to understand these formulas:
1) Let U = N (the set of natural numbers)
2) let P denote the relation <
(i.e., the set of pairs, where the first element is strictly
less than the second one: {0,1, 0,2, …,1,2, …})
3) Let f denote the function second power x2, i.e., the set of
pairs where the second element is the power of the first
one: {0,0, 1,1, 2,4, …,5,25, …}
Now we can evaluate the truth values of the formulas A, B
First-Order Predicate Logic
18
Semantics of FOL !!!
A: x P(x, f(x))
B: x P(x , f(x))
We evaluate “from the inside”:
First evaluate the term f(x). Each term denotes an element of
the universe. Which one? It depends on the valuation e
of the variable x.
Let e(x) = 0, then f(x) = x2 = 0.
Let e(x) = 1, then f(x) = x2 = 1,
Let e(x) = 2, then f(x) = x2 = 4, etc.
Now by evaluating P(x , f(x)) we have to obtain a truth value:
e(x) = 0, 0 is not < 0 False
e(x) = 1, 1 is not < 1 False,
e(x) = 2, 2 is < 4
True.
First-Order Predicate Logic
19
Semantics of FOL !!!
A: x P(x, f(x))
B: x P(x , f(x))
The formula P(x , f(x)) is in the given interpretation
True for some valuations of the variable x, and
False for other valuations.
The meaning of x (x): the formula is true for all
(some) valuations of x
Formula A: False in our interpretation I: |I A
Formula B: True in the interpretation I: |=I B
First-Order Predicate Logic
20
Model of a formula,
interpretation
A: x P(x, f(x))
B: x P(x , f(x))
We have found an interpretation I in which the formula B is
true. The Interpretation structure N, <, x2 satisfies the
formula B; it is a model of the formula B.
How to adjust the interpretation in order it were a model of
the formula A? There are infinitely many possibilities,
infinitely many models.
For instance: N, <, x+1, {N/{0,1}, <, x2, N, , x2, …
All the models of the formula A are also models of the
formula B
(“what holds for all, it holds also for some”)
First-Order Predicate Logic
21
Model of a formula,
interpretation
C: x P(x, f(y))
what are the models of this formula
(with a free variable y)?
Let us again
1. choose a Universe U = N
2. to the symbol P assign a relation:
3. to the symbol f assign a function: x2
Is the structure IS = N, , power a model of the formula C?
In order it were so, the formula C would have to be true in IS
for all the valuations of the variable y. Hence the formula
P(x, f(y)) would have to be true for all valuations of x and y.
But it is not so, for instance, if e(x) = 5, e(y) = 2, then 5 is not 22
First-Order Predicate Logic
22
Model of a formula,
interpretation
C: x P(x, f(y))
what are the models of this formula
(with a free variable y)?
The structure N, , x2 is not a model of formula C.
A (trivial) model is, e.g., N, N N, x2. The whole
Cartesian product N N, i.e. the set of all the pairs
of natural numbers, is also a relation over N.
Or, the structure N, , F, where F is the function,
mapping N N, such that F associates all the
natural numbers with the number 0.
First-Order Predicate Logic
23