Logika dla informatyków/Logika pierwszego rzędu. Sposób użycia: Różnice pomiędzy wersjami
Linia 28: | Linia 28: | ||
}} | }} | ||
Formuły (1-3) powyżej wyrażają własności kwantyfikatora szczegółowego i są odpowiednikami formuł z | Formuły (1-3) powyżej wyrażają własności kwantyfikatora szczegółowego i są odpowiednikami formuł z [[Logika dla informatyków/Język logiki pierwszego rzędu#taut5|Faktu 2.7]]. | ||
Zauważmy, | Zauważmy, | ||
że zamiast rozdzielności kwantyfikatora szczegółowego, mamy tu jeszcze | że zamiast rozdzielności kwantyfikatora szczegółowego, mamy tu jeszcze | ||
jedno prawo rozkładu kwantyfikatora ogólnego. Zakłóca to nieco symetrię | jedno prawo rozkładu kwantyfikatora ogólnego. Zakłóca to nieco symetrię | ||
pomiędzy <math>\forall</math> i <math>\exists</math>, wyrażoną prawami | pomiędzy <math>\forall</math> i <math>\exists</math>, wyrażoną prawami | ||
de Morgana ( | de Morgana (4) i (4). | ||
Kolejne dwie tautologie | Kolejne dwie tautologie | ||
Linia 39: | Linia 39: | ||
i kwantyfikatora szczegółowego z alternatywą. (Uwaga: zmienna <math>x</math> może | i kwantyfikatora szczegółowego z alternatywą. (Uwaga: zmienna <math>x</math> może | ||
być wolna w <math>\var\varphi</math> i <math>\psi</math>.) Analogiczna rozdzielność kwantyfikatora | być wolna w <math>\var\varphi</math> i <math>\psi</math>.) Analogiczna rozdzielność kwantyfikatora | ||
ogólnego względem alternatywy ( | ogólnego względem alternatywy (8) i kwantyfikatora | ||
szczegółowego | szczegółowego | ||
względem koniunkcji ( | względem koniunkcji (9) nie zawsze jest prawdą, ale zachodzi pod | ||
warunkiem, że zmienna wiązana kwantyfikatorem nie występuje w jednym | warunkiem, że zmienna wiązana kwantyfikatorem nie występuje w jednym | ||
z członów formuły. (Prawo ( | z członów formuły. (Prawo (8) nazywane bywa prawem Grzegorczyka.) | ||
Formuła ( | Formuła (10) jest odbiciem naszego założenia o niepustości | ||
świata. Jest to tautologia, ponieważ | świata. Jest to tautologia, ponieważ umówiliśmy się, że | ||
rozważamy tylko struktury o niepustych nośnikach. | rozważamy tylko struktury o niepustych nośnikach. | ||
Prawa ( | Prawa (11)--(13) charakteryzują możliwości permutowania | ||
kwantyfikatorów. Implikacja odwrotna do ( | kwantyfikatorów. Implikacja odwrotna do (13) zazwyczaj nie jest | ||
tautologią. | tautologią. | ||
Stosując równoważności ( | Stosując równoważności (4--[9) możemy każdą formułę | ||
sprowadzić do postaci, w której wszystkie kwantyfikatory znajdują się | sprowadzić do postaci, w której wszystkie kwantyfikatory znajdują się | ||
na początku. | na początku. | ||
{{definicja||paniwyszla| | {{definicja|3.2|paniwyszla| | ||
Mówimy, że formuła <math>\var\varphi</math> jest w | Mówimy, że formuła <math>\var\varphi</math> jest w ''preneksowej postaci normalnej'', gdy | ||
postaci normalnej | |||
<center><math>\var\varphi = Q_1y_1Q_2y_2\ldots Q_ny_n\,\psi</math>, </center> | |||
gdzie każde z <math>Q_i</math> to <math>\forall</math> lub <math>\exists</math>, a <math>\psi</math> jest | gdzie każde z <math>Q_i</math> to <math>\forall</math> lub <math>\exists</math>, a <math>\psi</math> jest | ||
Linia 68: | Linia 67: | ||
}} | }} | ||
{{fakt||drzwi| | {{fakt|3.3|drzwi| | ||
Dla każdej formuły pierwszego rzędu | Dla każdej formuły pierwszego rzędu | ||
Linia 75: | Linia 74: | ||
}} | }} | ||
{{dowod|| | {{dowod||| | ||
Indukcja (ćwiczenie). | Indukcja (ćwiczenie). | ||
}} | }} | ||
{{przyklad||zamknela| | {{przyklad|3.3|zamknela| | ||
Formuła <math>\exists y p(y) \to \forall z q(z)</math> | Formuła <math>\exists y p(y) \to \forall z q(z)</math> | ||
jest równoważna każdej z następujących formuł: | jest równoważna każdej z następujących formuł: | ||
<math>\neg\exists y\, p(y)\vee\forall z\, q(z)</math>; | |||
<math>\forall y\, \neg p(y)\vee\forall z\, q(z)</math>; | |||
<math>\forall y(\neg p(y)\vee\forall z\, q(z))</math>; | |||
<math>\forall y\forall z(\neg p(y)\vee q(z))</math>; | |||
<math>\forall y\forall z( p(y)\to q(z))</math>. | |||
}} | }} | ||
Wersja z 20:28, 21 wrz 2006
Logika pierwszego rzędu. Sposób użycia.
Przyjrzyjmy się teraz kilku ważnym tautologiom.
Fakt
Następujące formuły są tautologiami (dla dowolnych Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} i ).
- Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \forall x(\var\varphi\to\psi)\to(\exists x\var\varphi\to\exists x\psi)} ;
- , o ile ;
- ;
- ;
- ;
- ;
- ;
- ,o ile ;
- , o ile ;
- ;
- ;
- ;
- ;
Dowód
Formuły (1-3) powyżej wyrażają własności kwantyfikatora szczegółowego i są odpowiednikami formuł z Faktu 2.7. Zauważmy, że zamiast rozdzielności kwantyfikatora szczegółowego, mamy tu jeszcze jedno prawo rozkładu kwantyfikatora ogólnego. Zakłóca to nieco symetrię pomiędzy i , wyrażoną prawami de Morgana (4) i (4).
Kolejne dwie tautologie przypominają o bliskim związku kwantyfikatora ogólnego z koniunkcją i kwantyfikatora szczegółowego z alternatywą. (Uwaga: zmienna może być wolna w Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} i .) Analogiczna rozdzielność kwantyfikatora ogólnego względem alternatywy (8) i kwantyfikatora szczegółowego względem koniunkcji (9) nie zawsze jest prawdą, ale zachodzi pod warunkiem, że zmienna wiązana kwantyfikatorem nie występuje w jednym z członów formuły. (Prawo (8) nazywane bywa prawem Grzegorczyka.)
Formuła (10) jest odbiciem naszego założenia o niepustości świata. Jest to tautologia, ponieważ umówiliśmy się, że rozważamy tylko struktury o niepustych nośnikach.
Prawa (11)--(13) charakteryzują możliwości permutowania kwantyfikatorów. Implikacja odwrotna do (13) zazwyczaj nie jest tautologią.
Stosując równoważności (4--[9) możemy każdą formułę sprowadzić do postaci, w której wszystkie kwantyfikatory znajdują się na początku.
Definicja 3.2
Mówimy, że formuła Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest w preneksowej postaci normalnej, gdy
gdzie każde z to lub , a jest formułą otwartą. (Oczywiście może być zerem.)
Fakt 3.3
Dla każdej formuły pierwszego rzędu istnieje równoważna jej formuła w preneksowej postaci normalnej.
Dowód
Przykład 3.3
Formuła jest równoważna każdej z następujących formuł:
;
;
;
;
.
Logika formalna i język polski
Systemy logiki formalnej są, jak już mówiliśmy, tylko pewnymi modelami, czy też przybliżeniami rzeczywistych sposobów wyrażania różnych stwierdzeń i wnioskowania o ich poprawności. Poziom dokładności takich przybliżeń może być większy lub mniejszy. Większy tam, gdzie mamy do czynienia z dobrze określoną teorią matematyczną, lub językiem programowania. Mniejszy wtedy, gdy\boldsymbol{s}}\def\blank{\hbox{\sf Bżywamy logiki do weryfikacji poprawności stwierdzeń języka p\leftrightarrowcznego, choćby takiego jak podręcznikowy przykład: {\it,,Janek idzie do szkoły.} Oczywiście przypisanie temu stwierdzeniu wartości logicznej jest zgoła niemożliwe, nie wiemy bowiem, który Janek do jakiej ma iść szkoły i czy może już doszedł? Więcej sensu ma zastosowanie logiki predykatów do analizy np. takiego rozumowania: \begin{center}\it Każdy cyrulik sewilski goli tych wszystkich mężczyzn w Sewilli, którzy się sami nie golą.\\ Ale nie goli żadnego z tych, którzy golą się sami.\\ A zatem w Sewilli nie ma ani jednego cyrulika. \end{center} W tym przypadku aparat logiki formalnej może być pomocny. Łatwiej zrozumieć o co chodzi, tłumacząc nasz problem na język logiki predykatów, i przedstawiając go jako pytanie o poprawność pewnego stwierdzenia postaci Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Gamma \models\var\varphi} . Można więc zapytać, czy
\hfil </math>\forall x (C(x) \wedge S(x) \to \forall y(G(x,y)\\leftrightarrow S(y)\wedge \neg G(y,y))) \models \neg \exists x (C(x) \wedge S(x)) ?</math>
Stwierdziwszy poprawność powyższego stwierdzenia, wywnioskujemy, że w Sewilli cyrulika nie ma. I będzie to wniosek\dots błędny, bo cyrulik być może jest kobietą.
W powyższym przykładzie po prostu źle\boldsymbol{s}}\def\blank{\hbox{\sf Bstalono logiczną interpretację naszego zadania, zapominając o jednym z jego istotnychelementów. Błąd ten można łatwo naprawić, co jest zalecane jako ćwiczenie. Ale nie zawsze język logiki formalnej wyraża ściśle to samo, co p\leftrightarrowczny język polski, a nawet język w którym pisane są prace matematyczne. Zarówno składnia jak i semantyka tych języków rządzi się zupełnie innymi prawami, i o tym należy pamiętać tłumacząc jeden na drugi.
\subsubsection*{Implikacja materialna i związek przyczynowo-skutkowy}
Implikacja, o której mówimy w logice klasycznej to tzw. \rightarrowlikacja materialna\/. Wartość logiczna, którą przypisujemy wyrażeniu ,,Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi \to\psi} \/ zależy wyłącznie od wartości logicznych przypisanych jego częściom składowym Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} i . Nie zależy natomiast zupełnie od treści tych wyrażeń, czy też jakichkolwiek innych związków pomiędzy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} i . W szczególności, wypowiedzi Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} i mogą mówić o zajściu jakichś zdarzeń i wtedy wartość logiczna \rightarrowlikacji ,,Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi\to\psi} nie ma nic wspólnego z ichewentualnym następstwem w czasie, lub też z tym, że jedno z tych zdarzeń spowodowało drugie. W języku polskim stwierdzenie ,,jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} to \/ oczywiście sugeruje taki związek, np. w zdaniu:
\hfil Jeśli zasilanie jest włączone, to terminal działa.
Tymczasem \rightarrowlikacja materialna nie zachodzi, o czym dobrze wiedzą\boldsymbol{s}}\def\blank{\hbox{\sf Bżytkownicy terminali. Co więcej, w istocie materialną prawdą jest stwierdzenie odwrotne:
\hfil Jeśli terminal działa to zasilanie jest włączone.
Natomiast zdanie
\hfil Terminal działa, ponieważ zasilanie jest włączone,
stwierdza nie tylko związek przyczynowo-skutkowy, ale też faktyczne zajście wymienionych zdarzeń i w ogóle nie ma odpowiednika w logice klasycznej.
Inne spójniki w mniejszym stopniu grożą podobnymi nieporozumieniami. Ale na przykład spójnik ,,i w języku polskim może też sugerować następstwo czasowe\footnote{W językach programowania jest podobnie, ale to już inna historia.} zdarzeń: ,,Poszedł i zrobił.'' A wyrażenie ,,A, chyba że B\/ ma inny odcień znaczeniowy niż proste {\it,,A lub B\/}. Przy tej okazji zwróćmy\boldsymbol{s}}\def\blank{\hbox{\sf Bwagę na to, że słowo ,,albo\/ bywa czasem rozumiane w znaczeniu alternatywy wykluczającej. My jednak\boldsymbol{s}}\def\blank{\hbox{\sf Bmawiamy się, że rozumiemy je tak samo jak {\it,,lub}.