Loading [MathJax]/jax/output/HTML-CSS/jax.js

Język rachunku predykatów

Język rachunku predykatów


Podobnie jak dla rachunku zdań zaczniemy od zdefiniowania języka rachunku predykatów.
Definicja 2.1.
Alfabet języka rachunku predykatów składa się z:

1. symboli stałych (a,b,c,)
2. symboli zmiennych (x,y,z,)
3. symboli funkcji (f1,f2,f3,,g1,g2,g3,,h1,h2,h3,)
4. symboli predykatów (p1,p2,p3,,q1,q2,q3,,r1,r2,r3,)
5. spójników logicznych: ,¬
6. kwantyfikatorów: ,
7. nawiasów i przecinków (niekonieczne)

Przyjmujemy, że cztery pierwsze alfabety są nieskończone, w tym sensie że nigdy nam nie braknie ich symboli. Z każdym symbolem funkcyjnym oraz predykatywnym jest związana liczba (którą zapisujemy w indeksie górnym) która będzie oznaczała liczbę jego argumetów.
Zwykle będą nam wystarczały symbole wymienione w nawiasach. Zanim przystąpimy do konstrukcji formuł zdefiniujemy tzw. termy.
Definicja 2.2. [Termy]

1. każdy symbol stałej jest termem
2. każdy symbol zmiennej jest termem
3. jeśli t1,..,tn są termami, a αn jest symbolem funkcyjnym, to αn(t1,..,tn) jest termem
4. nic innego nie jest termem

Przykład 2.3.
Jeśli rozważymy język, w którym 1,2,3 są symbolami stałych, x,y są symbolami zmiennych a +2,×2,1,s1 są symbolami funkcji to poniższe napisy będą termami

1. +2(1,x)
2. 1(3)
3. s1(1(3))
4. ×2(y,+2(x,1(2)))

Dla uproszczenia zapisu będziemy często pomijać liczby opisujące ilość argumentów symbolu. Symbole binarne będziemy czasem zapisywać w notacji infiksowej. Zgodnie z tą konwencją powyższe termy możemy zapisać jako

1. 1+x
2. 3
3. s(3)
4. y×(x+(3))

Kiedy będziemy mówić o modelach zobaczymy, że termy będą interpretowane jako elementy rozważanej dziedziny, np. jeśli tą dziedziną będą liczby naturalne to termy będą interpretowane jako liczby naturalne. Formuły rachunku predykatów zdefiniujemy w dwóch krokach. Zaczniemy od formuł atomowych.

Definicja 2.4. [Formuły atomowe]

Jeśli t1,..,tn są termami, a βn jest symbolem predykatu, to βn(t1,..,tn) jest formułą atomową.

Przykład 2.5.

Kontynuując przykład dotyczący termów przyjmijmy dodatkowo, że w rozważanym języku p3,q1,=2 są symbolami predykatów wtedy formułami atomowymi będą

1. p3(1+x,3,y×(x+(3)))
2. q1(1)
3. =2(y×(x+(3)),2)

Stosując analogiczną konwencję jak dla termów powyższe formuły atomowe zapiszemy jako

1. p(1+x,3,y×(x+(3)))
2. q(1)
3. y×(x+(3))=2

Symbole predykatywne będą odpowiadały funkcjom, które elementom rozważanej dziedziny (lub parom, trójkom itd. elementów) przypisują wartość prawdy lub fałszu. Takie funkcje nazywamy predykatami. W przypadku liczb naturalnych możemy na przykład mówić o predykacie pierwszości p(n), który przyjmuje wartość prawdy jeśli n jest liczbą pierwszą i fałszu w przeciwnym przypadku. Podobnie możemy mówić o binarnym predykacie równości (zwyczajowo oznaczanym przez =). Dla argumentów x,y przyjmuje on wartość prawdy wtedy kiedy x jest tą samą liczbą co y i fałszu w przeciwnym przypadku. Formuły atomowe będą opisywały proste zdania typu x jest liczbą pierwszą, x dzieli y, x jest równe y. Innymi słowy sprowadzają sie do stwierdzania czy dany zestaw argumentów ma pewną własność opisywaną predykatem.

Uwaga 2.6.

W oznaczeniach z poprzednich przykładów, napis y×(x+(3))=q(1) nie jest formułą atomową ani termem. Gdyby predykat q oznaczał np. bycie liczbą nieparzystą to powyższy napis powinniśmy przeczytać jako

y×(x+(3)) jest równe temu, że 1 jest liczbą nieparzystą.

Nie wolno porównywać elementów dziedziny (opisywanych przez termy) z wartościami prawdy i fałszu.

Z formuł atomowych będziemy budować bardziej złożone formuły zgodnie z poniższą definicją

Definicja 2.7. [Formuły rachunku predykatów]

1. Formuły atomowe są formułami.
2. Jeśli A i B są formułami, to (AB) oraz ¬A są formułami.
3. Jeśli A jest formułą i x jest zmienną, to xA jest formułą.
4. Nic innego nie jest formułą.

Przyjmujemy analogiczną konwencję dotyczącą nawiasowania jak dla rachunku zdań.

Przykład 2.8.

W oznaczeniach z poprzednich przykładów poniższe napisy nie są formułami rachunku predykatów

  • x+1
  • (x=1)2
  • x(x+y)
  • x(¬x)

Poniższe napisy są formułami rachunku predykatów

  • x=1
  • x=1x=2
  • xq(x+y)
  • x¬(x=0)
  • xz¬(x=0)
  • xy¬(x=y)

Ćwiczenie 2.1

Z poniższych formuł wypisz wszytkie termy i formuły atomowe

1. xy(s(x)=s(y)x=y)
2. x¬s(x)=0
3. x(¬(x=0)(ys(y)=x))
4. xx+0=x
5. xyx+s(y)=s(x+y)

Często będziemy używać dodatkowych spójników ,,. Ponieważ wszystkie dadzą się zdefiniować przy pomocy i ¬ nie włączamy ich do języka, a napisy w których występują będziemy traktować jako skróty. Ustalmy poniższe definicje

1. ϕψdef¬ϕψ
2. ϕψdef¬(ϕ¬ψ)
3. ϕψdef(ϕψ)(ψϕ)

Kwantyfikator egzystencjalny

Wprowadzimy jeszcze jeden bardzo ważny skrót - kwantyfikator egzystencjalny, oznaczamy go przez i definiujemy w następujący sposób

xϕdef¬(x¬ϕ)

Nieformalnie kwantyfikator egzystencjalny mówi o tym, że istnieje jakiś obiekt, który podstawiony w miejsce x uczyni formułę ϕ prawdziwą. Zdefiniowaliśmy go poprzez równoważne stwierdzenie które mówi że nieprawdą jest, że każdy obiekt podstawiony w miejsce x falsyfikuje ϕ. Zgodnie z powyższą konwencją formułę ze wstępu

n[p(n)¬q(n)]

powinniśmy rozumieć jako

¬n¬(p(n)¬q(n)).

Kwantyfikatory ograniczone

Kwantyfikatory ograniczone są skrótami które definujemy następująco

1. x:ϕψdefxϕψ
2. x:ϕψdefxϕψ

i czytamy

1. dla każdego x które spełnia ϕ spełnione jest ψ
2. istnieje x spełniające ϕ które spełnia ψ

Zgodnie z tą konwencją formułę 1.1 możemy zapisać następująco

n:p(n)q(n)r(n).

Podobnie formułę 1.2 zapiszemy jako

n:p(n)¬q(n)

Ćwiczenie 2.2

Wyeliminuj wszystkie skróty z napisu

x:ϕψ



Zmienne wolne i związane

Jeśli x jest zmienną, a ϕ jest formułą to każda pozycję w napisie ϕ na której występuje symbol x i nie jest poprzedzony bezpośrednio kwantyfikatorem, nazywamy wystąpieniem zmiennej x. Wystąpienia dzielimy na wolne i związanie. Wystąpienie jest związane jeśli znajduje się ,,pod działaniem" jakiegoś kwantyfikatora.

Definicja 2.9.

Rodzaj wystąpienia zmiennej w formule określamy zgodnie z poniższymi regułami:

1. Jeśli γ jest formułą atomową to wszystkie wystąpienia zmiennych w napisie γwolne.
2. Jeśli formuła jest postaci ϕψ lub ¬ϕ to wystąpienia zmiennych pozostają takie same jak wystąpienia w w ϕ oraz ψ.
3. Jeśli formuła jest postaci xϕ to wszystkie wystąpienia zmiennej x w xϕzwiązane, a wystąpienia innych zmiennych pozostają takie jak w ϕ.

Przykład 2.10.

Rozważamy język z przykładu 2.5 (patrz przykład 2.5.)

1. w formule y×(x+(3))=x wszystkie wystąpienia zmiennych są wolne. Zmienna x ma dwa wystąpienia a zmienna y jedno.
2. w formule xy×(x+(3))=x wszystkie wystąpienia zmiennej y są wolne, i wszystkie wystąpienia zmiennej x są związane     (nadal są tylko dwa wystąpienia x ponieważ zgodnie z definicją nie liczymy symbolu x w x)
3. w formule xyy×(x+(3))=x wszystkie wystąpienia zmiennych x oraz y są związane
4. w formule x=2xx=2 zmienna x ma jedno wystąpienie wolne (pierwsze) i jedno związane (drugie).
5. w formule x(x=2xx=2) obydwa wystąpienia zmiennej x są związane.

Ćwiczenie2.3

W podanych poniżej formułach podkreśl wszystkie wolne wystąpienia zmiennych.

1. p(z)zp(z)
2. y((zq(y,z))q(y,z))
3. q(x,y)x(q(x,y)(yq(x,y)))
4. xyq(x,y)xyq(x,y)
5. (zp(z))(zq(z,z)xq(z,x))

Definicja 2.11.

Formułę ϕ nazywamy domkniętą jeśli żadna zmienna nie ma wolnych wystąpień w ϕ.

Ćwiczenie 2.4

Które z formuł z ćwiczenia 2.3 są domknięte?

Podstawienia

Często będziemy w formułach zastępować wystąpienia zmiennych pewnymi termami. Częstym przykładem jest podstawienie w miejsce zmiennej pewnej stałej np. w formule xx+y>x, wstawiając w miejsce y stałą 1, otrzymamy xx+1>x.

Definicja 2.10.

Przez [xarrowt]ϕ będziemy oznaczać formułę powstałą przez zastąpienie wszystkich wolnych wystąpień zmiennej x w formule ϕ termem t. Pisząc [xarrowt]ϕ zakładamy również, że w formule ϕ żadna ze zmiennych występujących w termie t nie ma związanych wystąpień w ϕ.