background image

 

73

 

 

Obecnie przechodzimy do 

klasycznego rachunku kwantyfikatorów

 (w skrócie KRK), 

zwanego często po prostu logiką klasyczną. KRK jest logiką wystarczającą dla potrzeb 

matematyki, chociaż nadal zbyt ograniczoną, aby pozwolić na analizę wielu rozumowań  

w języku naturalnym. Mimo to zakres zastosowań KRK znacznie przewyższa możliwości 

rachunku zdań omawianego w poprzednim module. Zademonstrujemy to na prostym przykładzie. 

Rozumowanie:  

Bambi jest słoniem. Wszystkie słonie mają wielkie uszy. Zatem, Bambi ma wielkie uszy. 

jest poprawne. Jednak próba wykazania jego poprawności przy użyciu KRZ jest skazana na 

niepowodzenie, gdyż nie występują tu w ogóle spójniki. Na gruncie KRZ schemat powyższego 

rozumowania wygląda więc następująco:  

p, q / r 

Wystarczy użyć wartościowania V(p)=V(q)=1 i V(r)=0, aby taki schemat poddać falsyfikacji. Gdy 

chcemy wykazać,  że interesujące nas rozumowanie jest poprawne, musimy umieć poddać 

analizie strukturę wewnętrzną jego zdań składowych, a to umożliwia dopiero KRK. 

W sposobie prezentacji KRK będziemy się trzymać jak najbliżej tej formy, którą zastosowaliśmy 

w odniesieniu do KRZ w poprzednim module. Przedstawimy w kolejnych tematach język, 

semantykę i reguły dowodzenia. Krótko mówiąc, logika klasyczna zostanie tutaj przedstawiona 

jako formalny rachunek. W ostatnim temacie skupimy się na identyczności i pewnych 

własnościach relacji dwuargumentowych, które znajdą zastosowanie w metodologii (moduł 6). 

Na problemach zastosowania KRK do analizy rozumowań w języku naturalnym skupimy się  

w następnym module. 

background image

 

74

 

 

Wspomnieliśmy we wstępie, że KRK to logika wystarczająca do zastosowań matematycznych. 

Zanim więc przedstawimy formalnie język, pokażemy na prostym przykładzie, jakie kategorie 

syntaktyczne są w matematyce potrzebne. W wyrażeniu: 

1.

 

y=x+4 wtw istnieje z takie, że z-3<y 

można wyróżnić trzy 

zmienne nazwowe

 (albo indywidualne) ”x”, ”y”, ”z”; jedna z nich (”z”) jest 

związana przez 

kwantyfikator mały

 (istnieje... takie, że) często zwany też egzystencjalnym, 

albo szczegółowym - pozostałe są wolne. ”4” i ”3” to 

stałe nazwowe

, gdyż w przeciwieństwie 

do zmiennych ”x”, ”y” ich znaczenie jest ustalone. ”+ ” i ”-” to 

stałe funkcyjne 

(krótko funkcje, 

albo operacje), obie o kategorii n/n,n, natomiast ”= ” i ”< ” to 

stałe predykatywne 

(predykaty, 

orzeczniki) o kategorii z/n,n.  

Wszystkie te wyrażenia to 

stałe pozalogiczne

, gdyż ich znaczenie jest sprecyzowane na 

gruncie pewnej teorii matematycznej, a nie na gruncie logiki. Jedyne stałe logiczne to spójnik 

wtw i kwantyfikator mały. Całość jest 

funkcją zdaniową

, gdyż zmienne ”x” i ”y” są wolne (nie są 

związane przez żaden kwantyfikator, czy ogólniej – operator), a zatem nie mają ustalonego 

znaczenia. 

Powyższy przykład pokazuje, że język KRK musi być wystarczająco bogaty, aby móc 

reprezentować nazwy, predykaty i operacje o dowolnej liczbie argumentów. Powyżej 

występowały stałe pozalogiczne, jednak logika ma dostarczać schematów reguł ważnych 

niezależnie od treści odpowiednich predykatów czy operacji. Dlatego będziemy używać 

zmiennych predykatywnych i funkcyjnych, nie poddając ich jednak kwantyfikacji. 

Intuicyjnie należy to rozumieć jako utajoną kwantyfikację ogólną, czyli – jeżeli w formule będą 

występować np. jakieś zmienne predykatywne, wtedy oznacza to, że warunek wyrażony w tej 

formule dotyczy dowolnych predykatów podstawionych za te zmienne. Z powodów czysto 

technicznych będziemy jednak rozróżniać zmienne nazwowe wiązane przez kwantyfikator od 

zmiennych tej samej kategorii, ale mających reprezentować pozalogiczne stałe nazwowe.  

Te drugie dalej będziemy skrótowo określać jako 

stałe nazwowe

background image

 

75

 

Jak widać z powyższych rozważań 

słownik 

języka KRK jest znacznie bardziej zróżnicowany  

i oprócz nowych stałych logicznych zawiera kilka grup zmiennych różnych kategorii: 

1) Nieskończony, przeliczalny zbiór 

zmiennych nazwowych

, (kategoria syntaktyczna n) który 

będziemy oznaczać krótko ZN; jego elementy to litery: x, y, z, v, w, ..., x

1

, y

1

,.... Zasadniczo 

będziemy ich używać tylko w powiązaniu z kwantyfikatorami. 

2) Nieskończony, przeliczalny zbiór 

zmiennych funkcyjnych 

(ZF) o różnych ilościach 

argumentów (również zeroargumentowych). W przypadku zerowej ilości argumentów mamy 

do czynienia po prostu ze 

stałymi nazwowymi

 (SN). Funkcją SN jest reprezentowanie 

dowolnych prostych nazw indywidualnych, a dla ich oznaczenia używać będziemy liter: a, b, 

c, ...., a

1

, b

1

, .... Dla zmiennych funkcyjnych o nie zerowej ilości argumentów (czyli kategorii 

n/n, n/n,n, n/n,n,n, ...) będziemy używali liter: f, g, h, ...., f

1

, g

1

, .... Ilość potrzebnych 

argumentów najczęściej będzie określał kontekst, w przeciwnym wypadku będzie ona 

zaznaczana górnym indeksem przy symbolu, np. g

3

 oznaczać  będzie,  że g jest kategorii 

n/n,n,n. 

3) Nieskończony, przeliczalny zbiór 

zmiennych predykatywnych

 (ZP), o różnych ilościach 

argumentów (kategorii z/n, z/n,n, z/n,n,n, ....). Tu również dopuszczamy zeroargumentowe 

zmienne predykatywne – są to po prostu zmienne zdaniowe (ZZ). Generalnie będziemy 

tutaj używać dowolnych dużych liter łacińskich: A, B, C, ...., A

1

, B

1

, ...., a jeśli ilość 

argumentów nie będzie wynikała z kontekstu, to będziemy ją zaznaczać, podobnie jak  

w przypadku zmiennych funkcyjnych, przez użycie indeksu górnego. 

4) 

Stałe logiczne

, to te same spójniki co w języku KRZ, a oprócz tego dwa kwantyfikatory:  

ogólny (dla każdego…

∀  

mały (dla pewnego …; istnieją takie…, że…)  

∃ 

Oba kwantyfikatory będą występowały zawsze w połączeniu ze zmiennymi nazwowymi, 

które mają wiązać w danej formule w następujący sposób

∀x” 

5) 

Nawiasy

, czyli znaki interpunkcyjne. 

background image

 

76

 

Najpierw podamy definicję 

termu

, czyli wyrażenia nazwowego języka KRK (w skrócie 

Term(KRK)), a następnie formuły. Generalnie, w metajęzyku używać będziemy następujących 

symboli: 

α, β  

– na oznaczenie dowolnych zmiennych nazwowych; 

σ  

– dla stałych nazwowych a 

σ

n

 

dla n-argumentowych zmiennych funkcyjnych; 

τ  

– dla dowolnych wyrażeń nazwowych; 

Π

n

  

– dla n-argumentowych zmiennych predykatywnych; 

ϕ i ψ   –

 

nadal oznaczają formuły, natomiast 

ϕ(α), ψ(α,β) oznaczają takie formuły, w których  

odpowiednie zmienne występują co najmniej w jednym miejscu jako wolne (czyli nie 

związane przez żaden kwantyfikator); 

Γ, ∆, Σ  – będą dalej używane jako symbole dowolnych zbiorów formuł. 

Zbiór Term(KRK) definiujemy następująco: 

a) ZN 

⊆ Term(KRK) oraz SN ⊆ Term(KRK) 

b) jeżeli 

τ

1

, ...., 

τ

n

, są (niekoniecznie różnymi) elementami Term(KRK), to wtedy  

σ(τ

1

, ....,

τ

n

) należy do Term(KRK), pod warunkiem, że 

σ

n

  należy do  ZF 

c) nic 

więcej nie należy do Term(KRK) 

 

Zbiór For(KRK) definiujemy następująco: 

a) ZZ 

⊆ For(KRZ) 

b) jeżeli 

τ

1

, ...., 

τ

n

,

  są (niekoniecznie różnymi) elementami Term(KRK), to wtedy  

Π(τ

1

, ....,

τ

n

) należy do For(KRK), pod warunkiem, że 

Π

n

 należy do ZP 

c) jeżeli 

ϕ i ψ należą do For(KRK), to ¬ϕ, (ϕ∧ψ), (ϕ∨ψ), (ϕ→ψ), (ϕ↔ψ),  ∀αϕ,  ∃αϕ też 

należą do For(KRK) 

d) nic 

więcej nie należy do For(KRK) 

Obie powyższe definicje są indukcyjne, przy czym druga z nich po prostu poszerza analogiczną 

definicję dla języka KRZ. Formuły scharakteryzowane w warunku a) i b) będziemy dalej określać 

jako 

formuły atomowe

. Zwróćmy uwagę,  że chociaż w praktyce matematycznej predykaty  

background image

 

77

i operacje dwuargumentowe zwykło się umieszczać pomiędzy argumentami, to dla odpowiednich 

zmiennych przyjęliśmy jednolitą formę zapisu, w której symbol predykatu (operacji) występuje 

zawsze przed swoimi argumentami. Podany wyżej przykład funkcji zdaniowej z języka arytmetyki 

ma więc następujący schemat w języku KRK: 

2. I(y,f(x,a)) ↔∃z(M(g(z,b),y)) 

Gdzie stałe nazwowe “a” i “b” zastępują (denotują) “4” i “3”, zmienne funkcyjne “f” i “g” zastępują 

“+” i “-“, natomiast zmienne predykatywne “I” i “M” zastępują “=” i “<”. 

background image

 

78

 

 

Zachowujemy dla języka KRK wszystkie konwencje skracające zapis, które wprowadziliśmy  

w module 3, ponadto wprowadzamy dodatkowe. 

K4) będziemy pomijali przecinki między termami i nawiasy zamykające argumenty danego 

predykatu lub operacji wszędzie tam, gdzie nie będzie to prowadziło do nieporozumień.  

Przykładowo – formuła 

2.

 z poprzedniego tematu może być zapisana prościej, w taki sposób: 

1. Iyf(xa) ↔∃zMg(zb)y 

Nie mogliśmy pominąć nawiasów otaczających argumenty obu zmiennych funkcyjnych, gdyż 

nie byłoby jasne, czy np. w wyrażeniu “Iyfxa” nie jest tak, że “f” reprezentuje operację  

1-argumentową z “x” jako swoim jedynym argumentem, a “I” reprezentuje predykat 

 

3-argumentowy o argumentach “y”, “fx” i “a”.  

Podobnie, przy zapisie “Mgzby” możliwa byłaby taka interpretacja, że “M” reprezentuje predykat 

1-argumentowy, a jego jedyny argument to “gzby”, czyli 3-argumentowa operacja reprezentowana 

przez “g” i jej trzy argumenty. To kontekst wyznacza, kiedy możliwe jest pominięcie jakiegoś 

nawiasu, a kiedy nie. Przykładowo w formule: 

2. Ixa→Iyfxa 

nie musieliśmy użyć nawiasu po “f”, gdyż pierwsze (od lewej) wystąpienie “I” pokazuje, że jest 

to zmienna reprezentująca predykat 2-argumentowy, a zatem jedyne możliwe odczytanie “Iyfx” 

to takie, że “y” jest jego pierwszym argumentem, a “fxa” drugim, co oznacza, że “f” reprezentuje 

operację 2-argumentową. 

 

W przykładzie 

1.

 mogliśmy również pominąć nawias zamykający formułę “Mg(zb)y”, gdyż jest to 

formuła atomowa, a zatem w całości znajduje się w zasięgu kwantyfikatora. Oba kwantyfikatory 

zachowują się syntaktycznie tak jak negacja, tzn. jeżeli za zmienną występującą za 

kwantyfikatorem otwiera się nawias, to wtedy cała formuła w nawiasie jest w zasięgu tego 

background image

 

79

kwantyfikatora. W przeciwnym wypadku w jego zasięgu znajduje się formuła, która sąsiaduje  

z nim bezpośrednio od prawej.  

Aby dobrze zrozumieć, co stanowi zasięg danego kwantyfikatora przeanalizujmy poniższy przykład: 

3. ∀x(∃yAxy→∀y∃z¬(∀w¬Bw→Czy)∧Dx) 

Mamy tutaj pięć wystąpień kwantyfikatorów; oto ich zasięgi, po kolei od lewej: 

∃yAxy→∀y∃z¬(∀w¬Bw→Czy)∧Dx to zasięg ∀x  

Axy 

 

 

  to 

zasięg  

∃y 

∃z¬(∀w¬Bw→Czy)    to zasięg  ∀y 

¬(∀w¬Bw→Czy)   

to zasięg  

∃z 

¬Bw     

 

to zasięg  

∀w 

 

Umiejętność identyfikacji zasięgu pozwala stwierdzić, które wystąpienia danej zmiennej 

nazwowej są związane i przez który kwantyfikator, a które są wolne. Powiemy, że:  

wystąpienie zmiennej

 

α w formule ϕ jest  związane wtw występuje w zasięgu kwantyfikatora 

∀α lub ∃α; w przeciwnym wypadku (tzn., gdy nie występuje w zasięgu żadnego kwantyfikatora 

lub takiego, przy którym mamy symbol innej zmiennej) wystąpienie zmiennej 

α jest  wolne. 

Zauważmy,  że dana zmienna, występując kilka razy w obrębie danej formuły, może być  

w pewnych wystąpieniach wolna, a w innych nie, np. w formule: 

4. ∀xAx→∀yBxy 

pierwsze wystąpienie “x” (jako argumentu “A”) jest związane, natomiast drugie (w “Bxy”) jest 

wolne, gdyż tylko “Ax” stanowi zasięg “

∀x”. Drugie wystąpienie “x” jest wprawdzie również  

w zasięgu kwantyfikatora, ale wiążącego inną zmienną (“y”). Jeżeli wszystkie wystąpienia danej 

zmiennej są związane w pewnej formule, to powiemy krótko, że dana zmienna jest w tej formule 

związana.  

Uwaga, licząc wystąpienia danej zmiennej w formule bierzemy pod uwagę tylko te, które są 

argumentami predykatów i operacji, a nie uwzględniamy wystąpień zmiennych przy kwantyfikatorze! 

Warto zwrócić uwagę, że w danej formule może wielokrotnie występować kwantyfikator wiążący 

pewną zmienną, wtedy dla każdego wystąpienia tej zmiennej należy określić, który 

background image

 

80

kwantyfikator je wiąże. Przyjmujemy tu zasadę,  że dane wystąpienie zmiennej jest związane 

przez najbliższy od lewej kwantyfikator z taką samą zmienną, w którego zasięgu to wystąpienie 

się znajduje. Najlepiej pokaże to przykład: 

5. ∀x(∃xAx∨Bx→∀xCx∧Dx) 

mamy cztery wystąpienia “x” i trzy kwantyfikatory wiążące tą samą zmienną. Pierwsze od lewej 

wystąpienie kwantyfikatora ogólnego wiąże tylko drugie i czwarte wystąpienie “x” (“Bx” i “Dx”), 

pierwsze wystąpienie (“Ax”) jest związane przez kwantyfikator mały, a trzecie (“Cx”) przez 

drugie wystąpienie dużego kwantyfikatora. 

Formuły, w których wszystkie zmienne są związane będziemy dalej określać jako 

formuły 

domknięte

, natomiast takie, w których co najmniej jedno wystąpienie jakiejś zmiennej 

nazwowej jest wolne to 

formuły otwarte

. Przykładowo, przedstawione w tym temacie formuły 

3.

 i 

5.

 są domknięte, natomiast formuły 

1.

,

 2. 

4. 

są otwarte. 

 

Zarówno w semantyce, jak i w systemie dedukcji, który dalej zaprezentujemy, istotną rolę 

odgrywać będzie dokonywanie podstawień za zmienne nazwowe w formułach otwartych. Niech 

ϕ(α) oznacza formułę otwartą, w której zmienna α występuje co najmniej raz jako zmienna 

wolna. Przez 

ϕ(α/σ) oznaczać  będziemy formułę, w której dokonano 

podstawienia

 stałej 

nazwowej 

σ za zmienną α.  

W logice klasycznej uwzględnia się ogólniejszą formę tej operacji, w której za wolną zmienną 

można podstawiać dowolne termy, nie tylko stałe nazwowe. Jednak dla naszych potrzeb 

wystarczy uwzględnić najprostszą postać. Warunki poprawności podstawiania 

sprowadzają się w tym wypadku do dwóch: 

a) w 

ϕ muszą ulec podstawieniu wszystkie wolne wystąpienia α, 

b) za 

każde z nich podstawiamy tą samą stałą nazwową 

σ. 

Oto poprawne przykłady podstawień: 

∀xAxz∨Bxy→∃y(Cyz∧Dyx) (x/a) = ∀xAxz∨Bay→∃y(Cyz∧Dya) 

∀xAxz∨Bxy→∃y(Cyz∧Dyx) (y/a) = ∀xAxz∨Bxa→∃y(Cyz∧Dyx) 

∀xAxz∨Bxy→∃y(Cyz∧Dyx) (z/a) = ∀xAxa∨Bxy→∃y(Cya∧Dyx) 

background image

 

81

Oto niepoprawne przykłady podstawień (zastanów się dlaczego): 

∀xAxz∨Bxy→∃y(Cyz∧Dyx) (x/a) = ∀xAaz∨Bay→∃y(Cyz∧Dya) 

∀xAxz∨Bxy→∃y(Cyz∧Dyx) (x/a) = ∀aAaz∨Bay→∃y(Cyz∧Dya) 

∀xAxz∨Bxy→∃y(Cyz∧Dyx) (x/a) = ∀xAxz∨Bay→∃y(Cyz∧Dyx) 

∀xAxz∨Bxy→∃y(Cyz∧Dyx) (x/a) = ∀xAxz∨Bay→∃y(Cyz∧Dyb) 

 

Wprowadzimy jeszcze jedną konwencję upraszczającą zapis formuł: 

K5) W przypadku występowania ciągów kwantyfikatorów jednego rodzaju (bądź same ogólne, 

bądź same małe) będziemy symbol kwantyfikatora pisać tylko raz; czyli zamiast pisać 

∀α

1

, ....,

∀α

n

ϕ (lub ∃α

1

, ....,

∃α

n

ϕ) napiszemy ∀α

1

, ...,

α

n

ϕ (lub ∃α

1

, ...,

α

n

ϕ) 

Przykładowo, zamiast pisać: “

∀x∀y∀z∀w(Axy→Bzw)” napiszemy “∀xyzw(Axy→Bzw)”. 

Oczywiście niedopuszczalne jest takie pomijanie symboli kwantyfikatorów wtedy, gdy występują 

w jednym ciągu przemieszane ze sobą kwantyfikatory duże i małe. 

background image

 

82

 

 

Zaprezentujemy obecnie jedną z prostszych wersji 

semantyki teorio-modelowej

. Ograniczymy 

się do analizy znaczenia języka, w którym nie występują zmienne funkcyjne oraz formuły 

otwarte. Struktury interpretacyjne tutaj rozpatrywane to modele 

M

 = < D, V >, gdzie D to 

dziedzina modelu, którą może być dowolny niepusty zbiór, natomiast V to funkcja interpretacji 

przypisująca w modelu ekstensje poszczególnym elementom języka: 

1) dla każdej stałej nazwowej 

σ, V(σ)∈D; dodatkowo zakładamy, że każdy element dziedziny 

ma nazwę (jest desygnatem jakiejś stałej nazwowej) 

2) dla każdej zmiennej predykatywnej 

Π

n

 

(n

≥1), V(Π

n

⊆ DxDx.....xD (D przemnożone n razy, 

czyli 

iloczyn kartezjański

 n-tego stopnia na D, zaznaczany często jako D

n

). Innymi słowy 

ekstensja dowolnej zmiennej predykatywnej jednoargumentowej to podzbiór D, dowolnej 

zmiennej dwuargumentowej – pewien zbiór par uporządkowanych elementów z D (podzbiór 

DxD), dla zmiennej trójargumentowej – zbiór trójek uporządkowanych, itd.  

Dla zmiennych predykatywnych zeroargumentowych, czyli zmiennych zdaniowych pozostawiamy 

ekstensje jak w KRZ, czyli przypisujemy im jakąś wartość logiczną. 

 

Wartość dowolnej formuły w modelu 

M

  (co będziemy zapisywać 

M

=  ϕ i czytać ‘model 

M

  

spełnia 

ϕ’) określamy według poniższych warunków: 

a)  

M

= Π

n

 (dla n=0) 

 

 

wtw 

V(

Π

n

)=1 

b)  

M

= Π

n

(

σ

1

 , ..., 

σ

n

) (dla n>0)  

wtw 

 <V(

σ

1

), ..., V(

σ

n

)> 

∈V(Π

n

c)  

M

= ¬ϕ 

 

 

 

wtw 

M 

≠ϕ  (co czytamy ‘gdy 

M

 nie spełnia 

ϕ’) 

d)  

M 

ϕ∧ψ    

 

 

wtw 

M

 

= ϕ  i   

M

 

= ψ 

e)  

M 

= ϕ∨ψ    

 

 

wtw 

M

 

= ϕ  lub  

M

 

= ψ  

f)   

M

 

= ϕ→ψ   

 

 

wtw 

M 

≠ϕ  lub  

M 

= ψ 

g)  

M 

= ϕ↔ψ   

 

 

wtw 

M

 

= ϕ  i  

M 

= ψ  lub  

M

 

≠ϕ  i  

M

 

≠ ψ  

h)  

M

 

= ∀αϕ   

 

 

 wtw 

M 

= ϕ(α/σ) dla dowolnej stałej σ 

i)  

M

 

= ∃αϕ 

 

 

 

 wtw 

M

 

= ϕ(α/σ) dla pewnej stałej σ 

background image

 

83

Jeżeli chodzi o warunki c)–g), to mamy tu zapisaną w innej formie zawartość tabelek 

definiujących spójniki w temacie 2. modułu 3. Warunek b) podaje, kiedy w modelu spełniona 

jest formuła atomowa, nie będąca zmienną zdaniową.  

Warunki h) i i) formalnie oddają domyślne znaczenie zwrotów kwantyfikujących. Warunek h) 

pokazuje też, dlaczego przyjęliśmy założenie,  że wszystkie elementy dziedziny muszą być 

nazwane. W przeciwnym wypadku możliwa byłaby sytuacja, gdzie warunek wyrażony przez 

formułę 

ϕ byłby wprawdzie spełniony dla wszystkich obiektów z dziedziny, które mają nazwę, 

ale nie zachodziłby dla jakiegoś nienazwanego obiektu z tej dziedziny. 

 

Podobnie jak w KRZ, dowolną formułę, która spełniona jest w każdym modelu będziemy 

określać jako 

tautologię

, czyli prawdę logiczną i oznaczać:

= ϕ . Formuły, które są prawdziwe 

(spełnione) w co najmniej jednym modelu, będziemy określać jako spełnialne. Są to zarówno 

tautologie, jak i formuły kontyngentne.  

Mod(

ϕ) oznaczać będzie zbiór wszystkich modeli, które spełniają ϕ; analogicznie Mod(Γ) będzie 

oznaczał zbiór wszystkich modeli, które spełniają wszystkie formuły ze zbioru 

Γ.  

Formuła, która w każdym modelu jest fałszywa, to 

kontrtautologia

 albo fałsz logiczny. Dla 

oznaczenia dowolnej kontrtautologii będziemy nadal używać symbolu 

⊥, natomiast, żeby 

zaznaczyć, że jakaś konkretna formuła 

ϕ jest kontrtautologią (lub zbiór formuł Γ jest sprzeczny) 

możemy użyć zarówno zapisu z poprzedniego modułu (czyli 

ϕ=⊥ i Γ=⊥), jak i nowego – 

Mod(

ϕ)=∅ (Mod(Γ)=∅). 

Do ważniejszych tautologii KRK należą prawa dystrybucji kwantyfikatora: 

– ogólnego względem implikacji  

 

∀x(Ax→Bx)→(∀xAx→∀xBx); 

– ogólnego względem koniunkcji 

 

∀x(Ax∧Bx)↔∀xAx∧∀xBx; 

– ogólnego względem alternatywy  

 

∀xAx∨∀xBx→∀x(Ax∨Bx); 

 

szczegółowego względem alternatywy  

∃x(Ax∨Bx)↔∃xAx∨∃xBx; 

 

szczegółowego względem koniunkcji   

∃x(Ax∧Bx)→∃xAx∧∃xBx; 

– prawa De Morgana:   

 

 

¬∀xAx↔∃x¬Ax   i  ¬∃xAx↔∀x¬Ax; 

– prawa przemienności kwantyfikatorów:  

∀x∀yRxy↔∀y∀xRxy,  ∃x∃yRxy↔∃y∃xRxy 

oraz 

∃x∀yRxy→∀y∃xRxy. 

background image

 

84

Wynikanie 

w KRK możemy zdefiniować następująco: 

Ze zbioru 

Γ wynika ϕ ( Γ= ϕ)  wtw Mod(Γ) ⊆ Mod(ϕ) 

Dla KRK również zachodzi 

własność zwartości

, która gwarantuje istnienie jakiegoś 

skończonego podzbioru, z którego dana formuła wynika. Dzięki temu także tutaj zachodzi bliski 

związek między wynikaniem a tautologicznością, wyrażony poniższą równoważnością: 

ψ

1

,..., 

ψ

n

= ϕ    wtw  = ψ

1

∧...∧ψ

n

→ϕ 

Nie da się natomiast zastosować w KRK metody tabelkowej do sprawdzania tautologiczności  

i wynikania. Nie oznacza to oczywiście, że podanej wyżej semantyki nie da się wykorzystać do 

wykazywania tautologiczności, wynikania bądź ich braku. Zademonstrujemy to obecnie na kilku 

przykładach. 

Sprawdźmy czy formuła 

1. ∀x(∃yRxy∨∃y(Ay∧Ryx)) 

jest spełniona w modelu 

M

 takim, że D zawiera dwa obiekty o nazwie “a” i “b”, V(A)={a},  

a V(R)={<a,a>,<a,b>}. Ponieważ formuła 

1.

 jest kwantyfikacją ogólną, więc aby była spełniona  

w tym modelu, to jej zasięg (alternatywa w nawiasie) musi być spełniony dla obu przypadków 

podstawienia: x/a i x/b.  

Niech “x” denotuje “a”, wtedy pierwszy człon alternatywy jest spełniony, gdyż istnieje taki obiekt 

(a nawet dwa), że “Ray”. Zatem cała formuła (jako alternatywa) jest spełniona.  

Niech “x” denotuje “b”; teraz pierwszy człon alternatywy jest fałszywy, gdyż ani <b,a>, ani <b,b> nie 

należy do V(R). Jednak drugi człon alternatywy jest prawdziwy, gdyż przy podstawieniu y/a zarówno 

“Aa”, jak i “Rab” są spełnione, zatem ich koniunkcja również. Więc i w tym wypadku formuła, 

będąca zasięgiem kwantyfikatora dużego, jest spełniona w rozważanym modelu, a ponieważ jego 

dziedzina nie zawiera więcej obiektów, to formuła 

1.

 

jest spełniona w rozważanym modelu. 

2.≠ ∃xAx∧∃xBx→∃x(Ax∧Bx) 

Aby pokazać,  że powyższa formuła nie jest tautologią, wystarczy rozważyć dowolny model, 

którego dziedzina zawiera tylko dwa obiekty o nazwie “a” i “b” takie, że V(a)

∈V(A), ale 

V(a)

∉V(B) i odwrotnie V(b)∈V(B), ale V(b)∉V(A). Wtedy poprzednik naszej implikacji jest 

background image

 

85

spełniony w tym modelu, bo spełnione są formuły “Aa” i “Bb”, ale następnik jest w tym modelu 

fałszywy, skoro fałszywa jest zarówno formuła “Aa

∧Ba”, jak i “Ab∧Bb” a więcej obiektów  

w dziedzinie modelu nie posiadamy. Zatem rozważana implikacja jest w takim modelu fałszywa.  

Dla czytelnika, który woli konkrety od abstrakcyjnych konstrukcji modelowych, sugeruję 

„ukonkretnienie” powyższego modelu falsyfikującego, np. w taki sposób: niech dziedzina 

zawiera psa o nazwie Azor i kota o nazwie Brutal, “A” niech reprezentuje predykat _jest psem,  

a “B” – _jest kotem. Taka interpretacja doskonale spełnia zadanie. 

3. ∀x(Ax→Bx), ∀x(Bx→Cx)= ∀x(Ax→Cx) 

Załóżmy niewprost, że wynikanie nie zachodzi. Zatem istnieje model, w którym obie przesłanki 

są spełnione, ale wniosek nie. Wtedy musi w dziedzinie być co najmniej jeden obiekt – 

nazwijmy go “a” – taki, że V(a)

∈V(A), ale V(a)∉V(C), co gwarantuje, że “Aa→Ca” jest w tym 

modelu fałszywe, czyli “

∀x(Ax→Cx)” również jest fałszywe. Skoro pierwsza przesłanka jest  

w tym modelu spełniona, to V(a)

∈V(B), ale wtedy również V(a)∈V(C), gdyż druga przesłanka 

też jest w tym modelu spełniona. To daje sprzeczność i pokazuje, że nie może istnieć model 

falsyfikujący dla tego rozumowania. 

background image

 

86

 

Zachowamy system dedukcji naturalnej omówiony w module 3. Wszystkie reguły, pierwotne  

i wtórne, zachowują swoją wartość, potrzebujemy tylko dodać odpowiednie reguły dla nowych 

stałych logicznych, czyli kwantyfikatorów. Odstąpimy jednak od zwykłego w dedukcji naturalnej 

sposobu postępowania, w którym charakteryzuje się każdą stałą poprzez reguły dołączania  

i eliminacji.  

Zamiast tego omówimy zestaw reguł charakterystyczny dla 

systemów tablicowych

  (por. np. 

Smullyann 1968), w którym mamy tylko reguły eliminacji – a zamiast reguł dołączania – 

dodatkowe reguły eliminacji kwantyfikatorów zanegowanych. Wybór taki podyktowany jest 

przede wszystkim względami prostoty opisu reguł, a ponadto pozwoli nam – w module 5 – na 

wykorzystanie systemu do sprawdzania poprawności rozumowań.  

Obecnie skupimy się tylko na dowodach tez i dedukcji wniosków z przesłanek  

w rozumowaniach poprawnych. 

 

Jedyne 

reguły pierwotne

, które dołączamy do systemu S/B to cztery 

reguły inferencji

(EO)  

∀αϕ− ϕ(α/σ) 

(ENO) 

¬∀αϕ− ¬ϕ(α/σ) 

(EM) 

∃αϕ− ϕ(α/σ) 

(ENM) 

¬∃αϕ− ¬ϕ(α/σ) 

gdzie: 

M – małego 

O – ogólnego 

W regułach (EO) i (ENM) na stałą 

σ nie nakłada się  żadnych ograniczeń poza tymi, które 

wynikają z warunków poprawności podstawiania (por. temat 2 w 4 module). Natomiast  

w przypadku reguł (ENO) i (EM) 

σ musi  być nową stałą, tzn. taką, która nie występuje wyżej 

w dowodzie!  

background image

 

87

Sens tego ograniczenia jest następujący: prawdziwość przesłanek tych reguł w dowolnym 

modelu gwarantuje, że w dziedzinie rozważanego modelu musi się znajdować jakiś obiekt, dla 

którego zachodzi warunek wyrażony przez 

ϕ (lub ¬ϕ). My po prostu nadajemy mu nazwę. 

Jednak nie możemy mu dać nazwy, która już jest czemuś przyporządkowana, skoro nie mamy 

po temu wystarczających danych. Nie przestrzeganie tego ograniczenia może prowadzić do 

błędów, np. można by było „udowodnić” formułę z przykładu 

2.

 w poprzednim temacie, o której 

wiemy, że nie jest tautologią. 

  

Zachowujemy wszystkie symbole i konwencje dotyczące zapisu dowodów, zaznaczania tez  

i dedukowalności z poprzedniego modułu. Dla obecnego systemu również zachodzi 

twierdzenie o adekwatności

TA) 

ψ

1

,...., 

ψ

n

− ϕ wtw 

ψ

1

,...., 

ψ

n

= ϕ 

 

 

Oto kilka przykładów dowodów: 

1.− ∀x(Ax∧Bx)↔∀xAx∧∀xBx 

Część a): 

1. 

∀x(Ax∧Bx) 

2. 

¬(∀xAx∧∀xBx) ZN 

3. 

¬∀xAx∨¬∀xBx (2 

NK) 

3.1. 

¬∀xAx  

ZDN 

3.2. 

¬Aa   (3.1 

ENO) 

3.3. Aa

∧Ba  

(1 

EO) 

3.4.  Aa  

 

(3.3, EK) 

3.5. 

⊥ 

  (3.2,3.4 

DS.) 

4. 

∀xAx   (3.1–3.5 

DNW) 

5. 

¬∀xBx  

(3,4 

EA) 

background image

 

88

6. 

¬Bb   (5 

ENO) 

7. Ab

∧Bb  

(1 

EO) 

8. 

Bb 

 

  (7, 

EK) 

9. 

⊥ 

  (6,8 

DS) 

Część b): 

1.

 

∀xAx∧∀xBx 

2

¬∀x(Ax∧Bx) ZN 

3

∀xAx   (1 

EK) 

4

∀xBx   (1 

EK) 

5

¬(Aa∧Ba) 

(2 

ENO) 

6

¬Aa∨¬Ba 

(5 NK) 

7

Aa 

  (3 

EO) 

8

Ba 

  (4 

EO) 

9

¬Ba   (6,7 

EA) 

10. 

⊥ 

  (8,9 

DS) 

2. − ∃x(∃xAx→Ax) 

1. 

¬∃x(∃xAx→Ax) ZN 

2. 

¬(∃xAx→Aa) (1 

ENM) 

3. 

∃xAx∧¬Aa  

(2 NI) 

4. 

∃xAx   (3 

EK) 

5. 

¬Aa   (3 

EK) 

6. 

Ab 

  (4 

EM) 

7. 

¬(∃xAx→Ab) (1 

ENM) 

8. 

∃xAx∧¬Ab  

(7 NI) 

9. 

¬Ab   (8 

EK) 

10. 

⊥ 

  (6,9 

DS) 

Powyższy przykład pokazuje sytuację charakterystyczną dla dowodów przeprowadzanych  

z użyciem powyższych reguł. Często reguły (EO) i (ENM) należy stosować w dowodzie 

wielokrotnie, aby uzyskać zamierzony efekt (np. sprzeczność formuł).  

background image

 

89

W powyższym dowodzie najpierw stosujemy (ENM), gdyż nie mamy innych rozsądnych 

możliwości – “a” jest po prostu pierwszą z brzegu stałą nazwową. Stosując później (EM) 

musimy wprowadzić nową stałą – “b”, co nie daje nam sprzeczności (para formuł “

¬Aa” i “Ab”), 

jednak możemy ponownie zastosować (ENM), tym razem podstawiając stałą “b” i uzyskując 

parę formuł sprzecznych. 

3. ∀xy(Rxa∨Sby)− ∃x(Rxx∨Sbx) 

1. 

∀xy(Rxa∨Sby) 

2. 

¬∃x(Rxx∨Sbx) ZN 

3. 

¬(Raa∨Sba) (2 

ENM) 

4. 

∀y(Raa∨Sby) (1 

EO) 

5. Raa

∨Sba  

(4 

EO) 

6. 

⊥ 

  (3,5 

DS) 

Powyższy, krótki dowód ilustruje kolejny ważny problem związany z  kwantyfikatorami – 

znajdowanie właściwych podstawień. Dlaczego stosując do wiersza 2. regułę (ENM) 

podstawiliśmy “a” za “x”?  

Zarówno podstawienie “b”, jak i nowej stałej “c”, byłoby poprawne, ale nie prowadziłoby nas do 

celu. Musimy podstawić “a”, gdyż występuje ono jako drugi argument “R” w wierszu 1., a nam 

chodzi o uzgodnienie argumentów predykatów. To w dalszym ciągu powoduje, że dwukrotnie 

stosując (EO), podstawiamy najpierw “a” za “x”, a potem “a” za “y”, chociaż inne podstawienia 

też są możliwe (ale bezcelowe!).  

Generalnie należy przyjąć następującą wytyczną co do strategii dowodzenia:  

Najpierw starać się (jeżeli to możliwe) stosować reguły (ENO) i (EM), wprowadzając wszystkie 

niezbędne nowe stałe nazwowe do dowodu.  

Potem stosujemy (EO) i (ENM) (jeżeli trzeba to wielokrotnie), starając się znaleźć odpowiednie 

podstawienia tych stałych, które w dowodzie już są.  

Trzeba pamiętać,  że nawet przy stosunkowo niewielkiej liczbie stałych, jeżeli będziemy 

dokonywać przy (EO) i (ENM) podstawień „na ślepo” – do wszystkich możliwych stałych – to 

łatwo możemy w dowodzie „wyprodukować” znaczną ilość wierszy, które nie tylko nie zbliżą nas 

do celu, ale spowodują, że szybko stracimy orientację, w tym co robimy! 

background image

 

90

 

 

Na bazie KRK można budować specyficzne teorie formalne, które znacznie poszerzają zakres 

zastosowania logiki klasycznej i pozwalają ująć w czysto formalny sposób całą matematykę. 

Najczęściej teorie te buduje się w postaci 

systemów aksjomatycznych

, w których odpowiedni 

zbiór twierdzeń pierwotnych (aksjomatów) pozwala, w oparciu o reguły logiki i ewentualne 

reguły specyficzne dla danej teorii (np. regułę indukcji matematycznej), udowodnić wszystkie 

twierdzenia danej teorii.  

Aksjomaty mają za zadanie podać istotne własności 

terminów pierwotnych

 danej teorii, czyli 

jej stałych pozalogicznych (predykatów lub operacji). Najbardziej podstawową teorią – jeżeli 

chodzi o jej zastosowania – jest teoria identyczności; często traktuje się ją zresztą jako część 

logiki klasycznej. O jej niezbędności może  świadczyć choćby to, że w dotychczasowych 

rozważaniach wielokrotnie używaliśmy już symbolu “=”. Omówimy teraz krótko jej podstawy. 

 

Do języka KRK dołączamy jedną stałą predykatywną oznaczaną symbolem „=”. Jest to predykat 

dwuargumentowy, ale syntaktycznie będziemy go traktować raczej zgodnie z matematyczną 

konwencją (zapis pomiędzy argumentami), a nie z gramatyką KRK, czyli, zamiast pisać “=

τ

1

τ

“, 

będziemy pisać “

τ

1

=

τ

2

”. Będziemy też zazwyczaj pisać “

τ

1

≠τ

2

“ zamiast “

¬τ

1

=

τ

2

“. 

Przyjmujemy następujące aksjomaty i reguły pierwotne:  

(ID) 

− τ=τ 

(RL) 

τ

1

=

τ

2

ϕ(τ

1

)

− ϕ(τ

1

//

τ

2

(ID) charakteryzuje najbardziej podstawową cechę relacji identyczności, mianowicie jej 

zwrotność

Przykładami (ID) w języku KRK są: “x=x”, “a=a”, “fxg(ya)=fxg(ya)”. (RL) (czyli reguła Leibniza) 

pokazuje,  że w dowolnym kontekście można pewną nazwę jakiegoś obiektu 

zastąpić

 jakąś 

inną jego nazwą.  

ϕ(τ

1

//

τ

2

)” oznacza, że w obrębie 

ϕ dokonano operacji zastąpienia, a nie podstawienia termów. 

Zastąpić można dowolny term (nie tylko zmienną nazwową) przez dowolny term (a nie tylko 

stałą nazwową) i nie musimy zastępować wszystkich wystąpień tego termu (jak przy podstawianiu). 

background image

 

91

Jedyny warunek dotyczy tego, że zastępowane wystąpienie termu może zawierać tylko 

zmienne wolne, a term, który zastępuje, też nie może zawierać zmiennych, które zostałyby 

związane przez jakiś kwantyfikator. Oto przykłady poprawnego zastosowania (RL): 

a=b, 

∀x(Axa→Byf(bx))∧Cxf(ya) − ∀x(Axb→Byf(bx))∧Cxf(ya) 

a=b, 

∀x(Axa→Byf(bx))∧Cxf(ya) − ∀x(Axa→Byf(bx))∧Cxf(yb) 

a=b, 

∀x(Axa→Byf(bx))∧Cxf(ya) − ∀x(Axb→Byf(bx))∧Cxf(yb) 

a=b, 

∀x(Axa→Byf(bx))∧Cxf(ya) − ∀x(Axa→Byf(ax))∧Cxf(ya) 

a=f(bx), 

∀x(Axa→Byf(bx))∧Cxf(ya) − ∀x(Axa→Byf(bx))∧Cxf(yf(bx)) 

ale 

a=f(bx), 

∀x(Axa→Byf(bx))∧Cxf(ya) − ∀x(Axf(bx)→Byf(bx))∧Cxf(ya) 

jest niepoprawne, gdyż pierwsze wystąpienie “a” zostało zastąpione przez term zawierający 

zmienną “x”, która stała się związana. Również 

a=f(bx), 

∀x(Axa→Byf(bx))∧Cxf(ya) − ∀x(Axa→Bya)∧Cxf(ya) 

jest niepoprawne, gdyż zastąpiliśmy term “f(bx)” zawierający zmienną związaną. 

 

Korzystając z (ID) i (RL) można udowodnić wszystkie twierdzenia teorii identyczności oraz 

poprawne schematy rozumowań wykorzystujące ten predykat; oto dwa przykłady: 

1.− Aa→∃x(Ax∧x=a) 

1. Aa 

2. 

¬∃x(Ax∧x=a) ZN 

3. 

¬(Aa∧a=a)  

(2 ENM) 

4. 

a=a 

  (ID) 

5. Aa

∧a=a  

(1,4 

DK) 

6. 

⊥ 

  (3,5 

DS) 

2. Aa, Ab, ∃x∀y(Ay→x=y) − a=b 

1. Aa 

 

background image

 

92

2. Ab 

 

3. 

∃x∀y(Ay→x=y) 

4. 

∀y(Ay→c=y)  

(3 EM) 

5. Aa

→c=a    

(4 EO) 

6. Ab

→c=b  

(4 

EO) 

7. 

c=a 

  (1,5 

EI) 

8. 

c=b 

  (2,6 

EI) 

9. 

a=b 

  (7,8 

RL) 

 

Łatwo jest udowodnić, że dla identyczności zachodzą dwie ważne tezy: 

(SYM=) 

∀xy(x=y→y=x) 

(TR=)  

∀xyz(x=y∧y=z→x=z)    

Pokazują one, że relacja identyczności jest relacją 

symetryczną

 i 

przechodnią

 (tranzytywną). 

Są to ogólne własności dowolnych relacji dwuargumentowych, podobnie jak relacja 

zwrotności

, wyrażana przez (ID). O każdej relacji dwuargumentowej R powiemy, że jest 

relacją równoważnościową

 wtw gdy zachodzą dla niej łącznie te trzy własności, czyli gdy spełnia 

warunki: 

(ZW) 

∀xRxx 

(SYM) 

∀xy(Rxy→Ryx) 

(TR) 

∀xyz(Rxy∧Ryz→Rxz) 

Do innych ważnych własności relacji dwuargumentowych zaliczyć można: 

przeciwzwrotność 

(PZW), 

serialność

 (SER), 

asymetrię słabą 

(antysymetrię), (ASS) i 

mocną 

(ASM), 

spójność 

słabą

 (SS) i 

mocną 

(SM) oraz 

euklidesowość 

(E) wyrażane wzorami: 

(PZW) 

∀x¬Rxx 

(SER) 

∀x∃yRxy 

(ASS) 

∀xy(Rxy∧Ryx→x=y) 

(ASM) 

∀xy(Rxy→¬Ryx) 

(SS) 

∀xy(Rxy∨Ryx∨x=y) 

(SM) 

∀xy(Rxy∨Ryx) 

background image

 

93

(E) 

∀xyz(Rxy∧Rxz→Ryz) 

Nie wszystkie z wymienionych wyżej własności są niezależne, np. z mocnych wersji asymetrii 

(spójności) można wydedukować  słabe wersje, ze zwrotności – serialność. Niektóre z tych 

własności brane łącznie, pozwalają formalnie scharakteryzować wiele ważnych relacji 

rozważanych w matematyce. Rozpatrzmy dwa przykłady: 

 

3. Relacja “≤” w zbiorze liczb naturalnych spełnia warunki: (ZW), (TR), (ASS)  

i (SM) (zatem również (SER) i (SS)). 

4. Relacja “<” w tym samym zbiorze spełnia warunki: (PZW), (SER), (TR), (ASM) i (SS) 

(zatem również (ASS)). 

Obie relacje dają nam konkretne przykłady pewnych relacji porządkujących. Są to porządki 

dosyć silne. Przykładowo, każdą z nich można osłabić przez wyrzucenie warunków spójności, 

które narzucają liniowe uporządkowanie zbioru. Otrzymamy wtedy najsłabszy rodzaj relacji 

porządkującej, tzn. spełniającej tylko warunki (ZW), (TR) i (ASS) bądź częściowo porządkującej 

(warunki (PZW), (TR) i (ASM)). O pewnych zastosowaniach relacji porządkujących  

(i równoważnościowych) powiemy więcej w module 6. 

 


Document Outline