MAD_w7

advertisement
Wykład 7
Rachunek predykatów
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
1
Funkcje zdaniowe
Niech X.Funkcją zdaniową jednej zmiennej x, której zakresem
zmienności jest przestrzeń X, nazywamy wyrażenie f(x), w którym
występuje zmienna x i które staje się zdaniem prawdziwym lub
fałszywym, gdy w miejsce zmiennej x wstawimy dowolny obiekt ze
zbioru X.
Przykład
x+x2>0 , x Z
n+1 < 2, n  N
|x| 3 , x R
x2 + y2 >0, (x,y) R2
Przestrzeń
X może
sama
być produktem
Każda
funkcja
zdaniowa
kartezjańskim
Wtedy zmienna x
wyznaczaX1...
pewienXn.
podzbiór
przyjmuje (pewna
jako wartości
elementy tego
własność)
produktu.
Mówimy
że mamy do
przestrzeni,
w wówczas,
której została
czynienia z funkcją
zdaniową n argumentową.
określona.
Uwaga Funkcja zdaniowa f(x),jednej zmiennej x, jest po prostu
funkcją f : X --> {0,1} taką, że dla dowolnego xX, f(x) jest
zdaniem w sensie rachunku zdań.
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
2
Predykaty złożone
Funkcje zdaniowe (inaczej predykaty) można łączyć spójnikami
logicznymi. Powstają w ten sposób nowe, złożone funkcje
zdaniowe.
Przykłady złożonych predykatów:
(a(x) b(x)) , (a(x) b(x)) , (a(x) b(x)), b(x)
((x-3=0) (x+y <4)) (y <1)
Jeśli po wstawieniu w miejsce zmiennej x elementu a X w
predykacie a(x) określonym w pewnym zbiorze X otrzymujemy zdanie
prawdziwe, to mówimy, że a spełnia funkcję zdaniową a(x). Ogół tych
wartości x X dla których funkcja zdaniowa a(x) jest spełniona
oznaczamy przez {xX: a(x) }.
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
3
Spełnianie
Element a X spełnia funkcję zdaniową (a(x) b(x)) wttw a
spełnia a(x) lub a spełnia b(x).
Fakt 1 {x X : (a(x) b(x))} = {x X : a(x)}  {x X : b(x)}
Element a X spełnia funkcję zdaniową (a(x) b(x)) wttw a
spełnia a(x) i a spełnia b(x).
Fakt 2 {x X : (a(x) b(x))} = {x X : a(x)}  {x X : b(x)}
Element a X spełnia
funkcję zdaniową  a(x)
wttw a nie spełnia a(x).
14 listopada 2001
Fakt 3
{x X : a(x)} = X \{x X : a(x)}
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
4
Kwantyfikatory
(x)a(x)
Kwantyfikator
egzystencjalny (szczegółowy)
istnieje x takie, że a(x)
a(x)jest zakresem kwantyfikatora
szczegółowego lub ogólnego.
Zmienna x będąca w zakresie kwantyfikatora
wiążącego tę zmienną jest zmienną związaną
(x)a(x)
14 listopada 2001
Kwantyfikator
wiąże
wymienioną
zmienną
Przykład
(x)( x+y<6  x*y>0)
(x) (y)(a(x)  b(y))
(x) a(x,y) (y) b(y)
Kwantyfikator
uniwersalny (ogólny)
dla każdego x, a(x)
Wolne wystąpienie y
związane wystąpienie y
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
5
Spełnianie
Niech a(x) będzie predykatem określonym w pewnym zbiorze X.
Zdanie (x)a(x) jest prawdziwe w X wttw istnieje element a X , który
spełnia funkcję zdaniową a(x).
Zdanie (x)a(x)jest prawdziwe w X wttw każdy element a spełnia
funkcje zdaniową a(x).
14 listopada 2001
Zdanie (x)a(x) jest
prawdziwe w X wttw
{xX : a(x)} .
Zdanie ( x)a(x) jest
prawdziwe w X wttw
{xX : a(x)}= X.
(x)a(x) jest zdaniem
fałszywym wttw
{xX : a(x)}=.
( x)a(x) jest zdaniem
fałszywym wttw
{xX : a(x)}  X.
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
6
Przykład
Przykład Rozważmy funkcję zdaniową (x+2)*(x-3)<0 w zbiorze
liczb rzeczywistych R. Ponieważ 2 spełnia tę funkcję a liczba 3
nie spełnia tej funkcji, to
(x) ((x+2)*(x-3)<0) jest zdaniem prawdziwym, a
( x) ( (x+2)*(x-3)<0) jest zdaniem fałszywym.
Uogólnienie Niech (x)a(x,y) będzie funkcją zdaniową o zmiennych
wolnych x X, yY. Wtedy (x)a(x,y) oraz (x)a(x,y) są
funkcjami zdaniowymi zmiennych wolnych yY.
Element y Y spełnia funkcję
zdaniową (x)a(x,y)wttw istnieje
takie a X, że a(a,y)jest zdaniem
prawdziwym.
14 listopada 2001
Element y Y spełnia funkcję
zdaniową ( x)a(x,y)wttw dla
dowolnego a X, a(a,y)jest
zdaniem prawdziwym.
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
7
Operacje logiczne a kwantyfikatory
Jeśli X jest zb. skończonym o
Kwantyfikator szczegółowy
elementach a1,a2,...an, a a(x)
predykatem określonym w zbiorze X, można uważać za
to prawdziwa jest następująca
uogólnienie alternatywy.
równoważność
( x)a(x) (a(a1)a(a2)... a(an))
Kwantyfikator ogólny można
uważać za uogólnienie
koniunkcji.
14 listopada 2001
Jeśli X ={a1,a2,...an}, a a(x)predykatem
określonym w zbiorze X, to prawdziwa
jest następująca równoważność
(x)a(x) (a(a1)a(a2)... a(an))
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
8
Działania uogólnione a kwantyfikatory
Niech A={ Ai }iI będzie indeksowaną rodziną
podzbiorów pewnej przestrzeni X.
 iI Ai = {x: x Aj dla pewnego j  I}
 iI Ai = {x: x  Aj dla każdego j  I}
Suma
uogólniona
Iloczyn
uogólniony
Rozważmy funkcję zdaniową 2 zmiennych a(x,y), x  X, y  Y.
 yY {x  X : a(x,y)} = {x  X : (y) a
(x,y)}
 yY {x  X : a(x,y)} = {x  X : (y) a
(x,y)}
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
9
Kwantyfikatory ograniczone
Przykład Warunek Cauchy’ego
ciąg (an) jest zbieżny do liczby a wttw dla
każdego e>0 istnieje liczba naturalna n0 taka,
że dla każdego n>n0 |an -a | < e.
Kwantyfikator
o zakresie ograniczonym
przez funkcję
zdaniową
Notacja : (b(x)) a(x)( b(x)) a(x)
ciąg (an) jest zbieżny do a wttw ( e>0 ) ( n0N) ( n>n0) |an -a | < e
(b(x)) a(x)jest prawdziwe wttw (x)(b(x)  a(x))jest prawdziwe.
( b(x)) a(x)jest prawdziwe wttw ( x)(b(x)  a(x))jest prawdziwe.
ciąg (an) jest zbieżny do a wttw
(e)(e>0  ( n0)(n0N (n)(n>n0  |an -a | < e)))
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
10
Język rachunku predykatów
Niech V0 będzie zbiorem zmiennych zdaniowych, V- zbiorem zmiennych
indywiduowych, P-zbiorem nazw relacji, F-zbiorem nazw funkcji.
Zbiór termów jest to
najmniejszy zbiór
zawierający V i taki, że
jeśli f jest nazwą funkcji
n argumentowej a t1,...,tn
termami, to f(t1,...,tn) jest
termem.
14 listopada 2001
Zbiór formuł jest to najmniejszy zbiór
wyrażeń zawierających V0 i taki, że
- jeśli r jest nazwą relacji n argum., a
t1,...,tn są termami, to r(t1,...,tn) jest
formułą,
- jeśli a i b są formułami, to a, (ab ),
(ab ), (ab ), (ab ), są formułami,
- jeśli a(x) jest formułą ze zmienną wolną
x, to (x)a(x) i (x)a(x) są formułami.
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
11
Semantyka
x + y = s(x,y)
Jak policzyć
wartość
tego wyrażenia?
Aby określić sens formuły rachunku funkcyjnego potrzeba:
Czyli ustalić
Ustalić interpretację symboli funkcyjnych i
strukturę
predykatywnych
danych STR i
oraz wybrać wartości dla zmiennych.
wartościowanie v
STR, v |= a(x)b(x)wttw STR, v |= a(x) lub STR, v |= b(x)
STR, v |= a(x)b(x)wttw STR, v |= a(x) i STR, v |= b(x)
STR, v |= (x)a(x)wttw STR, v(x/a) |= a(x)dla wszystkich a STR
STR, v |= ( x)a(x)wttw STR, v(x/a) |= a(x)dla pewnego a STR
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
12
Przykład
*
(x+y) * z
+
(1) N, (x/1,y/3) |= (x + y >2 )
x/ 3
z/ 3
y/5
Zatem mamy też
N |= ( x) ( y) (x + y >2 )
oraz N |= (z) ( x) ( y) (x + y >z )
(2) Stosy |= (e) (s) top(pop(push(e, s))) = top(s)
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
13
Tautologie
Definicja Formułę rachunku funkcyjnego nazywamy tautologią(lub
prawem rachunku funkcyjnego), jeżeli jej wartością jest prawda,
niezależnie od wartości zmiennych oraz interpretacji symboli
relacyjnych i funkcyjnych w niej występujących.
Przykłady.
(x)a(x) a(y )(x)a(x) (y)a(y)
a (x)   a (x)
(*)(x)a(x) (x)a(x)
Dowód (*) Gdyby ta implikacja
była fałszywa przy pewnej
Jeśli a jest prawem rachunku zdań,
to podstawiając za zmienne zdaniowe interpretacji formuły a(x)w
występujące w a, dowolne formuły niepustym uniwersum X, wtedy
rachunku funkcyjnego otrzymujemy byłoby {xX: a(x)}=X oraz
tautologię rachunku predykatów.
{xX: a(x)}= . Czyli X=  ,
sprzeczność.
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
14
Przykłady tautologii
Oznaczenie Zamiast „a jest tautologią rachunku funkcyjnego”
piszemy krótko |=a .
Następujące formuły są prawami rachunku predykatów (są tautologiami)
(1) ((x) a(x))  ((x)  a (x) )
prawa de Morgana
(2) (( x) a(x))  (( x) a (x) )
(3) (x)(a(x)  b(x)) ((x) a(x)  (x) b(x))
(4) ( x) ( y) a(x,y)  ( y) ( x) a(x,y)
(5) ( x)(a(x)  b)  (( x)a(x)  b ) o ile zmienna x nie występuje w b
prawo włączania i wyłączania kwantyfikatorów
Np.: ((x) (x2>x+1) ((x)  (x2>x+1))
jest zdaniem prawdziwym w R
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
15
Reguły wnioskowania
Reguły dowodzenia (reguły wnioskowania) są to przekształcenia
postaci
przesłanki
wniosek
a1,a2,...,an
b
które pewnemu skończonemu zbiorowi formuł (formuł) a1,..., an,
przyporządkowują formułę b, w taki sposób, że dla dowolnej struktury
danych STR takiej, że STR |= a1...  an, to STR |= b (tzn. wniosek
też jest zdaniem prawdziwym w strukturze STR).
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
16
Przykłady reguł
a, a  b
b
Ad (*) Przypuśćmy, że
(1) STR |= (a(x)  b) oraz (2)
Reguła odrywania nie zachodzi
STR |= (( x) a(x) b). Wtedy
z (2)
dla pewnego
Wniosek
v mamy
a(x)
Towartościowania
są poprawne
STR,v |= ( x) a(x)
(x) a(x)
reguły
wnioskowania
Reguła uogólniania STR,v
|=  b.Czyli dla
w rachunku
pewnegopredykatów
a STR,
(*)
STR,v(x/a) |= a(x)
(a(x)  b)
STR,v(x/a) |=  b.
Reguła dołączania kwantyfikatora
(( x) a(x) b)
Tzn. STR,v(x/a) |= (a(x)  b)
egzystencjalnego
Sprzeczność z (1).
x nie występuje w b
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
17
Zastosowanie
Niech będzie rodzina podzbiorów zbioru X, ( Ai) iI oraz
funkcja f : X  Y. Udowodnimy, że f(  Ai)   f(Ai).
Dowód:
1. y  f(  Ai)
na mocy def. obrazu funkcji
2. ( x X)( x   Ai  f(x)=y)
3. ( x X) (( i I) x Ai  f(x)=y)
4. ( x X) ( i I) (x Ai  f(x)=y)
5. ( i I) ( x X)(x Ai  f(x)=y)
6. ( i I) y  f(Ai)
7. y   f(Ai)
z def. iloczynu uogólnionego
z prawa włączania- wyłączania
cz. przemienność kwantyfik.
z def. obrazu funkcji
z def. iloczynu uogólnionego
f(  Ai)   f(Ai)
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
18
Implikacja semantyczna
Niech STR będzie ustaloną strukturą danych, w której
interpretujemy rozważane formuły.
Będziemy pisali (a  b) dla oznaczenia, że wyrażenie a implikuje
semantycznie w strukturze STR wyrażenie b, tzn.
(ab) wttw STR |= (a  b) (tzn. implikacja a  b jest prawdziwa w
strukturze STR).
Będziemy pisali (a  b) dla oznaczenia, że wyrażenie a jest
semantycznie równoważne wyrażeniu b w strukturze STR, tzn.
(a  b) wttw STR |= (a  b).
W poprzednim przykładzie: 1  2  3  4  5  6  7
Czyli 1  7.
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
19
Zastosowanie
Rozważmy program
{
z:= x; y :=1; m := n;
zm * y = xn
while (m  0) zm * y = xn Odd(m)  (z * z)mdiv 2 * (y * z) = xn
{ if odd(m)
lub Odd(m)  (z * z)mdiv 2 * y = xn
{ y := y * z; }
Wniosek
m := m div 2;
Dla dowolnych xR i
z := z * z;
zm * y = xn
nN, po wykonaniu
}
programu mamy
}m
n
z * y = x oraz
y = xn .
m=0
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
20
System formalny
Semantyka
+
Aksjomaty
Formuły
prawdziwe
=
Reguły
Formuły
dowodliwe
Pełność rachunku logicznego
|= a
wtedy i tylko wtedy |- a
dla dowolnej formuły rozważanego języka.
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
21
Problemy
NIESPRZECZNOŚĆ
ZUPEŁNOŚĆ
ROZSTRZYGALNOŚĆ
w8
14 listopada 2001
Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
22
Download