• Nie Znaleziono Wyników

1Wst˛ep W 10:F R IA R M D T

N/A
N/A
Protected

Academic year: 2021

Share "1Wst˛ep W 10:F R IA R M D T"

Copied!
26
0
0

Pełen tekst

(1)

M

ETODY

D

OWODZENIA

T

WIERDZE ´N

I A

UTOMATYZACJA

R

OZUMOWA ´N

W YKŁAD 10: F UNKCJE R EKURENCYJNE

III rok kognitywistyki UAM, 2016–2017

1 Wst˛ep

Uwaga. Niniejsza prezentacja w ˙zadnej mierze nie jest przybli˙zonym cho´cby wy- kładem teorii funkcji rekurencyjnych. Ograniczamy si˛e do definicji wybranych po- j˛e´c, podajemy nieco przykładów i formułujemy kilka twierdze´n. Jest oczywiste, ˙ze nie zd ˛a˙zymy w ci ˛agu 45 minut omówi´c wszystkich zagadnie´n anonsowanych w ni- niejszym tek´scie – zach˛ecamy jednak zainteresowanych słuchaczy do jego lektury.

Cele tej prezentacji s ˛a zasadniczo dwa:

1. pokazanie, ˙ze intuicyjne poj˛ecie obliczalno´sci mo˙zna reprezentowa´c mate- matycznie;

2. oswojenie słuchaczy z operacjami kodowania, które b˛ed ˛a wykorzystywane w arytmetyzacji składni.

Słuchacze zainteresowani teori ˛a funkcji rekurencyjnych zechc ˛a skorzysta´c z literatury przedmiotu podanej na ko´ncu prezentacji.

Metoda obliczalna (efektywna): w sko´nczonej liczbie prostych, mechanicz- nych kroków daje odpowied´z dla dowolnych danych ustalonej postaci. Dane mog ˛a mie´c struktur˛e zło˙zon ˛a. Obliczenie za pomoc ˛a metody efektywnej nazywa si˛e al- gorytmem.

Podane wy˙zej poj˛ecie obliczalno´sci ma charakter intuicyjny. Mo˙zliwe s ˛a jego ró˙zne matematyczne precyzacje.

1. Przykład metody efektywnej: algorytm ustalania, czy dana formuła j˛ezyka Klasycznego Rachunku Zda´n jest prawem (tautologi ˛a) tego rachunku.

2. Przykład problemu, dla którego nie istnieje metoda obliczalna: ustalanie, czy dowolna formuła j˛ezyka Klasycznego Rachunku Predykatów jest prawem (tautologi ˛a) tego rachunku.

(2)

Nie´smiertelne monogamiczne kazirodcze króliki:

1. Mamy Pierwsz ˛a Par˛e królików (samca i samic˛e). Chcemy obliczy´c, ile par królików otrzymamy po n miesi ˛acach przy zało˙zeniu, ˙ze ka˙zda para króli- ków rodzi co miesi ˛ac now ˛a par˛e (samca i samic˛e), która staje si˛e reproduk- tywna po miesi ˛acu (i natychmiast z tego korzysta).

2. Nadto, króliki ˙zyj ˛a wiecznie, s ˛a monogamiczne i kazirodcze (pocz ˛awszy od drugiej pary tylko brat z siostr ˛a daj ˛a potomstwo; Pierwsza Para te˙z konty- nuuje prokreacj˛e), oraz nie ustaj ˛a w rozmna˙zaniu. [Jest równie˙z wersja ze

´smiertelnymi królikami.]

Ci ˛ag Fibonacciego:

1. F (0) = 0 2. F (1) = 1

3. F (n) = F (n − 1) + F (n − 2) dla n> 2 Ci ˛ag Mosera-Steinhausa:

Wprowad´zmy oznaczenia (oryginalna symbolika Steinhausa była inna):

1. 4(n) oznacza nn

2. (n) oznacza iterowanie n razy operacji 4 dla argumentu n 3. F(n) oznacza iterowanie n razy operacji  dla argumentu n.

Czy potrafisz obliczy´cF(2)?

1. F(2) = ((2)) = (4(4(2))) 2. 4(4(2)) = 4(22) = 4(4) = 44 = 256

3. F(2) = (256) = 4(4 . . . (4(256) . . .)), gdzie operacja 4 wykonywana jest 256 razy.

Masz: 4(4(256)) = (256256)(256256) = (256256)256·256256 = 256(256257) a dalej licz samodzielnie:)

W notacji Steinhausa argumenty były umieszczane wewn ˛atrz wielok ˛atów. Kon- strukcj˛e: n w m p-k ˛atach (p > 3) opisuje funkcja M (n, m, p), okre´slona przez nast˛epuj ˛ace zale˙zno´sci:

(3)

1. M (n, 1, 3) = nn

2. M (n, 1, p + 1) = M (n, n, p)

3. M (n, m + 1, p) = M (M (n, 1, p), m, p).

LiczbaF2 (czyli 2 w pi˛eciok ˛acie) nazywana jest czasem mega, za´s 2 w mega- k ˛acie (czyli wielok ˛acie o mega bokach) nosi nazw˛e moser. Liczb˛eF10 (czyli 10 w pi˛eciok ˛acie) nazywa si˛e megiston:

1. mega=M (2, 1, 5) 2. megiston=M (10, 1, 5) 3. moser=M (2, 1, M (2, 1, 5)).

Obliczenia traktujemy jako operacje na danych. Argumenty oblicze´n (dane) mog ˛a mie´c ró˙zne struktury (liczby, ci ˛agi symboli, drzewa, itd.). Ka˙zde obliczenie mo˙ze by´c reprezentowane przez drzewo:

1. w korzeniu znajduje si˛e wynik obliczenia 2. w li´sciach znajduj ˛a si˛e dane (argumenty)

3. pozostałe wierzchołki odpowiadaj ˛a cz˛e´sciowym obliczeniom, prowadz ˛acym do wyniku.

Izomorfizm Curry’ego-Howarda ustala odpowiednio´s´c mi˛edzy dowodami a ob- liczeniami (o czym słuchacze by´c mo˙ze dowiedz ˛a si˛e na konwersatorium). W ramach wykładu interesuje nas natomiast mo˙zliwo´s´c wykorzystania matematycz- nych modeli obliczalno´sci w dowodach twierdze´n metalogicznych.

2 Funkcje rekurencyjne

Łaci´nskie recurrere znaczy m.in.: przybiec na powrót, wróci´c do czego´s, pospie- szy´c na powrót, a recursare znaczy: wraca´c, cz˛esto powraca´c. Obliczanie warto´sci pewnych funkcji dla argumentu n + 1 wymaga znajomo´sci warto´sci tych funkcji dla argumentów 0, 1, 2, . . . , n. Rozwa˙zamy przy tym nie całkiem dowolne funkcje, ale jedynie takie, których warto´sci otrzymujemy w sposób efektywny (obliczalny).

Za funkcje obliczalne uznamy np. funkcje stałe (nic nie trzeba liczy´c), funkcj˛e na- st˛epnika (dodanie jedynki do liczby), funkcje rzutu (wybranie liczby ze sko´nczo- nej listy). Uznamy, ˙ze składaj ˛ac funkcje obliczalne otrzymamy funkcj˛e obliczaln ˛a.

Uznamy te˙z, ˙ze pewne inne operacje (rekursja prosta, minimum efektywne) stoso- wane do funkcji obliczalnych daj ˛a funkcje obliczalne.

(4)

2.1 Podstawowe definicje

Cz˛e´sciowe funkcje liczbowe f (x1, . . . , xn) (dla n = 1, 2, . . .), to funkcje okre´slone na pewnym podzbiorze zbioru ωno warto´sciach b˛ed ˛acych liczbami naturalnymi.

W tym wykładzie ω to zbiór wszystkich liczb naturalnych. n-argumentowa funk- cja f (x1, . . . , xn) jest całkowita, je´sli jej dziedzin ˛a jest cały zbiór ωn, czyli gdy dom(f ) = ωn.

Nast˛epuj ˛ace funkcje całkowite nazywamy prostymi:

1. s(x) = nast˛epnik x (czyli dodanie jedynki do x), 2. o(x) = 0 (funkcja stała równa 0),

3. Imn(x1, . . . , xn) = xm (dla 16 m 6 n) (rzut na m-t ˛a współrz˛edn ˛a).

Funkcja h(x1, . . . , xn) = g(f1(x1, . . . , xn), . . . , fm(x1, . . . , xn)) otrzymywana jest z funkcji g, f1, . . . , fm przez operacj˛e zło˙zenia.

Funkcj˛e f (x1, . . . , xn, y) otrzymujemy z funkcji g(x1, . . . , xn) oraz h(x1, . . . , xn, y, z) za pomoc ˛a schematu rekursji prostej, je˙zeli:

1. f (x1, . . . , xn, 0) = g(x1, . . . , xn),

2. f (x1, . . . , xn, y + 1) = h(x1, . . . , xn, y, f (x1, . . . , xn, y)).

Dla n = 0 schemat rekursji prostej przyjmuje nast˛epuj ˛ac ˛a posta´c:

1. f (0) = a,

2. f (y + 1) = g(y, f (y)),

gdzie a jest jednoargumentow ˛a funkcj ˛a stał ˛a o warto´sci a.

Je˙zeli funkcja g(x1, . . . , xn) spełnia warunek:

1. (∗) dla wszystkich x1, . . . , xnistnieje y taka, ˙ze g(x1, . . . , xn, y) = 0, to mówimy, ˙ze funkcja f (x1, . . . , xn) okre´slona warunkiem:

f (x1, . . . , xn) = µy [g(x1, . . . , xn, y) = 0]

(czytamy: f (x1, . . . , xn) = najmniejsza y taka, ˙ze g(x1, . . . , xn, y) = 0) jest zdefiniowana przez minimum efektywne. Warunek (∗) nazywamy warunkiem efektywno´sci.

Funkcje okre´slone za pomoc ˛a minimum efektywnego stosowanego do funkcji całkowitych s ˛a całkowite.

(5)

Je˙zeli relacja R spełnia warunek:

∀x1. . . ∀xn∃y R(x1, . . . , xn, y),

to mówimy, ˙ze funkcja f (x1, . . . , xn) jest zdefiniowana z relacji R przez minimum efektywne, gdy: f (x1, . . . , xn) = µy R(x1, . . . , xn, y), gdzie µy R(x1, . . . , xn, y) jest najmniejsz ˛a liczb ˛a y, dla której zachodzi R(x1, . . . , xn, y).

Dla przykładu, funkcj˛e f (x) = blog2xc mo˙zna zdefiniowa´c przez minimum efektywne: f (x) = µy (2y+1 > x). Tutaj b c jest funkcj ˛a podłogi i przyjmujemy log20 = 0.

Funkcj˛e f (x1, . . . , xn) otrzymujemy z funkcji g(x1, . . . , xn, y) za pomoc ˛a ope- racji minimum (za pomoc ˛a µ-operatora), co zaznaczamy nast˛epuj ˛aco:

f (x1, . . . , xn) ' µy [g(x1, . . . , xn, y) = 0], gdy spełniony jest warunek:

f (x1, . . . , xn) jest okre´slona i równa y wtedy i tylko wtedy, gdy g(x1, . . . , xn, 0), . . . , g(x1, . . . , xn, y − 1)

s ˛a wszystkie okre´slone i ró˙zne od 0, za´s g(x1, . . . , xn, y) = 0.

Funkcje otrzymane przez operacj˛e minimum (bez warunku efektywno´sci) mog ˛a nie by´c całkowite.

2.2 Funkcje: pierwotnie, cz˛e´sciowo i ogólnie rekurencyjne

1. Funkcja f (x1, . . . , xn) jest pierwotnie rekurencyjna, je´sli mo˙ze by´c otrzy- mana z funkcji prostych za pomoc ˛a sko´nczonej liczby zastosowa´n operacji zło˙zenia oraz rekursji prostej.

2. Funkcja f (x1, . . . , xn) jest cz˛e´sciowo rekurencyjna, je´sli mo˙ze by´c otrzy- mana z funkcji prostych za pomoc ˛a sko´nczonej liczby zastosowa´n operacji zło˙zenia, rekursji prostej oraz operacji minimum.

3. Funkcja f (x1, . . . , xn) jest ogólnie rekurencyjna (krótko: rekurencyjna), gdy jest ona całkowit ˛a funkcj ˛a cz˛e´sciowo rekurencyjn ˛a.

Ka˙zda funkcja pierwotnie rekurencyjna jest te˙z ogólnie rekurencyjna (lecz nie na odwrót).

Funkcj˛e f (x1, . . . , xn) otrzymujemy z funkcji

g(x1, . . . , xn, y) oraz h(x1, . . . , xn)

za pomoc ˛a ograniczonego µ-operatora, je´sli dla wszystkich x1, . . . , xn:

(6)

µy[g(x1, . . . , xn, y) = 0]

jest okre´slona i nie wi˛eksza od h(x1, . . . , xn) oraz

f (x1, . . . , xn) = µy [g(x1, . . . , xn, y) = 0].

W szczególno´sci, je´sli h(x1, . . . , xn) = a jest funkcj ˛a stał ˛a, to piszemy:

f (x1, . . . , xn) = µy 6 a [g(x1, . . . , xn, y) = 0].

2.3 Zbiory i relacje rekurencyjne

Niech P b˛edzie dowoln ˛a n-argumentow ˛a relacj ˛a na zbiorze ω. Funkcj˛e χP(x1, . . . , xn) nazywamy funkcj ˛a charakterystyczn ˛a relacji P , je´sli funkcja ta spełnia warunek

χP(x1, . . . , xn) =

 0, gdy P (x1, . . . , xn) zachodzi, 1, gdy P (x1, . . . , xn) nie zachodzi.

Relacja P ⊆ ωnjest rekurencyjna (pierwotnie rekurencyjna), je´sli jej funkcja charakterystyczna jest ogólnie rekurencyjna (pierwotnie rekurencyjna). W szcze- gólno´sci, funkcje charakterystyczne zbiorów to funkcje charakterystyczne relacji jednoargumentowych.

Uwaga. W niektórych podr˛ecznikach przez funkcj˛e charakterystyczn ˛a relacji P rozumie si˛e funkcj˛e 1 − χP(x1, . . . , xn). To kwestia umowy, przyjmowanej dla wygody oblicze´n.

2.4 Inna definicja funkcji rekurencyjnych

W my´sl innej definicji zbiór funkcji rekurencyjnych to najmniejszy zbiór funkcji:

1. zawieraj ˛acy funkcje rzutu Imn, dodawania +, mno˙zenia · i funkcj˛e charakte- rystyczn ˛a χ<relacji mniejszo´sci <,

2. domkni˛ety na operacje zło˙zenia funkcji oraz definiowanie przez minimum efektywne.

Obie te definicji okre´slaj ˛a t˛e sam ˛a klas˛e funkcji:

1. mo˙zna pokaza´c, ˙ze +, · i χ<s ˛a pierwotnie rekurencyjne (zobacz ni˙zej);

2. mo˙zna pokaza´c, ˙ze schemat rekursji prostej daje si˛e wyrazi´c za pomoc ˛a mi- nimum efektywnego.

Rozwa˙za si˛e wiele typów rekursji: zwrotna, jednoczesna, ograniczona, itd.

(7)

2.5 Kilka oznacze ´n Stosujemy oznaczenie:

f (x1, . . . , xn) = µy[g(x1, . . . , xn, y) = h(x1, . . . , xn, y)],

gdy spełniony jest warunek: f (x1, . . . , xn) jest okre´slone i równe y wtedy i tylko wtedy, gdy g(x1, . . . , xn, i) oraz h(x1, . . . , xn, i) s ˛a okre´slone dla i = 0, 1, . . . , y, g(x1, . . . , xn, i) 6= h(x1, . . . , xn, i) dla i < y oraz g(x1, . . . , xn, y) = h(x1, . . . , xn, y).

W podobny sposób rozumiemy oznaczenia:

1. µy[g(x1, . . . , xn, y) 6= h(x1, . . . , xn, y)], 2. µy[g(x1, . . . , xn, y) 6 h(x1, . . . , xn, y)], 3. µy[g(x1, . . . , xn, y) < h(x1, . . . , xn, y)], itd.

B˛edziemy mówi´c, ˙ze funkcj˛e f (x) otrzymujemy z funkcji g(x) przez iteracj˛e i oznacza´c ten fakt przez f (x) = ig(x), gdy

1. f (0) = 0,

2. f (x + 1) = g(f (x)).

B˛edziemy mówi´c, ˙ze funkcj˛e f (x) otrzymujemy z funkcji g(x) przez odwró- cenie i zaznacza´c ten fakt przez f (x) = g−1(x), gdy

f (x) = µy[g(y) = x].

Niech G b˛edzie pewn ˛a rodzin ˛a n-argumentowych funkcji cz˛e´sciowych. Funk- cj˛e n + 1-argumentow ˛a F nazwiemy funkcj ˛a uniwersaln ˛a dla G, je´sli

G = {F (0, x1, . . . , xn), F (1, x1, . . . , xn), F (2, x1, . . . , xn), . . .}.

2.6 Przykłady funkcji pierwotnie rekurencyjnych Nast˛epuj ˛ace funkcje s ˛a pierwotnie rekurencyjne:

1. (1) f (x) = x + n;

2. (2) f (x) = n;

3. (3) f1(x, y) = x + y;

(8)

4. (4) f2(x, y) = x · y;

5. (5) f3(x, y) = xy (przyjmujemy 00= 1);

6. (6) f (x) = x! (przyjmujemy 0! = 1).

Dowód (pierwotnej rekurencyjno´sci tych funkcji).

1. (1) f (x) = s(s(. . . s

| {z }

n razy

(x) . . .)).

2. (2) f (x) = s(s(. . . s

| {z }

n razy

(o(x)) . . .)).

3. (3) f1(x, y) = x + y otrzymujemy przez rekursj˛e prost ˛a: f1(0, y) = y = I11(y), f1(x + 1, y) = (x + y) + 1 = s(f1(x, y)).

4. (4) f2(x, y) = x·y otrzymujemy przez rekursj˛e prost ˛a: f2(0, y) = 0 = o(y), f2(x + 1, y) = (x · y) + y = f1(f2(x, y), y)

5. (5) f3(x, y) = xy otrzymujemy przez rekursj˛e prost ˛a: f3(x, 0) = 1 = s(o(x)), f3(x, y + 1) = xy· x = f2(f3(x, y), x).

6. (6) f (0) = 1, f (x + 1) = s(x) · f (x).

Nast˛epuj ˛ace funkcje s ˛a pierwotnie rekurencyjne:

1. (7) sg(x) =

 0, gdy x = 0 1, gdy x > 0;

2. (8) sg(x) =

 0, gdy x > 0 1, gdy x = 0;

3. (9) x.1 =

 0, gdy x = 0

x − 1, gdy x > 0;

4. (10) x.y =

 0, gdy x 6 y

x − y, gdy x > y;

5. (11) |x − y|;

6. (12) max(x, y);

7. (13) min(x, y).

(9)

Dowód.

1. (7) sg(0) = 0; sg(x + 1) = s(o(x)).

2. (8) sg(0) = 1, sg(x + 1) = o(x).

3. (9) 0.1 = 0, (x + 1).1 = x.

4. (10) x.0 = x, x.(y + 1) = (x.y).1.

5. (11) |x − y| = (x.y) + (y .x).

6. (12) max(x, y) = x · sg(x.y) + y · sg(x.y).

7. (13) min(x, y) = x · sg(y.x) + y · sg(y .x).

Niech funkcje f0, f1, . . . , fs maj ˛a nast˛epuj ˛ac ˛a własno´s´c: dla dowolnych argu- mentów x1, . . . , xn jedna i tylko jedna z tych funkcji równa jest 0. Powiemy, ˙ze funkcja g jest okre´slona warunkowo, gdy

g(x1, . . . , xn) =

h0(x1, . . . , xn), gdy f0(x1, . . . , xn) = 0,

. . . .

hs(x1, . . . , xn), gdy fs(x1, . . . , xn) = 0.

Je´sli funkcje h0, . . . , hs, f0, . . . , fs s ˛a pierwotnie rekurencyjne, to g jest pier- wotnie rekurencyjna.

Dowód. g(x1, . . . , xn) = h0(x1, . . . , xn) · sg(f0(x1, . . . , xn)) + . . .

. . . + hs(x1, . . . , xn) · sg(fs(x1, . . . , xn)).

Niech g, α, β b˛ed ˛a funkcjami pierwotnie rekurencyjnymi. Wtedy nast˛epuj ˛ace funkcje s ˛a pierwotnie rekurencyjne:

(14) f (x1, . . . , xn, xn+1) =

xn+1

P

i=0

g(x1, . . . , xn, i);

(15) f (x1, . . . , xn, y, z) =

 Pz i=y

g(x1, . . . , xn, i), gdy y 6 z,

0, gdy y > z;

(16) f (x1, . . . , xn, y1, . . . , ym) =

=





β(y1,...,ym)

P

i=α(y1,...,ym)

g(x1, . . . , xn, i), gdy α(y1, . . . , ym) 6 β(y1, . . . , ym),

0, w pozostałych przypadkach;

(17) f (x1, . . . , xn, xn+1) =

xn+1

Q

i=0

g(x1, . . . , xn, i);

(18) f (x1, . . . , xn, y, z) =

z

Q

i=y

g(x1, . . . , xn, i), gdy y 6 z

0, gdy y > z;

(10)

(19) f (x1, . . . , xn, y1, . . . , ym) =

=





β(y1,...,ym)

Q

i=α(y1,...,ym)

g(x1, . . . , xn, i), gdy α(y1, . . . , ym) 6 β(y1, . . . , ym),

0, w pozostałych przypadkach.

Je´sli funkcj˛e f otrzymujemy z funkcji pierwotnie rekurencyjnych g i h za po- moc ˛a ograniczonego µ-operatora, to f jest pierwotnie rekurencyjna.

Dowód. f (x1, . . . , xn) =

h(x1,...,xn)

P

i=0

sg(

i

Q

j=0

g(x1, . . . , xn, j)).

Nast˛epuj ˛ace funkcje s ˛a pierwotnie rekurencyjne:

1. (20) [xy] — cz˛e´s´c całkowita z dzielenia x przez y (przyjmujemy, ˙ze [x0] = x);

2. (21) rest(x, y) — reszta z dzielenia x przez y (przyjmujemy, ˙ze rest(x, 0) = x);

3. (22) τ (x) — liczba dzielników liczby x, gdzie τ (0) = 0;

4. (23) σ(x) — suma dzielników liczby x, gdzie σ(0) = 0;

5. (24) lh(x) — liczba dzielników liczby x, które s ˛a liczbami pierwszymi (przyj- mujemy lh(0) = 0);

6. (25) π(x) — liczba liczb pierwszych nie wi˛ekszych ni˙z x;

7. (26) k(x, y) — najmniejsza wspólna wielokrotno´s´c liczb x i y, gdzie k(x, 0) = k(0, y) = 0;

8. (27) d(x, y) — najwi˛ekszy wspólny dzielnik liczb x i y, gdzie d(0, 0) = 0.

Dowód.

(20) [xy] =

x

P

i=1

sg(i · y .x).

(21) rest (x, y) = x.y · [xy].

(22) τ (x) =

x

P

i=1

sg (rest (x, i)).

(23) σ(x) = Px i=1

i · sg (rest (x, i)).

(24) x jest liczb ˛a pierwsz ˛a gdy τ (x) = 2 (zob. (22));

lh (x) =

x

P

i=1

sg (|τ (i) − 2| + rest (x, i)).

(25) π(x) =

x

P

i=1

sg (|τ (i) − 2|) (zob. (22)).

(26) k(x, y) = µz6x·y(z · sg (x · y) + sg(x · y)(sg(z)+

(11)

+rest (z, x) + rest (z, y)) = 0).

(27) d(x, y) = [k(x,y)xy ] + x · sg(y) + y · sg(x) (zob. (26)).

Nast˛epuj ˛ace funkcje s ˛a pierwotnie rekurencyjne:

1. (28) px– x-ta liczba pierwsza (p0 = 2, p1 = 3, p2 = 5, . . .);

2. (29) long(x) – numer najwi˛ekszego dzielnika liczby x, b˛ed ˛acego liczb ˛a pierw- sz ˛a;

3. (30) ex(x, y) – wykładnik pot˛egi x-tej liczby pierwszej px w kanonicznym rozkładzie liczby y na czynniki pierwsze; przyjmujemy, ˙ze ex(x, 0) = 0;

Dowód.

1. (28) px = µy622x(|π(y) − (x + 1)| = 0) (zob. (25)).

2. (29) long (x) = µy6x(

x

P

i=y+1

sg(rest (x, pi)) = 0).

3. (30) ex (x, y) = µz6x((sg (rest (y, (px)z+1))) · sg(y) = 0) (zob. (28)).

Łatwo zauwa˙zy´c, ˙ze:

1. Jest niesko´nczenie wiele funkcji pierwotnie (cz˛e´sciowo, ogólnie) rekuren- cyjnych.

2. Ka˙zda z tych klas zawiera jednak tylko ℵ0funkcji.

3. Poniewa˙z wszystkich funkcji z ωnw ω jest kontinuum, wi˛ec prawie wszyst- kie funkcje s ˛a poza klas ˛a funkcji ogólnie rekurencyjnych.

Przykłady funkcji, które:

1. s ˛a rekurencyjne, ale nie sa pierwotnie rekurencyjne, 2. nie s ˛a rekurencyjne,

zostan ˛a podane ni˙zej. Czy spotkała´s ju˙z funkcj˛e, która nie jest rekurencyjna? Na czym miałoby polega´c obliczanie jej warto´sci?

Nast˛epuj ˛ace relacje s ˛a pierwotnie rekurencyjne:

1. (a) x = y;

2. (b) x + y = z;

(12)

3. (c) x · y = z;

4. (d) x dzieli y;

5. (e) x jest parzyste;

6. (f) x oraz y s ˛a wzgl˛ednie pierwsze;

7. (g) ∃n(x = 12+ 22+ . . . + n2);

8. (h) ∃n(x = 1 + 2 + . . . + n).

Je˙zeli relacje P (x1, . . . , xn) oraz Q(x1, . . . , xn) s ˛a rekurencyjne (pierwotnie rekurencyjne), to nast˛epuj ˛ace relacje s ˛a równie˙z rekurencyjne (pierwotnie rekuren- cyjne):

1. (a) (P (x1, . . . , xn) ∧ Q(x1, . . . , xn));

2. (b) (P (x1, . . . , xn) ∨ Q(x1, . . . , xn));

3. (c) ¬P (x1, . . . , xn);

4. (d) (P (x1, . . . , xn) → Q(x1, . . . , xn));

5. (e) P (x1, x1, x3, . . . , xn);

6. (f) P (f (x1, . . . , xm), xm+1, . . . , xm+n−1), je´sli f (x1, . . . , xm) jest rekuren- cyjna (pierwotnie rekurencyjna).

Łatwo zauwa˙zy´c, ˙ze:

1. Je˙zeli relacja R(x1, . . . , xn, y) jest rekurencyjna (pierwotnie rekurencyjna), to relacje ∃y(y6 z∧R(x1, . . . , xn, y)) oraz ∀y(y 6 z → R(x1, . . . , xn, y)) równie˙z s ˛a rekurencyjne (pierwotnie rekurencyjne).

2. Dowolny sko´nczony zbiór liczb naturalnych jest pierwotnie rekurencyjny.

3. Je˙zeli f jest funkcj ˛a ogólnie rekurencyjn ˛a (pierwotnie rekurencyjn ˛a), za´s a jest ustalon ˛a liczb ˛a, to zbiór rozwi ˛aza´n równania f (x1, . . . , xn) = a jest rekurencyjny (pierwotnie rekurencyjny).

4. Niech f b˛edzie funkcj ˛a cz˛e´sciowo, ale nie ogólnie rekurencyjn ˛a. Wtedy dziedzina funkcji f−1jest zbiorem pierwotnie rekurencyjnym.

5. Je˙zeli zbiory A oraz B s ˛a rekurencyjne (pierwotnie rekurencyjne), to rów- nie˙z zbiory A ∩ B, A ∪ B, ω − A s ˛a rekurencyjne (pierwotnie rekurencyjne).

(13)

2.7 Funkcja numeruj ˛aca Cantora

(0,0) (1,0) (0,1) (2,0) (1,1) (0,2)

(3,0) (2,1) (1,2) (0,3)

(4,0) (3,1) (2,2) (1,3) (0,4)

...

Ustawimy te wszystkie pary w jeden ci ˛ag niesko´nczony, wedle porz ˛adku pi˛eter tej niesko´nczonej piramidy (z góry w dół), a w ramach ka˙zdego pi˛etra od prawej do lewej. Zauwa˙z, ˙ze ka˙zde pi˛etro składa si˛e z par (x, y) o stałej sumie x + y.

Funkcja numeruj ˛aca Cantora c(x, y) = ( X

i<x+y

(i + 1)) + x = (x + y)2+ 3x + y 2

ustanawia wzajemnie jednoznaczn ˛a odpowiednio´s´c mi˛edzy ω × ω a ω (koduje pary liczb naturalnych wedle wspomnianego wy˙zej porz ˛adku).

Funkcja c jest pierwotnie rekurencyjna. Takie s ˛a te˙z funkcje:

l(x) = µz 6 x (∃t 6 x c(z, t) = x) r(x) = µz 6 x (∃t 6 x c(t, z) = x).

Nadto, l(c(x, y)) = x oraz r(c(x, y)) = y, a tak˙ze c(l(z), r(z)) = z. Funkcje l oraz r równie˙z s ˛a wzajemnie jednoznaczne.

Analogicznie kodujemy trójki liczb naturalnych: c3(x, y, z) = c(x, c(y, z)) oraz dowolne n-tki takich liczb:

1. c1(x) = x

2. c2(x1, x2) = c(x1, x2)

3. cn+1(x1, x2, . . . , xn, xn+1) = cn(x1, x2, . . . , c(xn, xn+1)).

Istnieje wiele innych funkcji koduj ˛acych. O niektórych z nich opowiemy pod- czas dalszych wykładów.

1. Funkcje cnoraz cnms ˛a pierwotnie rekurencyjne.

2. Funkcje cn(x1, . . . , xn) ustanawiaj ˛a wzajemnie jednoznaczne odpowiednio-

´sci mi˛edzy ωnoraz ω (koduj ˛a ci ˛agi liczb naturalnych długo´sci n).

(14)

3. Z jednoargumentowych funkcji cz˛e´sciowo rekurencyjnych oraz z funkcji cn(x1, . . . , xn) otrzyma´c mo˙zna wszystkie funkcje cz˛e´sciowo rekurencyjne.

4. Istnieje wzajemnie jednoznaczna funkcja pierwotnie rekurencyjna ze zbioru wszystkich ci ˛agów sko ´nczonych liczb naturalnych w zbiór ω.

Jedn ˛a z zalet kodowania z u˙zyciem funkcji Cantora jest to, ˙ze jej zbiór warto´sci jest równy całemu zbiorowi ω.

2.8 Funkcje uniwersalne

Dla ka˙zdej liczby naturalnej n istniej ˛a funkcje uniwersalne dla klas wszystkich n-argumentowych funkcji:

1. pierwotnie rekurencyjnych;

2. ogólnie rekurencyjnych.

Mo˙zna udowodni´c, ˙ze dla ka˙zdej liczby naturalnej n istnieje ogólnie rekuren- cyjna funkcja uniwersalna dla klasy wszystkich n-argumentowych funkcji pier- wotnie rekurencyjnych. W dowodzie tego twierdzenia wykorzystuje si˛e mo˙zli- wo´s´c kodowania liczb naturalnych. W szczególno´sci, wykazuje si˛e, ˙ze zakodowa´c mo˙zna: definiowanie przez schemat rekursji prostej, definiowanie przez zło˙zenie oraz definiowanie przez operacj˛e minimum efektywnego.

Twierdzenie A. Nie istnieje funkcja pierwotnie rekurencyjna uniwersalna dla rodziny wszystkich n-argumentowych funkcji pierwotnie rekurencyjnych.

Twierdzenie B. Nie istnieje funkcja cz˛e´sciowo rekurencyjna uniwersalna dla rodziny wszystkich n-argumentowych funkcji ogólnie rekurencyjnych.

Dowód A. Niech F (t, x1, . . . , xn) b˛edzie funkcj ˛a uniwersaln ˛a dla rodziny wszyst- kich n-argumentowych funkcji pierwotnie rekurencyjnych i przypu´s´cmy, ˙ze jest ona pierwotnie rekurencyjna. Wtedy f (x1, . . . , xn) = 1 + F (x1, x1, . . . , xn) = F (t0, x1, . . . , xn) dla pewnego t0. St ˛ad 1 + F (t0, t0, . . . , t0) = F (t0, t0, . . . , t0).

Dochodzimy do sprzeczno´sci.

Dowód B. Zauwa˙zmy, ˙ze funkcja uniwersalna powinna by´c wsz˛edzie okre-

´slona, tzn. całkowita. Dalej, zobacz dowód Twierdzenia A.

Tak wi˛ec, cho´c mo˙zna skonstruowa´c funkcje uniwersalne dla rodziny wszyst- kich n-argumentowych funkcji:

1. pierwotnie rekurencyjnych;

2. ogólnie rekurencyjnych,

(15)

to z powy˙zszych twierdze´n A i B otrzymujemy przykłady (n + 1)-argumentowych funkcji, które nie s ˛a:

1. pierwotnie rekurencyjne;

2. ogólnie rekurencyjne.

Inna metoda pokazywania, i˙z jaka´s funkcja nie nale˙zy do okre´slonej klasy funkcji to dowód, ˙ze funkcja ta „ro´snie szybciej” ni˙z ka˙zda z funkcji tej klasy.

W ten sposób pokazuje si˛e np., ˙ze funkcja Ackermanna nie jest funkcj ˛a pierwotnie rekurencyjn ˛a (zob. ni˙zej).

2.9 Funkcje elementarnie rekurencyjne

Klasa funkcji elementarnie rekurencyjnych to najmniejsza klasa funkcji zawiera- j ˛aca funkcje:

1. odejmowania ., 2. funkcj˛e wykładnicz ˛a, 3. funkcj˛e nast˛epnika,

oraz zamkni˛eta ze wzgl˛edu na operacje:

1. zło˙zenia,

2. minimum ograniczonego.

Mo˙zna udowodni´c, ˙ze klasa wszystkich funkcji elementarnie rekurencyjnych jest zawarta w klasie wszystkich funkcji pierwotnie rekurencyjnych (i ta inkluzja jest wła´sciwa).

2.10 Hierarchia Grzegorczyka Hierarchia Grzegorczyka. Niech:

f0(x, y) = y + 1, f1(x, y) = x + y, f2(x, y) = (x + 1) · (y + 1), i dla n > 2:

fn+1(0, y) = fn(x + 1, y + 1)

fn+1(x + 1, y) = fn+1(x, fn+1(x, y)).

Dla dowolnego n niech Enb˛edzie najmniejsz ˛a klas ˛a funkcji zawieraj ˛ac ˛a funk- cje: I12, I22, funkcj˛e nast˛epnika oraz funkcj˛e fni zamkni˛et ˛a ze wzgl˛edu na zło˙zenie i schemat rekursji ograniczonej. Wtedy:

(16)

1. E3jest równa klasie funkcji elementarnie rekurencyjnych;

2. dla ka˙zdego n mamy: En⊂ En+1(wszystkie inkluzje wła´sciwe);

3. S

n

Enjest równy klasie wszystkich funkcji pierwotnie rekurencyjnych;

4. dla ka˙zdego n funkcje fn s ˛a ´sci´sle rosn ˛ace wzgl˛edem ka˙zdego z argumen- tów;

5. dla ka˙zdego n funkcja fn+1(x, x) nale˙zy do En+1− En. 2.11 Funkcja Ackermanna

Mówimy, ˙ze funkcja f (x) majoryzuje funkcj˛e g(x1, . . . , xn), gdy istnieje liczba a taka, ˙ze dla wszystkich x1, . . . , xn:

g(x1, . . . , xn) 6 f (max(x1, . . . , xn, a)).

W szczególno´sci, je´sli f jest ´sci´sle rosn ˛aca, to f (x) majoryzuje g(x1, . . . , xn) dokładnie wtedy, gdy g(x1, . . . , xn) 6 f (max(x1, . . . , xn)) dla wszystkich, oprócz sko´nczonej liczby, ci ˛agów (x1, . . . , xn).

Podamy przykład funkcji, która majoryzuje wszystkie funkcje pierwotnie re- kurencyjne: funkcji Ackermanna. Dowodzi si˛e, ˙ze:

1. Funkcja Ackermanna nie jest pierwotnie rekurencyjna (wła´snie dlatego, ˙ze majoryzuje wszystkie funkcje pierwotnie rekurencyjne).

2. Funkcja Ackermanna jest rekurencyjna.

Dla dowolnych m > 0 oraz n > 0 niech:

1. Ack(0, n) = n + 1

2. Ack(m, 0) = Ack(m − 1, 1)

3. Ack(m, n) = Ack(m − 1, Ack(m, n − 1)).

Wprowad´zmy te˙z oznaczenia:

1. Am(n) = A(m, n)

2. A(n) = An(n) (czyli A(n) = Ack(n, n)).

Funkcj˛e A(n) nazywamy funkcj ˛a Ackermanna.

Pisz ˛ac dalej abc mamy na my´sli funkcj˛e a(bc)(a nie funkcj˛e (ab)c— sprawd´z,

˙ze to ró˙zne funkcje!). Podobnie, abcd to a(b(cd)), itd.

Zdefiniujemy teraz funkcj˛eba przez warunki:

(17)

1. 0a = 1

2. (b+1)a = a(ba). Wtedy:

1. 1a = a(0a)= a1 = a 2. 2a = a(1a)= aa 3. 3a = a(2a)= aaa 4. na = aa..

.a

(a wyst˛epuje n razy).

Notacja strzałkowa Knutha.

1. a · b = a + a + . . . + a (a wyst˛epuje b razy) 2. ab = a · a · . . . · a (a wyst˛epuje b razy) 3. ba = aa..

.a

(a wyst˛epuje b razy).

W literaturze wprowadza si˛e oznaczenia:

1. a ↑ b = a · a · . . . · a (a wyst˛epuje b razy)

2. a ↑↑ b = a ↑ (a ↑ (. . . ↑ a) . . .) (a wyst˛epuje b razy) 3. a zatem a ↑↑ b =ba = aa..

.a

(a wyst˛epuje b razy)

4. a ↑↑↑ b = a ↑↑ (a ↑↑ (. . . (a ↑↑ a) . . .)) (a wyst˛epuje b razy) 5. a ↑m b = a ↑m−1(a ↑m−1 . . . (a ↑m−1a) . . .) (a wyst˛epuje b razy).

Formalnie ci ˛ag funkcji ↑nokre´slamy w nast˛epuj ˛acy sposób:

1. a ↑nb = ab, gdy n = 1, 2. a ↑nb = 1, gdy b = 0,

3. a ↑nb = a ↑n−1(a ↑n(b − 1)), gdy n > 1.

Mo˙zna pokaza´c, ˙ze np.:

(18)

1. 1 ↑nb = 1 2. a ↑n1 = a 3. 2 ↑n2 = 4.

Uwaga. Mo˙zesz pisa´c ↑n (a, b) zamiast a ↑n b, wtedy bodaj łatwiej dokony- wa´c rachunków.

Nietrudno te˙z wykaza´c rachunkiem, ˙ze np.:

1. 2 ↑23 = 2 ↑ (2 ↑ 2) = 2 ↑ 22 = 2 ↑ 4 = 24 = 16 2. 2 ↑33 = 2 ↑2 (2 ↑2 2) = 2 ↑2 4 = 2 ↑ (2 ↑ (2 ↑ 2)) =

= 2 ↑ (2 ↑ 4) = 2 ↑ (24) = 2 ↑ 16 = 216= 65536 3. 3 ↑22 = 3 ↑ (3 ↑2 1) = 3 ↑ (3 ↑ (3 ↑2 0)) = 3 ↑ (3 ↑ 1) = 3 ↑ 3 =

= 33 = 27 4. 3 ↑32 = 3 ↑2 (3 ↑3 1) = 3 ↑2 (3 ↑2(3 ↑30)) = 3 ↑2 (3 ↑2 1) =

= 3 ↑2(3 ↑ (3 ↑20)) = 3 ↑2(3 ↑ 1) = 3 ↑23 = 3 ↑ (3 ↑2 2) =

= 3 ↑ 27 = 327= 7625597484987.

Dla wszystkich n:

1. A0(n) = n + 1

2. A1(n) = n + 2 = 2 + (n + 3) − 3 3. A2(n) = 2n + 3 = 2 · (n + 3) − 3 4. A3(n) = 2n+3− 3 = 2 ↑ (n + 3) − 3 5. A4(n) = 2 ↑2 (n + 3) − 3

6. A5(n) = 2 ↑3 (n + 3) − 3

7. Am(n) = 2 ↑m−2 (n + 3) − 3, dla m > 2.

Ponadto dla wszystkich n> 1:

1. A4(n) = 2A4(n−1)+3− 3.

Dla wszystkich m > 0 warto´s´c Am(n) jest równa kolejno:

(19)

1. Am(n) = Am−1(Am(n − 1)) = 2. = Am−1(Am−1(Am(n − 2))) =

3. = Am−1(Am−1(Am−1(Am(n − 3)))) = 4. . . .

5. = Am−1(Am−1(. . . Am−1(Am(0)) . . .)) =

6. = Am−1(Am−1(. . . Am−1(Am−1(1)) . . .)) (tu mamy n + 1 iteracji funkcji Am−1).

Mamy ponadto: A1(1) = 2, A2(1) = 3, A3(1) = 13, A4(1) = 65533.

Inny wariant notacyjny otrzymujemy okre´slaj ˛ac ci ˛ag funkcji Bm: 1. B0(n) = n + 1

2. Bm+1(0) = Bm(1)

3. Bm+1(n + 1) = Bm(Bm+1(n)).

Wtedy:

1. B1(n) = 2 + (n + 3) − 3 2. B2(n) = 2 · (n + 3) − 3 3. B3(n) = 2 ↑ (n + 3) − 3 4. B4(n) = 2 ↑2 (n + 3) − 3 5. Bm(n) = 2 ↑m−2 (n + 3) − 3.

Zauwa˙zmy jeszcze, ˙ze je´sli okre´slimy funkcj˛e trójargumentow ˛a Ac(k, m, n) nast˛epuj ˛aco:

1. Ac(1, m, n) = m + n 2. Ac(k + 1, m, 1) = m

3. Ac(k + 1, m, n + 1) = Ac(k, m, Ac(k + 1, m, n)), to zachodz ˛a nast˛epuj ˛ace równo´sci:

1. Ac(0, m, n) = m + n

(20)

2. Ac(1, m, n) = m · n

3. Ac(2, m, n) = mn= m ↑ n

4. Ac(3, m, n) =nm = m ↑2 n = mm..

.m

(m wyst˛epuje tu n razy) 5. Ac(4, m, n) = m ↑3n.

Funkcja Ack(m, n) „ro´snie bardzo szybko”. Warto´s´c Ack(4, 2) ma w zapi- sie dziesi˛etnym 19729 cyfr. Dla dowolnej n warto´s´c A(4, n) mo˙zemy zapisa´c te˙z nast˛epuj ˛aco:

1. Ack(4, n) =(n+3)2 − 3 2. Ack(4, n) = 22..

.2

− 3 (liczba 2 wyst˛epuje tu n + 3 razy).

Warto´sci n ↑nn nazywa si˛e liczbami Ackermana.

3 Zbiory i relacje rekurencyjnie przeliczalne

3.1 Podstawowe definicje

Zbiór n-tek M nazywamy rekurencyjnie przeliczalnym (zbiorem r.e.), je´sli ist- nieje (n + 1)-argumentowa relacja pierwotnie rekurencyjna

RM(x1, . . . , xn, y) spełniaj ˛aca dla ka˙zdych x1, . . . , xnwarunek:

(x1, . . . , xn) ∈ M wtedy i tylko wtedy, gdy ∃y RM(x1, . . . , xn, y)

Zbiory i relacje rekurencyjnie przeliczalne stanowi ˛a matematyczne odpowied- niki poj˛e´c pozytywnie obliczalnych.

Mówimy, ˙ze relacja R ⊆ ωnjest pozytywnie obliczalna wtedy i tylko wtedy, gdy dla dowolnego układu liczb naturalnych a1, . . . , an, je˙zeli zachodzi R(a1, . . . , an), to otrzymamy w sko´nczonej liczbie z góry okre´slonych kroków odpowied´z na py- tanie: „Czy zachodzi R(a1, . . . , an)?”.

Je˙zeli natomiast nie zachodzi R(a1, . . . , an), to mo˙zemy nie uzyska´c ˙zadnej odpowiedzi na to pytanie.

Przykład. Klasyczny Rachunek Predykatów jest nierozstrzygalny. Nie istnieje efektywna metoda rozstrzygania, czy jaka´s formuła j˛ezyka tego rachunku jest jego tautologi ˛a. Klasyczny Rachunek Predykatów jest jednak półrozstrzygalny: wła- sno´s´c bycia tautologi ˛a tego rachunku jest pozytywnie obliczalna. Np. metoda tablic

(21)

analitycznych pozwala, gdy jaka´s formuła jest tautologi ˛a tego rachunku, dowie´s´c tego w sposób efektywny.

Dla dowolnego zbioru n-tek M zdefiniujemy cz˛e´sciow ˛a funkcj˛e charaktery- styczn ˛a χM(x1, . . . , xn) w sposób nast˛epuj ˛acy:

χM(x1, . . . , xn) =

 0, gdy (x1, . . . , xn) ∈ M, nie okre´slona, gdy (x1, . . . , xn) /∈ M.

Je˙zeli f jest n-argumentow ˛a funkcj ˛a cz˛e´sciow ˛a, to zbiór

Γf = {(x1, . . . , xn, f (x1, . . . , xn)) : (x1, . . . , xn) ∈ dom(f )}

nazywamy wykresem funkcji f .

Funkcj˛e f (x1, . . . , xn) nazywamy dookre´sleniem funkcji g(x1, . . . , xn), je´sli Γg ⊆ Γf oraz dom(f ) = ω.

3.2 Wybrane własno´sci r.e. zbiorów i relacji

Podajemy (bez dowodów) niektóre wybrane własno´sci zbiorów i relacji rekuren- cyjnie przeliczalnych:

1. Je˙zeli relacja R(x1, . . . , xn, y, z) jest pierwotnie rekurencyjna, to M = {(x1, . . . , xn) : ∃y∃zR(x1, . . . , xn, y, z)}

jest zbiorem rekurencyjnie przeliczalnym.

2. Je˙zeli zbiory A i B s ˛a rekurencyjnie przeliczalne, to zbiory A ∩ B i A ∪ B te˙z s ˛a rekurencyjnie przeliczalne.

3. Ka˙zdy zbiór pierwotnie rekurencyjny jest rekurencyjnie przeliczalny.

4. Niech zbiory A i B ró˙zni ˛a si˛e sko´nczon ˛a liczb ˛a elementów. Wtedy:

(a) je´sli A jest rekurencyjny, to B jest rekurencyjny;

(b) je´sli A jest rekurencyjnie przeliczalny, to B jest rekurencyjnie przeli- czalny.

5. Twierdzenie Posta. Je˙zeli zbiór A oraz jego dopełnienie ω − A s ˛a rekuren- cyjnie przeliczalne, to A jest rekurencyjny.

6. Niech M ⊆ ωn. Przyjmijmy:

cn(M ) = {cn(x1, . . . , xn) : (x1, . . . , xn) ∈ M },

(22)

gdzie cnjest funkcj ˛a Cantora koduj ˛ac ˛a ci ˛agi, zdefiniowan ˛a wcze´sniej. Wtedy:

(a) M jest pierwotnie rekurencyjny wtedy i tylko wtedy, gdy cn(M ) jest pierwotnie rekurencyjny;

(b) M jest rekurencyjny wtedy i tylko wtedy, gdy cn(M ) jest rekuren- cyjny;

(c) M jest rekurencyjnie przeliczalny wtedy i tylko wtedy, gdy cn(M ) jest rekurencyjnie przeliczalny.

7. Niech M ⊆ ω b˛edzie zbiorem niepustym. M jest rekurencyjnie przeliczalny wtedy i tylko wtedy, gdy istnieje funkcja pierwotnie rekurencyjna f (x) taka,

˙ze M = {f (x) : x ∈ ω}.

8. Niech M b˛edzie niepustym zbiorem n-tek. Wtedy zbiór M jest rekurencyj- nie przeliczalny wtedy i tylko wtedy, gdy istniej ˛a jednoargumentowe funkcje pierwotnie rekurencyjne f1, . . . , fntakie, ˙ze:

M = {(f1(x), . . . , fn(x)) : x ∈ ω}.

9. Niech funkcja ogólnie rekurencyjna f (x) spełnia warunek: f (x) > x dla wszystkich x ∈ ω. Wtedy zbiór warto´sci rng(f ) funkcji f jest rekurencyjny.

10. Zbiór niesko´nczony A jest rekurencyjny wtedy i tylko wtedy, gdy A jest zbiorem warto´sci ´sci´sle rosn ˛acej funkcji ogólnie rekurencyjnej.

11. Niepusty zbiór A jest rekurencyjny wtedy i tylko wtedy, gdy A jest zbiorem warto´sci rosn ˛acej (niekoniecznie ´sci´sle) funkcji ogólnie rekurencyjnej.

12. Ka˙zdy niesko´nczony zbiór rekurencyjnie przeliczalny zawiera niesko´nczony zbiór rekurencyjny.

13. Ka˙zdy niesko´nczony zbiór rekurencyjnie przeliczalny daje si˛e przedstawi´c w postaci A = rng(f ), dla pewnej wzajemnie jednoznacznej funkcji ogólnie rekurencyjnej f .

14. Wykres funkcji ogólnie rekurencyjnej jest zbiorem rekurencyjnym.

15. Je´sli wykres Γf funkcji f jest rekurencyjnie przeliczalny, to funkcja f jest cz˛e´sciowo rekurencyjna.

16. Przeciwobraz zbioru rekurencyjnego wzgl˛edem funkcji ogólnie rekurencyj- nej jest rekurencyjny.

(23)

17. Niech A b˛edzie zbiorem rekurencyjnym, f funkcj ˛a ogólnie rekurencyjn ˛a i przy tym niech rng(f ) = ω, f (A) ∩ f (ω − A) = ∅. Wtedy f (A) jest rekurencyjny.

18. Niech A, B b˛ed ˛a zbiorami rekurencyjnie przeliczalnymi, za´s C zbiorem re- kurencyjnym takim, ˙ze A ∩ B = ∅, A ⊆ C ⊆ A ∪ B. Wtedy A jest rekuren- cyjny.

19. Niech A, B b˛ed ˛a zbiorami rekurencyjnie przeliczalnymi. Wtedy istniej ˛a zbiory rekurencyjnie przeliczalne A1 ⊆ A, B1 ⊆ B takie, ˙ze A1 ∩ B1 = ∅, A1∪ B1= A ∪ B.

20. Mo˙zna udowodni´c, ˙ze:

(a) funkcja otrzymana za pomoc ˛a zło˙zenia z funkcji o wykresie rekuren- cyjnie przeliczalnym ma wykres rekurencyjnie przeliczalny;

(b) funkcja utworzona za pomoc ˛a schematu rekursji prostej z funkcji o wykresie rekurencyjnie przeliczalnym ma wykres rekurencyjnie prze- liczalny;

(c) funkcja utworzona z pomoc ˛a µ-operatora z funkcji o wykresie reku- rencyjnie przeliczalnym ma wykres rekurencyjnie przeliczalny;

(d) wykres dowolnej funkcji cz˛e´sciowo rekurencyjnej jest rekurencyjnie przeliczalny.

21. Funkcja jest cz˛e´sciowo rekurencyjna wtedy i tylko wtedy, gdy jej wykres jest rekurencyjnie przeliczalny.

22. Dziedzina funkcji cz˛e´sciowo rekurencyjnej jest zbiorem rekurencyjnie prze- liczalnym.

23. Zbiór warto´sci funkcji cz˛e´sciowo rekurencyjnej jest zbiorem rekurencyjnie przeliczalnym.

24. Ka˙zdy zbiór rekurencyjny jest rekurencyjnie przeliczalny.

25. Zbiór n-tek jest rekurencyjnie przeliczalny wtedy i tylko wtedy, gdy jego funkcja charakterystyczna jest cz˛e´sciowo rekurencyjna.

26. Mo˙zna udowodni´c, ˙ze:

(a) obraz zbioru rekurencyjnie przeliczalnego wzgl˛edem funkcji cz˛e´sciowo rekurencyjnej jest rekurencyjnie przeliczalny;

(24)

(b) przeciwobraz zbioru rekurencyjnie przeliczalnego wzgl˛edem funkcji cz˛e´sciowo rekurencyjnej jest rekurencyjnie przeliczalny.

27. Zbiór A rozwi ˛aza´n równania

f (x1, . . . , xn) = a

jest rekurencyjnie przeliczalny, je´sli f jest cz˛e´sciowo rekurencyjn ˛a funkcj ˛a n-argumentow ˛a.

28. Je´sli f jest funkcj ˛a cz˛e´sciowo rekurencyjn ˛a, to zbiór M = {(x1, . . . , xn) :

∃y f (x1, . . . , xn, y) = 0} jest rekurencyjnie przeliczalny.

29. Niech M1, . . . , Mn b˛ed ˛a parami rozł ˛acznymi rekurencyjnie przeliczalnymi

zbiorami n-tek, a f1, . . . , fkcz˛e´sciowo rekurencyjnymi funkcjami n-argumentowymi.

Wtedy funkcja g zdefiniowana nast˛epuj ˛aco:

g(x1, . . . , xn) =









f1(x1, . . . , xn), gdy (x1, . . . , xn) ∈ M1, . . . .

fk(x1, . . . , xn), gdy (x1, . . . , xn) ∈ Mk, nie okre´slona w pozostałych

przypadkach, jest cz˛e´sciowo rekurencyjna.

30. Funkcj˛e cz˛e´sciow ˛a f (x1, . . . , xn) mo˙zna przedstawi´c w postaci f (x1, . . . , xn) = µt(g(x1, . . . , xn, t) = 0) dla stosownej funkcji pierwotnie rekurencyjnej g(x1, . . . , xn, t) wtedy i tylko wtedy, gdy wykres funkcji f (x1, . . . , xn) jest pierwotnie rekurencyjny.

31. Niech F (x, y) b˛edzie funkcj ˛a zdefiniowan ˛a z pomoc ˛a schematu rekursji wzgl˛edem dwu zmiennych:

F (0, y) = ϕ(y),

F (x + 1, 0) = ψ(x, F (x, α(x)), F (x, F (x, γ(x)))), F (x + 1, y + 1) = τ (x, y, F (x, F (x + 1, y))).

Wtedy, je´sli funkcje ϕ, ψ, α, γ, τ s ˛a ogólnie rekurencyjne, to funkcja F jest ogólnie rekurencyjna.

32. Je´sli dziedzina cz˛e´sciowo rekurencyjnej funkcji f jest zbiorem rekurencyj- nym, to f ma rekurencyjne dookre´slenie.

(25)

33. Istnieje funkcja cz˛e´sciowo rekurencyjna f (x), która nie ma ogólnie rekuren- cyjnego dookre´slenia.

34. Istnieje funkcja cz˛e´sciowo rekurencyjna f (x), która nie daje si˛e przedstawi´c w postaci f (x) = µy(g(x, y) = 0) dla ˙zadnej ogólnie rekurencyjnej funkcji g.

35. Je´sli V (n, x) jest cz˛e´sciowo rekurencyjn ˛a funkcj ˛a uniwersaln ˛a dla klasy wszystkich jednoargumentowych funkcji cz˛e´sciowo rekurencyjnych, to zbiór M = {x : V (x, x) = 0} jest rekurencyjnie przeliczalny, ale nie jest reku- rencyjny.

36. Je´sli V (n, x) jest cz˛e´sciowo rekurencyjn ˛a funkcj ˛a uniwersaln ˛a dla klasy wszystkich jednoargumentowych funkcji pierwotnie rekurencyjnych, to zbiór

G = {n : V (n, x) jest ogólnie rekurencyjna}

nie jest rekurencyjnie przeliczalny.

4 Wykorzystywana literatura

4.1 Wykorzystywana literatura polska

Grzegorczyk, A. 1973. Zarys logiki matematycznej. PWN, Warszawa.

Ławrow, I.A., Maksimowa, L.L. 2004. Zadania z teorii mnogo´sci, logiki matema- tycznej i teorii algorytmów.Wydawnictwo Naukowe PWN, Warszawa.

Moczurad, M. 2002. Wybrane zagadnienia z teorii rekursji. Wydawnictwo Uni- wersytetu Jagiello´nskiego, Kraków.

Murawski, R. 20003. Funkcje rekurencyjne i elementy metamatematyki. Problemy zupełno´sci, rozstrzygalno´sci, twierdzenia Gödla.Wydawnictwo Naukowe UAM, Pozna´n.

4.2 Wykorzystywana literatura obcoj˛ezyczna

Barwise, J. (ed.) 1977. Handbook of mathematical logic. North-Holland Publi- shing Company, Amsterdam, New York Oxford.

Boolos, G.S., Burgess, J.P., Jeffrey, R.C. 2002. Computability and logic. Cam- bridge University Press, Cambridge.

(26)

Cori, R., Lascar, D. 2001. Mathematical Logic. A Course with Exercises. Oxford University Press, Oxford.

Cutland, N. 1980. Computability. An introduction to recursive function theory.

Cambridge University Press, Cambridge.

Hinman, P.G. 2005. Fundamentals of Mathematical Logic. A K Peters, Wellesley.

Kleene, S.C. 1952. Introduction to Metamathematics. Wolters-Noordhoff Publi- shing — Groningen, North-Holland Publishing Company — Amsterdam Oxford, American-Elsevier Publishing Company, Inc. — New York.

Mendelson, E. 1997. Introduction to mathematical logic. Chapman & Hall, Lon- don.

Odifreddi, P.G. 1989. Classical recursion theory. North-Holland Publishing Com- pany, Amsterdam.

Odifreddi, P.G. 1999. Classical recursion theory, Vol. II. North-Holland Publi- shing Company, Amsterdam.

Rogers, H. 1972. Theory of Recursive Functions and Effective Computability.

MIT Press, Cambridge.

Shoenfield, J.R. 1967. Mathematical logic. Addison-Wesley, Reading, MA.

Smullyan, R. 1993. Recursion theory for metamathematics. Oxford University Press.

Soare, R.I. 1987. Recursively enumerable sets and degrees. Springer-Verlag, Ber- lin.

JERZYPOGONOWSKI

Zakład Logiki i Kognitywistyki UAM www.kognitywistyka.amu.edu.pl http://logic.amu.edu.pl/index.php/Dydaktyka pogon@amu.edu.pl

Cytaty

Powiązane dokumenty

For short-term forecasting, these arguments have long been anticipated in practice, and models with good (and improvable) track- ing properties have been obtained by

Rachunek sekwentów, który tu przedstawimy opiera si˛e na aksjomatach oraz zestawie reguł logicznych, dotycz ˛ acych wprowadzania stałych logicznych, a tak˙ze reguł

Zbiór S klauzul (j˛ezyka pierwszego rz˛edu) jest niespełnialny wtedy i tylko wtedy, gdy niespełnialny jest pewien sko´nczony zbiór klauzul, b˛ed ˛ acych bazowymi

Je´sli jednak zbiór numerów gödlowskich aksjomatów pozalogicznych teorii T nie jest rekurencyjny, to relacja Dow T (a, b) (czytaj: a jest numerem gödlowskim dowodu w teorii T formuły

Istnieje sko´nczenie aksjoma- tyzowalne rozszerzenie teorii grup, które jest istotnie nierozstrzygalne.. Teo- ria grup nie jest

Okazuje si˛e, ˙ze relacja ta (dokładniej: relacja mi˛edzy numerami dowodów a numerami formuł) nie jest rekurencyjna, jest jedynie re- kurencyjnie przeliczalna.. W definicji

LISTA POWTÓRKOWA 1: INDUKCJA MATEMATYCZNA. 1. musi

Udowodnij, »e dla ka»dej liczby naturalnej n oraz liczby rzeczywistej x ∈ (−1, +∞) jest speª-.