Processing math: 91%

Modele

Modele



Dotychczas wprowadziliśmy rachunek predykatów aksjomatycznie. Zaletą takiego definiowania jest niewielka ilość potrzebnych pojęć. Z drugiej strony jednak dowody z aksjomatów są żmudne i nie sprzyjają budowaniu intuicji. W przypadku rachunku zdań widzieliśmy, że ten sam zbiór formuł można równoważnie zdefiniować za pomocą matrycy Boolowskiej z Wykładu 2. Niestety w przypadku rachunku predykatów nie istnieje taka skończona struktura, która pozwalałaby nam stwierdzać czy formuła jest twierdzeniem. Zobaczymy jednak, że pewne struktury warto rozważać. Mówiąc o modelach będziemy musieli użyć naiwnej teorii zbiorów opisanej w pierwszym rozdziale. Decydujemy się na to nadużycie w celu zdobycia dobrych intuicji i sprawności w posługiwaniu się kwantyfikatorami.

Przykład 4.1.

Rozważmy następujące zdanie
xyxy

Sytuacja 1.

Przypuśćmy, że to zdanie mówi o liczbach naturalnych, a xy jest prawdą wtedy i tylko wtedy gdy liczba x jest silnie mniejsza od liczby y. Wtedy zdanie to powinniśmy uznać za nieprawdziwe, gdyż dla liczby 0 nie istnieje silnie mniejsza liczba naturalna.

Sytuacja 2.

Przypuśćmy, że to zdanie mówi o liczbach całkowitych, a xy jest prawdą wtedy i tylko wtedy gdy liczba x jest silnie mniejsza od liczby y. Wtedy zdanie to powinniśmy uznać prawdziwe. Istotnie, dla każdej liczby całkowitej x możemy dobrać liczbę y (na przykład równą x1) która jest od niej silnie mniejsza.

Sytuacja 3.

Przypuśćmy, że to zdanie mówi o liczbach naturalnych, a xy jest prawdą wtedy i tylko wtedy gdy liczba x jest równa liczbie y. Wtedy zdanie to powinniśmy uznać prawdziwe (do każdej liczby x możemy dobrać liczbę y tak aby była równa x).

Powyższe przykłady pokazują różne interpretacje tej samej formuły. Wydaje się również że prawdziwość zdania zmienia się w zależności od interpretacji. Aby mówić o interpretacji danej formuły powinniśmy powiedzieć w jakim zbiorze będziemy interpretować zmienne i stałe (w naszym przykładzie były to kolejno zbiory N,Z,N) oraz jak interpretujemy symbole funkcyjne i predykatywne (w naszym przykładzie występował jedynie symbol predykatywny który był interpretowany kolejno jako silna mniejszość, silna mniejszość, równość). Poniżej definiujemy formalnie pojęcie modelu.

Definicja 4.2. [Model]

Modelem języka rachunku predykatów nazywamy M=(D,I), gdzie:

1. D - jest niepustym zbiorem (dziedziną).
2. I - jest interpretacją symboli języka taką, że:
(a) dla symboli stałych: I(c)D (symbole stałych są interpretowane jako elementy dziedziny)
(b) dla symboli funkcyjnych: I(f):DkD, gdzie k jest ilością argumentów f (symbole funkcyjne są interpretowane jako funkcje z potęgi dziedziny w dziedzinę)
(c) dla symboli predykatów: I(p):Dk0,1, gdzie k jest ilością argumentów p (symbole predykatywne są interpretowane jako funkcje przekształcające ciągi elementów z dziedziny w prawdę lub fałsz)

Definicja 4.3.

Mówimy, że model M jest odpowiedni dla formuły ϕ jeśli są w nim zdefiniowane interpretacje wszystkich symboli stałych funkcji oraz predykatów występujących w formule ϕ.

Zanim ustalimy co to znaczy że formuła jest prawdziwa w modelu zdefiniujemy tzw. wartościowanie zmiennych

Definicja 4.4.

Wartościowanie zmiennych modelu M=(D,I) to funkcja która zmiennym przypisuje wartości dziedziny.
Jeśli ustalimy już wartościowanie zmiennych w modelu to możemy też mówić o wartościach przyjmowanych przez termy.
Definicja 4.5. [Wartościowanie termów]

Przy ustalonym modelu M=(D,I) wartościowanie zmiennych σ możemy rozszerzyć na wszytekie termy. Oznaczymy je przez ˆσ. Rozszerzenie definiujemy w następujący sposób

1. jeśli term t jest zmienną, ˆσ(t)=σ(t)
2. jeśli term t jest stałą, to ˆσ(t)=I(t) (stałe wartościujemy zgodnie z interpretacją w modelu)
3. jeśli term t jest postaci f(t0,..,tn), to

ˆσ(f(t0,..,tn))=I(f)(ˆσ(t0),..,ˆσ(tn))

czyli aby poznać wartość termu najpierw obliczamy wartości poddtermów a potem obliczamy wartość funkcji odpowiadającej w modelu M symbolowi f na wartościach poddtermów. Funkcję wartościującą termy będziemy często oznaczali tym samym symbolem co wartościowanie zmiennych.

Przykład 4.6.

Przypuśćmy, że w rozważanym języku symbol o jest symbolem stałej, symbole s,+,× są symbolami funkcji, symbole <,= są symbolami predykatów, x,y,z są zmiennymi. Ustalmy model w którym dziedziną jest zbiór liczb naturalnych, a symbole są interpretowane zgodnie z ich zwyczajowym znaczeniem (s będziemy interpretować jako jednoargumentową funkcję która każdej liczbie przypisuje liczbę większą o jeden, o interpretujemy jako 0). Jeśli ustalimy ocenę zmiennych tak, że σ(x)=2,σ(y)=3,σ(z)=5 to

1. term x+y będzie wartościowany na 5
2. term s(x) będzie wartościowany na 3
3. term o będzie wartościowany na 0 (zgodnie z interpretacją stałych)
4 term s(o)×s(z) będzie wartościowany na 6

Definicja 4.7. [Waluacja formuł]

Zdefiniujemy teraz prawdziwość formuł w ustalonym modelu M=(D,I) przy ustalonym wartościowaniu zmiennych σ.

1. Jeśli formuła jest postaci p(t0,..,tn) (czyli jest formułą atomową), to jest ona prawdziwa wtedy i tylko wtedy jeśli wartością predykatu odpowiadającego w modelu M symbolowi p (czyli I(p)) na elementach dziedziny odpowiadających termom t0,,tn jest prawdą.
2. Jeśli formuła jest postaci AB, to jest ona prawdziwa wtedy i tylko wtedy, gdy formuła A jest wartościowana na fałsz lub formuła B jest wartościowana na prawdę (zgodnie z tabelą dla implikacji)
3. Jeśli formuła jest postaci ¬A to jest ona prawdziwa wtedy i tylko wtedy gdy formuła A jest wartościowana na fałsz (zgodnie z tabelą dla negacji)
4. Jeśli formuła jest postaci xA, to jest ona prawdziwa jeśli prawdziwe jest A i dla każdego wartościowania zmiennych różniącego się od σ co najwyżej interpretacją symbolu x prawdziwe jest A.
5. Jeśli formuła jest postaci xA, to jest ona prawdziwa jeśli istnieje ocena zmiennych różniąca się od σ co najwyżej interpretacją symbolu x taka, że przy tej ocenie prawdziwe jest A.

Interpretacje kwantyfikatorów, jest w gruncie rzeczy bardzo intuicyjna. Formuła xA jest prawdziwa wtedy i tylko wtedy gdy dla każdego elementu dziedziny ,,podstawionego" w miejsce x w formule A prawdziwa jest formuła A (uwaga! podstawiamy jedynie w miejsca wolnych wystąpień x). Analogicznie formuła xA jest prawdziwa wtedy i tylko wtedy gdy istnieje taki element dziedziny, który ,,podstawiony" w miejsce x w formule A uczyni ją prawdziwa. Dotąd rozważaliśmy kwantyfikator jako skrót pewnego napisu, jednak ze względu na jego naturalną interpretacje zdecydowaliśmy się dodać go do definicji waluacji formuł. W ćwiczeniu 4 pokażemy, że zdefiniowana powyżej waluacja formuł z kwantyfikatorem egzystencjalnym jest zgodna z waluacją zdefiniowanego wcześniej skrótu.

Przykład 4.8.

Możemy teraz powiedzieć, że formuła

y(x<yx=y)

jest prawdziwa w modelu z Przykładu 4.6 przy ocenie zmiennych σ1 takiej, że σ1(x)=0, oraz że jest fałszywa w tym samym modelu dla przy ocenie zmiennej σ2 takiej, że σ2(x)=7 (bo na przykład wartościując y na 3 formuła x<yx=y nie będzie prawdziwa).

Istnieją jednak formuły które są prawdziwe w modelu z Przykładu 4.6 niezależnie od oceny zmiennych. Przykładem może być
y(x<y+xy=o).

Definicja 4.9.

Formuła ϕ jest prawdziwa w modelu M jeśli jest prawdziwa w tym modelu przy każdej ocenie zmiennych. Mówimy wtedy, że model M jest modelem formuły ϕ.

Ciekawe, że istnieją również formuły które są prawdziwe we wszystkich modelach. Rozważmy formułę

(xp(x))(xp(x)).(4.1)

Rozważmy dowolny model M odpowiedni dla powyższej formuły (odpowiedni to znaczy taki który ustala interpretację wszystkich symboli stałychm, funkcji i predykatów występujących w formule, w tym przypadku symbolu predykatywnego p). Jeśli w tym modelu nie jest prawdziwa formuła (xp(x)) to cała implikacja 4.1 jest prawdziwa a więc wszystkie te modele są modelami formuły 4.1. Pozostają więc do rozważenia te modele w których prawdziwe jest (xp(x)). Weźmy dowolny taki model i oznaczmy go przez M. Aby pokazać, że (xp(x)) jest prawdziwe w M wystarczy wskazać że istnieje w dziedzinie taka wartość, że podstawiona w miejsce x uczyni predykat oznaczony przez p prawdziwym. Formuła (xp(x)) jest prawdziwa w M więc każda wartość podstawiona pod x czyni predykat odpowiadający p prawdziwym. Ponieważ dziedzina modelu M zgodnie z definicją 4.2 nie może być pusta więc istnieje przynajmniej jeden element dziedziny. Ponieważ w dziedzinie istnieje przynajmiej jeden element, oraz że formuła p(x) jest prawdziwy niezależnie od tego co podstawimy w miejsce x, to rzeczywiście istnieje taki element dziedziny, który podstawiony w miejsce x uczyni formułę p(x) prawdziwą. A więc formuła xp(x) również jest prawdziwa. Wobec tego cała implikacja 4.1 jest prawdziwa w M. Pokazaliśmy więc, że formuła 4.1 jest prawdziwa w każdym modelu.

Definicja 4.10.

Formułę rachunku predykatów nazywamy tautologią rachunku predykatów jeśli jest prawdziwa w każdym odpowiednim dla niej modelu .

Podobnie jak klasycznym rachunku zdań, w rachunku predykatów również tautologie okazują się tym samym co twierdzenia. Mówi o tym następujące klasyczne twierdzenie udowodnione przez Kurta Gödela.

Formuła rachunku predykatów jest tautologią rachunku predykatów wtedy i tylko wtedy gdy jest twierdzeniem rachunku predykatów.

Dowód powyższego twierdzenia jest przedstawiony na wykładzie Logika dla informatyków. Zauważmy, że zgodnie z powyższym twierdzeniem aby udowodnić, że formuła nie jest twierdzeniem rachunku predykatów wystarczy wskazać model w którym nie jest prawdziwa.

Ćwiczenie 4.1

Rozważmy model M, którego dziedziną będą liczby naturalne, oraz w którym jest jeden predykat binarny oznaczony symbolem p, który przyjmuje wartość prawdy jeśli pierwszy z jego argumentów dzieli drugi. Napisz formuły które w modelu M są równowążne następującym zdaniom (w kolejnych formułach można wykorzystywać skróty dla formuł zdefiniowanych wcześniej)

1. x jest równe y
2. x jest zerem
3. x jest jedynką
4. x jest liczbą pierwszą
5. x jest kwadratem pewnej liczby pierwszej
6. x jest iloczynem dwóch różnych liczb pierwszych
7. x jest iloczynem dwóch liczb pierwszych
8. x jest potęgą liczby pierwszej
9. dla każdych dwóch liczb istnieje ich największy wspólny dzielnik
10. dla każdych dwóch liczb istnieje ich najmniejsza wspólna wielokrotność
11 liczby x i y są względnie pierwsze


Ćwiczenie 4.2

Rozważmy model M, którego dziedziną będą wszytkie punkty, odcinki i okręgi płaszyczny, oraz w którym jest jeden predykat binarny oznaczony symbolem p, który przyjmuje wartość prawdy jeśli jego argumenty mają przynajmniej jeden punkt wspólny. Napisz formuły które w modelu M są równowążne następującym zdaniom (w kolejnych formułach można wykorzystywać skróty dla formuł zdefiniowanych wcześniej)

1. x jest równe y
2. x jest nadzbiorem y
3. x jest punktem
4. x jest odcinkiem
5. x jest okręgiem
6. x jest równoległe do y
7. x i y mają dokładenie jeden punkt wspólny
8. okręgi x i y są do siebie styczne
9. okręgi x i y są do siebie wewnętrznie styczne i okrąg x jest okręgiem wewnętrznym
10. okręgi x i y są do siebie zewnętrzenie styczne
11. punkt x jest końcem odcinka y
12. odcinek x jest styczny do okręgu y
13. okręgi x i y mają taką samą średnicę
14. okrąg x ma średnicę mniejszą niż okrąg y


Ćwiczenie 4.3

Napisz formuły które mówią:

  • każdy odcinek ma dokładnie dwa końce
  • dla każdego okręgu wszystkie jego średnice przecinają się w dokładnie jednym punkcie
  • dla dowolnego odcinka istnieje dłuższy odcinek, który go zawiera
  • dla dowolnych trzech punktów niewspółliniowych istnieje okrąg który przechodzi przez wszystkie trzy punkty
  • istnieją dwa okręgi, które przecinają się w dokładnie 5 punktach.

Ćwiczenie4.4
Dla każdej z poniższych formuł znajdź model w którym jest prawdziwa oraz model w którym jest fałszywa

1. xyp(x,y)p(y,x)
2. (xyp(x,y))yxp(x,y)
3. (x(p(x)q(x)))(x(p(x))xq(x))
4. y[(x(p(x)q(x))q(y))p(z)]
5. xy(p(x,y)z(p(x,z)p(z,y))

Ćwiczenie 4.5

Udowodnij, że w dowolnym ustalonym modelu M prawdziwe są następujące formuły

1. xp(x)(p(c))
2. p(c)xp(c)
3. x(p(x)q(x))((xp(x))(xq(x)))
4. xp(x)¬x¬p(x)
5. ¬xp(x)x¬p(x)
6. xr(x,f(x))xyr(x,y)

Ćwiczenie 4.6

Rozważmy formułę \forall_x (\neg g(x,x) \Leftrightarrow g(b,x)) (golibroda b goli wszystkich tych i tylko tych, którzy nie golą się sami). Udowodnij, że nie istnieje model dla powyższej formuły.