LOGIKA ALGORYTMICZNA
0.0. Relacje.
Iloczyn kartezja´nski: A × B := {(a, b) : a ∈ A i b ∈ B} (zak ladamy, ˙ze (x, y) i (u, v) s¸a r´owne wtedy i tylko wtedy gdy x = u i y = v);
An:= {(x1, ..., xn) : xi ∈ A};
R ⊂ An relacja n-argumentowa (n-arna) na A; piszemy R(a1, ..., an) je´sli (a1, ..., an) ∈ R;
F ⊆ An× B jest funkcj¸a n-argumentow¸a ze zbioru A w zbi´or B (oznaczamy przez F : An → B) je´sli warunki (a1, ..., an, b1) ∈ F i (a1, ..., an, b2) ∈ F implikuj¸a b1 = b2; piszemy F (a1, ..., an) = b;
Dziedzina: Dom(F ) = {(a1, ..., an) ∈ An: dla pewnego b ∈ B, F (a1, ..., an) = b};
Obraz: Im(F ) = {b ∈ B : dla pewnego (a1, ..., an) ∈ An, F (a1, ..., an) = b};
Obraz zbioru R ⊆ An: niech F (R) = {b ∈ B : dla pewnego (a1, ..., an) ∈ R, F (a1, ..., an) = b};
Przeciwobraz zbioru C ⊆ B: niech F−1(C) = {(a1, ..., an) ∈ An: dla pewnego b ∈ C, F (a1, ..., an) = b}.
Niech F : A → B i G : B → C. Funkcja z lo˙zona GF : A → C:
GF (x) = G(F (x)).
Udowodni´c:
(A1∪ A2) × B = A1× B ∪ A2× B;
(A1\ A2) × B = A1× B \ A2× B;
F (GH) = (F G)H dla H : A → B, G : B → C, F : C → D;
F (A1∪ A2) = F (A1) ∪ F (A2);
F (A1∩ A2) ⊆ F (A1) ∩ F (A2).
1. Struktury, formu ly, spe lnianie.
1.1. Struktury. J¸ezyk L : zbi´or symboli relacyjnych (predykat´ow), funkcyjnych i sta lych : L = (P1n1, ..., Pini, ..., F1m1, ..., Fjmj, ..., c1, ..., ck, ...).
Struktura M j¸ezyka L sk lada si¸e ze zbioru A (uniwersum struktury) i interpre- tacji symboli j¸ezyka L na zbiorze A: ka˙zdy Pini jest interpretowany jako relacja ni- argumentowa na A, ka˙zdy Fjmj jest interpretowany jako funkcja mi-argumentowa na A, ka˙zdy ck jest interpretowany jako element ze zbioru A.
Podzbi´or B ⊆ A tworzy podstruktur¸e M0 struktury M je´sli elementy interpre- tuj¸ace symbole sta lych (w M ) nale˙z¸a do B i funkcje interpretuj¸ace symbole funkcyjne (w M ) odwzorowuj¸a Bmi w B. Wtedy symbole relacyjne i funkcyjne j¸ezyka L in- terpretujemy na B jako odpowiednie relacje i funkcje struktury M ograniczone do B (sta le na B interpretujemy tak samo jak w M ).
Przyk lady: L = (P2, F2, G2, c1, c2)
Struktura N = (N, <, +, ·, 0, 1) (gdzie zbi´or liczb naturalnych N jest uniwersum) okre´sla interpretacje symboli L jako: uporz¸adkowanie liczb naturalnych, funkcje do- dawania i mno˙zenia, i liczby naturalne 0, 1. Niech Z b¸edzie zbiorem liczb ca lkowitych i Z = (Z, <, +, ·, 0, 1). N jest podstruktur¸a Z.
1.1.1. Zadanie: Niech L = (F1, c), a Z jest uniwersum struktury M , gdzie F1 jest interpretowany jako funkcja dodawania 1 (y = x + 1) a c jest interpretowany jako liczba 6.
Czy zbi´or liczb parzystych tworzy podstruktur¸e ? Czy zbi´or liczb naturalnych tworzy podstruktur¸e ? Jakie podzbiory zbioru Z tworz¸a podstruktury M ?
1.2. Termy. Niech L = (P1n1, ..., Pini, ..., F1m1, ..., Fjmj, ..., c1, ..., ck, ...) b¸edzie j¸ezykiem.
Wyra˙zenie t nazywa si¸e termem j¸ezyka L je´sli (przez indukcj¸e):
1. t jest zmienn¸a xi lub symbolem ck ∈ L;
2. t ma posta´c Fj(t1, ..., tmj), gdzie Fjmj ∈ L i t1, ..., tmj s¸a termami.
Przyk lad : (x + 1) · 0 jest termem j¸ezyka (<, +, ·, 0, 1).
1.3. Formu ly. Formu l¸a atomow¸a j¸ezyka L nazywa si¸e wyra˙zenie postaci t1 = t2 lub Pi(t1, ..., tni), gdzie t1, t2, ..., tni s¸a termami i Pini ∈ L.
Wyra˙zenie φ nazywa si¸e formu l¸a j¸ezyka L je´sli (przez indukcj¸e):
1. φ jest formu l¸a atomow¸a;
2. φ ma posta´c ¬ψ1 (negacja) lub ψ1 ∧ ψ2 (koniunkcja), ψ1 ∨ ψ2 (alternatywa), ψ1 → ψ2 (implikacja), gdzie ψ1 i ψ2 s¸a formu lami;
3. φ ma posta´c ∀xψ (kwantyfikator ”dla ka˙zdego”) lub ∃xψ (kwantyfikator ”ist- nieje”) gdzie ψ jest formu l¸a (nazywamy j¸a dziedzin¸a kwantyfikatora) i x jest zmienn¸a.
Miejsce wyst¸epowania zmiennej x w φ nazywa si¸e zwi¸azanym je´sli miejsce to zna- jduje si¸e w dziedzinie kwantyfikatora wzgl¸edem x. Zmienna x jest wolna w φ je´sli ma miejsce niezwi¸azane.
1.4. Spe lnianie. Niech M b¸edzie struktur¸a j¸ezyka L. Interpretacj¸a zmiennych x1, ..., xn nazywamy odwzorowanie I : {x1, ..., xn} → M (w uniwersum). Wtedy ai = I(xi) s¸a warto´sciami odpowiednich zmiennych. Je´sli zmienne termu t nale˙z¸a do zbioru {x1, ..., xn} to warto´s´c termu wzgl¸edem interpretacji I (oznaczamy przez t(a1, ..., an)) definiuje si¸e przez indukcj¸e:
1. je´sli t = xi, to t(a1, ..., an) = ai;
2. je´sli t = ck, to t(a1, ..., an) jest interpretacj¸a ck w M ;
3. je´sli t = Fj(t1, ..., tmj), to t(a1, ..., an) jest warto´sci¸a funkcji odpowiadaj¸acej Fj na elementach b1, ..., bmj ∈ M gdzie bl = tl(a1, ..., an), 1 ≤ l ≤ mj.
Je´sli ka˙zda zmienna wolna w φ jest elementem zbioru {x1, ..., xn}, to m´owimy ˙ze φ jest spe lniona (lub prawdziwa) w M wzgl¸edem interpretacji I (oznaczamy M |=
φ(a1, ..., an)) je´sli zachodzi jeden z podanych ni˙zej przypadk´ow:
1. φ jest postaci t1 = t2 i warto´sci t1(a1, ..., an) i t2(a1, ..., an) s¸a r´owne;
2. φ jest postaci Pi(t1, ..., tni) i ci¸ag (t1(a1, ..., an), ..., tni(a1, ..., an)) nale˙zy do relacji odpowiadaj¸acej Pi w M ;
3. φ jest postaci ¬ψ1 i M 6|= ψ(a1, ..., an);
4. φ jest postaci ψ1∧ψ2i zachodz¸a warunki M |= ψ1(a1, ..., an) i M |= ψ2(a1, ..., an);
5. φ jest postaci ψ1 ∨ ψ2 i zachodzi warunek M |= ψ1(a1, ..., an) lub warunek M |= ψ2(a1, ..., an);
6. φ jest postaci ψ1 → ψ2 i zachodzi M 6|= ψ1(a1, ..., an) lub M |= ψ2(a1, ..., an);
7. φ jest postaci ∀xψ(a1, ..., an, x) i M |= ψ(a1, ..., an, a) dla ka˙zdego a ∈ M . 8. φ jest postaci ∃xψ(a1, ..., an, x) i M |= ψ(a1, ..., an, a) dla pewnego a ∈ M . Je´sli M 6|= φ(a1, ..., an), to m´owimy, ˙ze φ jest fa lszywa w M wzgl¸edem interpetacji I.
Je´sli M |= φ(a1, ..., an) dla wszystkich M i I : {x1, ..., xn} → M , to m´owimy, ˙ze φ jest tautologi¸a.
Je´sli M 6|= φ(a1, ..., an) dla wszystkich M i I : {x1, ..., xn} → M , to m´owimy, ˙ze φ jest sprzeczna.
M´owimy, ˙ze φ jest wnioskiem ze zbioru formu l Γ (oznaczamy Γ |= φ), je´sli dla ka˙zdych M i I : {x1, ..., xn} → M warunek
M |= ψ(a1, ..., an) dla wszystkich ψ ∈ Γ implikuje M |= φ(a1, ..., an).
Je´sli {φ} |= ψ i {ψ} |= φ, to m´owimy, ˙ze φ i ψ s¸a r´ownowa˙zne.
1.5. Zadania. 1
1. Niech L = (P2, F2, G2, c1, c2). Niech struktura N = (N, <, +, ·, 0, 1) (gdzie zbi´or liczb naturalnych N jest uniwersum) okre´sla interpretacje symboli L jako:
uporz¸adkowanie liczb naturalnych, funkcje dodawania i mno˙zenia, i liczby naturalne 0, 1.
(a) Poda´c formu l¸e φ(x) tak¸a, ˙ze N |= φ(n) wtedy i tylko wtedy gdy n jest liczb¸a pierwsz¸a.
(b) Niech funkcja g(x1, ..., xn) jest z lo˙zeniem funkcji h(y1, ..., yt), f1(¯x),...,ft(¯x) lub wynikiem zastosowania µ-operatora do funkcji h0(x1, ..., xn, xn+1). Niech dla ka˙zdej f (x1, ..., xs) ∈ {h, f1, ..., ft, h0} istnieje formu la elementarnej arytmetyki φ(x1, ..., xs, y) taka, ˙ze N |= φ(n1, ..., ns, m) ↔ f (n1, ..., ns) = m. Pokaza´c, ˙ze stwierdzenie to jest r´ownie˙z prawdziwe dla g(¯x).
2∗. β-funkcja G¨odla jest zdefiniowana nast¸epuj¸aco: β(x, y, z) = rest(x, 1 + y(z + 1)). Stosuj¸ac chi´nskie twierdzenie o resztach udowodni´c, ˙ze ka˙zdy uk lad nast¸epuj¸acej postaci ma rozwi¸azanie:
β(x, y, 0) = a0 ... . ..
β(x, y, n) = an .
3. Udowodni´c nast¸epuj¸ace
Twierdzenie. Dla ka˙zdej funkcji rekurencyjnej f (x1, ..., xs) istnieje formula elemen- tarnej arytmetyki φ(x1, ..., xs, y) taka, ˙ze N |= φ(n1, ..., ns, m) ↔ f (n1, ..., ns) = m. 2 1.6. Zadania.
1. Pokaza´c, ˙ze nast¸epuj¸ace formu ly s¸a r´ownowa˙zne (gdzie Q ∈ {∀, ∃}):
(a) Qxφ ∨ ψ i Qx(φ ∨ ψ), gdzie x nie jest zmienn¸a woln¸a w ψ;
(b) Qxφ ∧ ψ i Qx(φ ∧ ψ), gdzie x nie jest zmienn¸a woln¸a w ψ;
(c) ¬(∀xφ) i ∃x(¬φ);
1definicja funkcji rekurencyjnej (i funkcji rest) jest podana w Dodatku
2jest r´ownie˙z prawd¸a, ˙ze relacja R ⊆ ωsjest rekurencyjnie przeliczalna wtedy i tylko wtedy gdy istnieje formula elementarnej arytmetyki postaci φ(x1, ..., xs) = ∃z1, ..., zt(p(x1, ..., xs, z1, ..., zt) = 0) gdzie p(¯x¯z) jest pewnym wielomianem, taka, ˙ze N |= φ(n1, ..., ns) ↔ (n1, ..., ns) ∈ R.
(d) ¬(∃xφ) i ∀x(¬φ);
(e) ∀xφ ∧ ∀xψ i ∀x(φ ∧ ψ);
(f) ∃xφ ∨ ∃xψ i ∃x(φ ∨ ψ);
(g) Qxφ i Qz(φ)xz, gdzie (φ)xz jest formu l¸a otrzyman¸a z φ po zast¸apieniu x przez z we wszystkich miejscach gdzie x ma wyst¸epowanie wolne w φ;
(h) Q1xφ ∧ Q2xψ i Q1xQ2z(φ ∧ (ψ)xz), gdzie z nie wyst¸epuje w φ;
(i) Q1xφ ∨ Q2xψ i Q1xQ2z(φ ∨ (ψ)xz), gdzie z nie wyst¸epuje w φ;
2. M´owimy ˙ze φ ma posta´c normaln¸a, je´sli φ = Q1x1...Qnxnψ, gdzie Qi ∈ {∀, ∃} i ψ nie zawiera kwantyfikator´ow. Udowodni´c
Twierdzenie. Ka˙zda formu la jest r´ownowa˙zna formule w postaci normalnej.
3. Znale´z´c postaci normalne r´ownowa˙zne nast¸epuj¸acym formu lom:
(a) ∃x∀yP1(x, y, z) ∧ ∃x∀yP2(x, y);
(b) ∀x∀y(∃zP1(x, y, z, u) ∧ (P1(x, y, z, u))xy) → ∃uP2(x, z, u);
4. Pokaza´c, ˙ze nast¸epuj¸ace formu ly s¸a r´ownowa˙zne (gdzie 0 oznacza formu l¸e sprzeczn¸a a 1 oznacza tautologi¸e):
(a) φ → ψ i ¬φ ∨ ψ;
(b) φ∧ (lub ∨ ) ψ i ψ∧ (lub ∨) φ;
(c) φ1∧ (φ2∧ φ3) i (φ1∧ φ2) ∧ φ3 (i odpowiednio dla ∨);
(d) φ1∧ (φ2∨ φ3) i (φ1∧ φ2) ∨ (φ1∧ φ3);
(e) φ1∨ (φ2∧ φ3) i (φ1∨ φ2) ∧ (φ1∨ φ3);
(f) φ ∨ 0 i φ;
φ ∧ 1 i φ;
(g) φ ∨ 1 i 1;
φ ∧ 0 i 0;
(h) φ ∨ ¬φ i 1;
φ ∧ ¬φ i 0;
(i) ¬(¬φ) i φ;
(j) ¬(φ ∨ ψ) i ¬φ ∧ ¬ψ;
(k) ¬(φ ∧ ψ) i ¬φ ∨ ¬ψ;
5. M´owimy ˙ze φ ma dyzjunkcyjn¸a posta´c normaln¸a, je´sli φ nie zawiera kwanty- fikator´ow i φ = φ1∨ ... ∨ φk, gdzie ka˙zda φi jest postaci ψ1 ∧ ... ∧ ψl, gdzie ψj jest formu l¸a atomow¸a lub negacj¸a formu ly atomowej. Udowodni´c
Twierdzenie. Ka˙zda formu la nie zawieraj¸aca kwantyfikator´ow jest r´ownowa˙zna for- mule w dyzjunkcyjnej postaci normalnej.
6. Znale´z´c dyzjunkcyjne postaci normalne r´ownowa˙zne nast¸epuj¸acym formu lom:
(a) P1∨ ¬P2 → P2; (b) P1∧ (P2 → P3) → P4;
DODATEK
A.1. Funkcje rekurencyjne. Na zbiorze wszystkich funkcji cz¸e´sciowych okre´slonych na N wprowadzamy nast¸epuj¸ace operatory.
Operator z lo ˙zenia g = S(fm, f1n, ..., fmn) jest okre´slony przez r´owno´s´c g(x1, ..., xn) = f (f1(x1, ..., xn), ..., fm(x1, ..., xn)),
gdzie Dom(g) sk lada si¸e z takich ci¸ag´ow l1, ..., ln, ˙ze warto´sci kj = fj(l1, ..., ln) s¸a okre´slone i f jest okre´slona na k1, ..., km.
Operator rekursji perwotnej gn+1 = P R(fn+2, hn) jest okre´slony przez:
g(x1, ..., xn, 0) = h(x1, ..., xn), ...
g(x1, ..., xn, i + 1) = f (x1, ..., xn, i, g(x1, ..., xn, i)), ...,
gdzie Dom(g) sk lada si¸e z takich ci¸ag´ow l1, ..., ln, l, ˙ze warto´sci k0 = h(l1, ..., ln) i kj = f (l1, ..., ln, j − 1, kj−1), 1 ≤ j ≤ l, s¸a okre´slone.
µ-Operator gn= µ(fn+1) jest okre´slony przez:
g(x1, ..., xn) = min{y : f (x1, ..., xn, y) = 0},
gdzie Dom(g) sk lada si¸e z takich ci¸ag´ow l1, ..., ln, ˙ze warto´sci kj = f (l1, ..., ln, j), 0 ≤ j, s¸a okre´slone do pewnego j spe lniaj¸acego kj = 0.
Funkcja f jest rekurencyjna je´sli jest zbudowana z funkcji O(x) = 0, s(x) = x + 1, Imn(x1, ..., xn) = xm, 1 ≤ m ≤ n ∈ ω, przez sko´nczon¸a ilo´s´c stosowa´n operator´ow S, P R i µ.
A.2. Zadanie. Pokaza´c, ˙ze nast¸epuj¸ace funkcje s¸a rekurencyjne:
x1+ x2, x1· x2, 2x, [x/2];
sg(x) =
( 0 : x = 0 1 : x 6= 0 ;
¯ sg(x) =
( 1 : x = 0 1 : x 6= 0 ;
x ˆ−y =
( 0 : x < y x − y : y ≤ x .
A.3. Teza Churcha. Ka˙zda funkcja obliczalna intuicyjnie jest funkcj¸a rekuren- cyjn¸a.
A.4. Σ i Π.
Lemat. Niech f (x1, ..., xn+1) b¸edzie funkcj¸a rekurencyjn¸a. Wtedy funkcje g1(x1, ..., xn+1) = Σxi=0n+1f (x1, ..., xn, i)
i
g2(x1, ..., xn+1) = Πxi=0n+1f (x1, ..., xn, i) s¸a rekurencyjne.
Wniosek. Nast¸epuj¸ace funkcje s¸a rekurencyjne 3 :
[x/y] (zak ladamy, ˙ze [x/0] = x), [x1/n], rest(x, y) = x − [x/y] · y .
3[z] oznacza cz¸e´s´c ca lkowit¸a liczby z