LOGIKA ALGORYTMICZNA 0.0. Relacje. Iloczyn kartezjański: A B := (a, b) : a A i b B} (zak ladamy, że (x, y) i (u, v) s a równe wtedy i tylko wtedy gdy x = u i y = v); A n := (x 1,..., x n ) : x i A}; R A n relacja n-argumentowa (n-arna) na A; piszemy R(a 1,..., a n ) jeśli (a 1,..., a n ) R; F A n B jest funkcj a n-argumentow a ze zbioru A w zbiór B (oznaczamy przez F : A n B) jeśli warunki (a 1,..., a n, b 1 ) F i (a 1,..., a n, b 2 ) F implikuj a b 1 = b 2 ; piszemy F (a 1,..., a n ) = b; Dziedzina: Dom(F ) = (a 1,..., a n ) A n : dla pewnego b B, F (a 1,..., a n ) = b}; Obraz: Im(F ) = b B : dla pewnego (a 1,..., a n ) A n, F (a 1,..., a n ) = b}; Obraz zbioru R A n : niech F (R) = b B : dla pewnego (a 1,..., a n ) R, F (a 1,..., a n ) = b}; Przeciwobraz zbioru C B: niech F 1 (C) = (a 1,..., a n ) A n : dla pewnego b C, F (a 1,..., a n ) = b}. Niech F : A B i G : B C. Funkcja z lożona GF : A C: GF (x) = G(F (x)). Udowodnić: (A 1 A 2 ) B = A 1 B A 2 B; (A 1 \ A 2 ) B = A 1 B \ A 2 B; F (GH) = (F G)H dla H : A B, G : B C, F : C D; F (A 1 A 2 ) = F (A 1 ) F (A 2 ); F (A 1 A 2 ) F (A 1 ) F (A 2 ). 1. Struktury, formu ly, spe lnianie. 1.1. Struktury. Jȩzyk L : zbiór symboli relacyjnych (predykatów), funkcyjnych i sta lych : L = (P n 1 1,..., P n i i,..., F m 1 1,..., F m j j,..., c 1,..., c k,...). Struktura M jȩzyka L sk lada siȩ ze zbioru A (uniwersum struktury) i interpretacji symboli jȩzyka L na zbiorze A: każdy P n i i jest interpretowany jako relacja n i - argumentowa na A, każdy F m j j jest interpretowany jako funkcja m i -argumentowa na A, każdy c k jest interpretowany jako element ze zbioru A. Podzbiór B A tworzy podstrukturȩ M struktury M jeśli elementy interpretuj ace symbole sta lych (w M) należ a do B i funkcje interpretuj ace symbole funkcyjne (w M) odwzorowuj a B m i w B. Wtedy symbole relacyjne i funkcyjne jȩzyka L interpretujemy 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 = (P 2, F 2, G 2, c 1, c 2 ) Struktura N = (N, <, +,, 0, 1) (gdzie zbiór liczb naturalnych N jest uniwersum) określa interpretacje symboli L jako: uporz adkowanie liczb naturalnych, funkcje dodawania i mnożenia, i liczby naturalne 0, 1. Niech Z bȩdzie zbiorem liczb ca lkowitych i Z = (Z, <, +,, 0, 1). N jest podstruktur a Z. 1
1.1.1. Zadanie: Niech L = (F 1, c), a Z jest uniwersum struktury M, gdzie F 1 jest interpretowany jako funkcja dodawania 1 (y = x + 1) a c jest interpretowany jako liczba 6. Czy zbiór liczb parzystych tworzy podstrukturȩ? Czy zbiór liczb naturalnych tworzy podstrukturȩ? Jakie podzbiory zbioru Z tworz a podstruktury M? 1.2. Termy. Niech L = (P n 1 1,..., P n i i,..., F m 1 1,..., F m j j,..., c 1,..., c k,...) bȩdzie jȩzykiem. Wyrażenie t nazywa siȩ termem jȩzyka L jeśli (przez indukcjȩ): 1. t jest zmienn a x i lub symbolem c k L; 2. t ma postać F j (t 1,..., t mj ), gdzie F m j j L i t 1,..., t mj s a termami. Przyk lad : (x + 1) 0 jest termem jȩzyka (<, +,, 0, 1). 1.3. Formu ly. Formu l a atomow a jȩzyka L nazywa siȩ wyrażenie postaci t 1 = t 2 lub P i (t 1,..., t ni ), gdzie t 1, t 2,..., t ni s a termami i P n i i L. Wyrażenie φ nazywa siȩ formu l a jȩzyka L jeśli (przez indukcjȩ): 1. φ jest formu l a atomow a; 2. φ ma postać ψ 1 (negacja) lub ψ 1 ψ 2 (koniunkcja), ψ 1 ψ 2 (alternatywa), ψ 1 ψ 2 (implikacja), gdzie ψ 1 i ψ 2 s a formu lami; 3. φ ma postać xψ (kwantyfikator dla każdego ) lub xψ (kwantyfikator istnieje ) gdzie ψ jest formu l a (nazywamy j a dziedzin a kwantyfikatora) i x jest zmienn a. Miejsce wystȩpowania zmiennej x w φ nazywa siȩ zwi azanym jeśli miejsce to znajduje siȩ w dziedzinie kwantyfikatora wzglȩdem x. Zmienna x jest wolna w φ jeśli ma miejsce niezwi azane. 1.4. Spe lnianie. Niech M bȩdzie struktur a jȩzyka L. Interpretacj a zmiennych x 1,..., x n nazywamy odwzorowanie I : x 1,..., x n } M (w uniwersum). Wtedy a i = I(x i ) s a wartościami odpowiednich zmiennych. Jeśli zmienne termu t należ a do zbioru x 1,..., x n } to wartość termu wzglȩdem interpretacji I (oznaczamy przez t(a 1,..., a n )) definiuje siȩ przez indukcjȩ: 1. jeśli t = x i, to t(a 1,..., a n ) = a i ; 2. jeśli t = c k, to t(a 1,..., a n ) jest interpretacj a c k w M; 3. jeśli t = F j (t 1,..., t mj ), to t(a 1,..., a n ) jest wartości a funkcji odpowiadaj acej F j na elementach b 1,..., b mj M gdzie b l = t l (a 1,..., a n ), 1 l m j. Jeśli każda zmienna wolna w φ jest elementem zbioru x 1,..., x n }, to mówimy że φ jest spe lniona (lub prawdziwa) w M wzglȩdem interpretacji I (oznaczamy M = φ(a 1,..., a n )) jeśli zachodzi jeden z podanych niżej przypadków: 1. φ jest postaci t 1 = t 2 i wartości t 1 (a 1,..., a n ) i t 2 (a 1,..., a n ) s a równe; 2. φ jest postaci P i (t 1,..., t ni ) i ci ag (t 1 (a 1,..., a n ),..., t ni (a 1,..., a n )) należy do relacji odpowiadaj acej P i w M; 3. φ jest postaci ψ 1 i M = ψ(a 1,..., a n ); 4. φ jest postaci ψ 1 ψ 2 i zachodz a warunki M = ψ 1 (a 1,..., a n ) i M = ψ 2 (a 1,..., a n ); 5. φ jest postaci ψ 1 ψ 2 i zachodzi warunek M = ψ 1 (a 1,..., a n ) lub warunek M = ψ 2 (a 1,..., a n ); 6. φ jest postaci ψ 1 ψ 2 i zachodzi M = ψ 1 (a 1,..., a n ) lub M = ψ 2 (a 1,..., a n ); 2
7. φ jest postaci xψ(a 1,..., a n, x) i M = ψ(a 1,..., a n, a) dla każdego a M. 8. φ jest postaci xψ(a 1,..., a n, x) i M = ψ(a 1,..., a n, a) dla pewnego a M. Jeśli M = φ(a 1,..., a n ), to mówimy, że φ jest fa lszywa w M wzglȩdem interpetacji I. Jeśli M = φ(a 1,..., a n ) dla wszystkich M i I : x 1,..., x n } M, to mówimy, że φ jest tautologi a. Jeśli M = φ(a 1,..., a n ) dla wszystkich M i I : x 1,..., x n } M, to mówimy, że φ jest sprzeczna. Mówimy, że φ jest wnioskiem ze zbioru formu l Γ (oznaczamy Γ = φ), jeśli dla każdych M i I : x 1,..., x n } M warunek M = ψ(a 1,..., a n ) dla wszystkich ψ Γ implikuje M = φ(a 1,..., a n ). Jeśli φ} = ψ i ψ} = φ, to mówimy, że φ i ψ s a równoważne. 1.5. Zadania. 1 1. Niech L = (P 2, F 2, G 2, c 1, c 2 ). Niech struktura N = (N, <, +,, 0, 1) (gdzie zbiór liczb naturalnych N jest uniwersum) określa interpretacje symboli L jako: uporz adkowanie liczb naturalnych, funkcje dodawania i mnożenia, i liczby naturalne 0, 1. (a) Podać formu lȩ φ(x) tak a, że N = φ(n) wtedy i tylko wtedy gdy n jest liczb a pierwsz a. (b) Niech funkcja g(x 1,..., x n ) jest z lożeniem funkcji h(y 1,..., y t ), f 1 ( x),...,f t ( x) lub wynikiem zastosowania µ-operatora do funkcji h (x 1,..., x n, x n+1 ). Niech dla każdej f(x 1,..., x s ) h, f 1,..., f t, h } istnieje formu la elementarnej arytmetyki φ(x 1,..., x s, y) taka, że N = φ(n 1,..., n s, m) f(n 1,..., n s ) = m. Pokazać, że stwierdzenie to jest również prawdziwe dla g( x). 2. β-funkcja Gödla jest zdefiniowana nastȩpuj aco: β(x, y, z) = rest(x, 1 + y(z + 1)). Stosuj ac chińskie twierdzenie o resztach udowodnić, że każdy uk lad nastȩpuj acej postaci ma rozwi azanie: β(x, y, 0) = a 0....... β(x, y, n) = a n 3. Udowodnić nastȩpuj ace Twierdzenie. Dla każdej funkcji rekurencyjnej f(x 1,..., x s ) istnieje formula elementarnej arytmetyki φ(x 1,..., x s, y) taka, że N = φ(n 1,..., n s, m) f(n 1,..., n s ) = m. 2 1.6. Zadania. 1. Pokazać, że nastȩpuj ace formu ly s a równoważne (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( φ); 1 definicja funkcji rekurencyjnej (i funkcji rest) jest podana w Dodatku 2 jest również prawd a, że relacja R ω s jest rekurencyjnie przeliczalna wtedy i tylko wtedy gdy istnieje formula elementarnej arytmetyki postaci φ(x 1,..., x s ) = z 1,..., z t (p(x 1,..., x s, z 1,..., z t ) = 0) gdzie p( x z) jest pewnym wielomianem, taka, że N = φ(n 1,..., n s ) (n 1,..., n s ) R. 3
(d) ( xφ) i x( φ); (e) xφ xψ i x(φ ψ); (f) xφ xψ i x(φ ψ); (g) Qxφ i Qz(φ) x z, gdzie (φ) x z jest formu l a otrzyman a z φ po zast apieniu x przez z we wszystkich miejscach gdzie x ma wystȩpowanie wolne w φ; (h) Q 1 xφ Q 2 xψ i Q 1 xq 2 z(φ (ψ) x z), gdzie z nie wystȩpuje w φ; (i) Q 1 xφ Q 2 xψ i Q 1 xq 2 z(φ (ψ) x z), gdzie z nie wystȩpuje w φ; 2. Mówimy że φ ma postać normaln a, jeśli φ = Q 1 x 1...Q n x n ψ, gdzie Q i, } i ψ nie zawiera kwantyfikatorów. Udowodnić Twierdzenie. Każda formu la jest równoważna formule w postaci normalnej. 3. Znaleźć postaci normalne równoważne nastȩpuj acym formu lom: (a) x yp 1 (x, y, z) x yp 2 (x, y); (b) x y( zp 1 (x, y, z, u) (P 1 (x, y, z, u)) x y) up 2 (x, z, u); 4. Pokazać, że nastȩpuj ace formu ly s a równoważne (gdzie 0 oznacza formu lȩ sprzeczn a a 1 oznacza tautologiȩ): (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ówimy że φ ma dyzjunkcyjn a postać normaln a, jeśli φ nie zawiera kwantyfikatorów i φ = φ 1... φ k, gdzie każda φ i jest postaci ψ 1... ψ l, gdzie ψ j jest formu l a atomow a lub negacj a formu ly atomowej. Udowodnić Twierdzenie. Każda formu la nie zawieraj aca kwantyfikatorów jest równoważna formule w dyzjunkcyjnej postaci normalnej. 6. Znaleźć dyzjunkcyjne postaci normalne równoważne nastȩpuj acym formu lom: (a) P 1 P 2 P 2 ; (b) P 1 (P 2 P 3 ) P 4 ; DODATEK A.1. Funkcje rekurencyjne. Na zbiorze wszystkich funkcji czȩściowych określonych na N wprowadzamy nastȩpuj ace operatory. Operator z lożenia g = S(f m, f n 1,..., f n m) jest określony przez równość g(x 1,..., x n ) = f(f 1 (x 1,..., x n ),..., f m (x 1,..., x n )), 4
gdzie Dom(g) sk lada siȩ z takich ci agów l 1,..., l n, że wartości k j = f j (l 1,..., l n ) s a określone i f jest określona na k 1,..., k m. Operator rekursji perwotnej g n+1 = P R(f n+2, h n ) jest określony przez: g(x 1,..., x n, 0) = h(x 1,..., x n ),... g(x 1,..., x n, i + 1) = f(x 1,..., x n, i, g(x 1,..., x n, i)),..., gdzie Dom(g) sk lada siȩ z takich ci agów l 1,..., l n, l, że wartości k 0 = h(l 1,..., l n ) i k j = f(l 1,..., l n, j 1, k j 1 ), 1 j l, s a określone. µ-operator g n = µ(f n+1 ) jest określony przez: g(x 1,..., x n ) = miny : f(x 1,..., x n, y) = 0}, gdzie Dom(g) sk lada siȩ z takich ci agów l 1,..., l n, że wartości k j = f(l 1,..., l n, j), 0 j, s a określone do pewnego j spe lniaj acego k j = 0. Funkcja f jest rekurencyjna jeśli jest zbudowana z funkcji O(x) = 0, s(x) = x + 1, Im(x n 1,..., x n ) = x m, 1 m n ω, przez skończon a ilość stosowań operatorów S, P R i µ. A.2. Zadanie. Pokazać, że nastȩpuj ace funkcje s a rekurencyjne: x 1 + x 2, x 1 x 2, 2 x, [x/2]; sg(x) = 0 : x = 0 1 : x 0 ; sg(x) = 1 : x = 0 1 : x 0 ; x ˆ y = 0 : x < y x y : y x. A.3. Teza Churcha. Każda funkcja obliczalna intuicyjnie jest funkcj a rekurencyjn a. A.4. Σ i Π. Lemat. Niech f(x 1,..., x n+1 ) bȩdzie funkcj a rekurencyjn a. Wtedy funkcje i g 1 (x 1,..., x n+1 ) = Σ x n+1 i=0 f(x 1,..., x n, i) g 2 (x 1,..., x n+1 ) = Π x n+1 i=0 f(x 1,..., x n, i) s a rekurencyjne. Wniosek. Nastȩpuj ace funkcje s a rekurencyjne 3 : [x/y] (zak ladamy, że [x/0] = x), [x 1/n ], rest(x, y) = x [x/y] y. 3 [z] oznacza czȩść ca lkowit a liczby z 5