E N D
Wykład 7 Rachunek predykatów Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
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. Każda funkcja zdaniowa wyznacza pewien podzbiór (pewna własność) przestrzeni, w której została określona. Przestrzeń X może sama być produktem kartezjańskim X1... Xn. Wtedy zmienna x przyjmuje jako wartości elementy tego produktu. Mówimy wówczas, że mamy do czynienia z funkcją zdaniową n argumentową. Przykładx+x2>0 , x Z n+1 < 2, n N|x| 3 , x R x2 + y2 >0, (x,y) R2 Uwaga Funkcja zdaniowa f(x),jednej zmiennej x, jest po prostu funkcją f : X --> {0,1} taką, że dla dowolnego xX, f(x) jest zdaniem w sensie rachunku zdań. Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
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 {xX: a (x) }. Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
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). Fakt 3 {x X : a(x) } = X \{x X : a(x)} Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Wolne wystąpienie y związane wystąpienie y Kwantyfikatory Kwantyfikator egzystencjalny (szczegółowy) istnieje x takie, że a(x) Kwantyfikator wiąże wymienioną zmienną (x)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ą Przykład (x)( x+y<6 x*y>0) (x) (y)(a(x) b(y)) (x) a(x,y)(y) b(y) (x)a(x) Kwantyfikator uniwersalny (ogólny) dla każdego x, a(x) Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
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). Zdanie (x)a(x) jest prawdziwe w X wttw {xX : a(x) } . Zdanie ( x)a(x) jest prawdziwe w X wttw {xX : a(x) }= X. Wnioski (x)a(x) jest zdaniem fałszywym wttw {xX : a(x) }= . ( x)a(x) jest zdaniem fałszywym wttw {xX : a(x) } X. Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
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, yY. Wtedy (x)a(x,y) oraz (x)a(x,y) są funkcjami zdaniowymi zmiennych wolnych yY. Element y Y spełnia funkcję zdaniową ( x)a(x,y) wttw dla dowolnego a X, a(a,y) jest zdaniem prawdziwym. Element y Y spełnia funkcję zdaniową (x)a(x,y) wttw istnieje takie a X, że a(a,y) jest zdaniem prawdziwym. Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Operacje logiczne a kwantyfikatory Jeśli X jest zb. skończonym o elementach 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) ) Kwantyfikator szczegółowy można uważać za uogólnienie alternatywy. 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) ) Kwantyfikator ogólny można uważać za uogólnienie koniunkcji. Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Działania uogólnione a kwantyfikatory Niech A={ Ai }iI będzie indeksowaną rodziną podzbiorów pewnej przestrzeni X. iIAi= {x: x Aj dla pewnego j I} iIAi= {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. yY {x X : a (x,y)} = {x X : (y) a (x,y)} yY{x X : a (x,y)}= {x X : (y) a (x,y)} Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Kwantyfikatory ograniczone Kwantyfikator o zakresie ograniczonym przez funkcję zdaniową 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. Notacja : (b(x)) a(x) ( b(x)) a(x) ciąg (an) jest zbieżny do a wttw ( e>0 ) ( n0N) ( n>n0) |an -a | < e (b(x)) a(x) jestprawdziwe wttw (x)(b(x)a(x)) jest prawdziwe. ( b(x)) a(x) jestprawdziwe wttw ( x)(b(x)a(x)) jest prawdziwe. ciąg (an) jest zbieżny do a wttw (e)(e>0 ( n0)(n0N (n)(n>n0 |an -a | < e ) )) Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Język rachunku predykatów Niech V0 będzie zbiorem zmiennych zdaniowych, V- zbiorem zmiennych indywiduowych, P-zbiorem nazw relacji, F-zbiorem nazw funkcji. Termy + Formuły 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), (a), (a), (a), są formułami, - jeśli a(x) jest formułą ze zmienną wolną x, to (x)a(x) i (x)a(x) są formułami. 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. Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Semantyka Jak policzyć wartość tego wyrażenia? x + y = s(x,y) Aby określić sens formuły rachunku funkcyjnego potrzeba: Czyli ustalić strukturę danych STR i wartościowanie v Ustalić interpretację symboli funkcyjnych i predykatywnych oraz wybrać wartości dla zmiennych. 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) wttwSTR, v(x/a) |= a(x) dla wszystkich a STR STR, v |= ( x)a(x) wttwSTR, v(x/a) |= a(x) dla pewnego a STR Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
* + z/ 3 x/ 3 y/5 Przykład (x+y) * z (1) N, (x/1,y/3) |= (x + y >2 ) 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) Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Tautologie DefinicjaFormułę 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) Lemat Dowód (*) Gdyby ta implikacja była fałszywa przy pewnej interpretacji formuły a(x) w niepustym uniwersum X, wtedy byłoby {xX: a(x) }=Xoraz {xX: a(x)}= . Czyli X= , sprzeczność. Jeśli a jest prawem rachunku zdań, to podstawiając za zmienne zdaniowe występujące w a, dowolne formuły rachunku funkcyjnego otrzymujemy tautologię rachunku predykatów. Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
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 Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Reguły wnioskowania Reguły dowodzenia (reguły wnioskowania) są to przekształcenia postaci przesłanki a1, a2, ... , an b wniosek które pewnemu skończonemu zbiorowi formuł (formuł) 1,..., n, przyporządkowują formułę , w taki sposób, że dla dowolnej struktury danych STR takiej, że STR |= 1... n, to STR |= b (tzn. wniosek też jest zdaniem prawdziwym w strukturze STR). Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
, a(x) (x)a(x) (*) (a(x)) ((x)a(x) ) x nie występuje w b Przykłady reguł Ad (*) Przypuśćmy, że (1) STR |= (a(x))oraz (2) nie zachodzi STR |= ((x)a(x) ).Wtedy z (2) dla pewnego wartościowania v mamy STR,v |= (x)a(x) STR,v |= b . Czyli dla pewnego a STR, STR,v(x/a) |= a(x) STR,v(x/a) |= b . Tzn. STR,v(x/a) |= (a(x))Sprzeczność z (1). Reguła odrywania Wniosek To są poprawne reguły wnioskowania w rachunku predykatów Reguła uogólniania Reguła dołączania kwantyfikatora egzystencjalnego Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Zastosowanie Niech będzie rodzina podzbiorów zbioru X, ( Ai) iI oraz funkcja f : X Y. Udowodnimy, że f( Ai) f(Ai). Dowód: 1. y f( Ai) na mocy def. obrazu funkcji2. (x X)( x Ai f(x)=y) z def. iloczynu uogólnionego3. (x X) ((i I) x Ai f(x)=y) z prawa włączania- wyłączania 4. (x X)(i I) (x Ai f(x)=y) cz. przemienność kwantyfik.5. (i I)(x X)(x Ai f(x)=y) z def. obrazu funkcji6. (i I)y f(Ai) z def. iloczynu uogólnionego7. y f(Ai) f( Ai) f(Ai) Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Implikacja semantyczna Niech STR będzie ustaloną strukturą danych, w której interpretujemy rozważane formuły. Będziemy pisali ( ) dla oznaczenia, że wyrażenie implikuje semantycznie w strukturze STR wyrażenie , tzn. () wttw STR | ( ) (tzn. implikacja jest prawdziwa w strukturze STR). Będziemy pisali ( ) dla oznaczenia, że wyrażenie jest semantycznie równoważne wyrażeniu w strukturze STR, tzn. ( ) wttw STR | ( ). W poprzednim przykładzie: 1 2 3 4 5 6 7 Czyli 1 7. Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Zastosowanie Rozważmy program { z:= x; y :=1; m := n; while (m 0) { if odd(m) { y := y * z; } m := m div 2; z := z * z; }} zm* y = xn zm* y = xn Odd(m) (z * z)mdiv 2* (y * z) = xn lub Odd(m) (z * z)mdiv 2* y = xn WniosekDla dowolnych xR i nN, po wykonaniu programu mamy y = xn . zm* y = xn zm* y = xn oraz m=0 Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
System formalny + Semantyka Aksjomaty Reguły Formuły prawdziwe Formuły dowodliwe = Pełność rachunku logicznego |= a wtedy i tylko wtedy |- a dla dowolnej formuły rozważanego języka. Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK
Problemy NIESPRZECZNOŚĆ ZUPEŁNOŚĆ ROZSTRZYGALNOŚĆ w8 Matematyka Dyskretna Rachunek funkcyjny, G.Mirkowska, PJWSTK