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
∀x∃yx≺y
Sytuacja 1.
- Przypuśćmy, że to zdanie mówi o liczbach naturalnych, a x≺y 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 x≺y 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ą x−1) która jest od niej silnie mniejsza.
Sytuacja 3.
- Przypuśćmy, że to zdanie mówi o liczbach naturalnych, a x≺y 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):Dk→D, 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):Dk→0,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 A⇒B, 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<y∨x=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<y∨x=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+x∨y=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.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.