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
 Ax/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