Rozwiązanie zadania 11 z listy 1 MPI 2014
Załóżmy, że g : N → N, h : N × N × N → N, k : N × N → N są dowolnymi funkcjami pierwotnie rekurencyjnymi.
Definicja 1. Niech f : N × N → N będzie funkcją, taką że f (x, 0) = g (x)
f (x, n + 1) = h (f (k (x, n) , n) , n, x) Definicja 2. Niech k∗: N × N × N → N będzie funkcją, taką że
k∗(x, m, 0) =< x >
k∗(x, m, n + 1) = k ((k∗(x, m, n))0, m − n − 1) : k∗(x, m, n)
Operacja : to dołożenie na początek ciągu nowego elementu. Dokładniej, jeśli a oznacza ciąg (a0, . . . , an), to x : a oznacza ciąg (x, a0, . . . , an). Zauważ, że : jest szczególnym przypadkiem funkcji conc z listy 2, więc jest p.
rekurencyjny.
Fakt 3. k∗ jest p. rekurencyjna.
Fakt 4. lh (k∗(x, m, n)) = n + 1.
Fakt 5. (k∗(x, m, l))n= (k∗(x, m, l − n))0 dla wszystkich n ≤ l.
Lemat 6. (k∗(x, m, m))n= k (k∗(x, m, m))n+1, n dla wszystkich n < m.
Dowód.
(k∗(x, m, m))nf ak= (k∗(x, m, m − n))0def= k ((k∗(x, m, m − n − 1))0, n)f ak= k (k∗(x, m, m))n+1, n gdzie f ak oznacza skorzystanie z Faktu 5, a def z Definicji 2.
Definicja 7. Niech f0 : N × N → N będzie funkcją, taką że f0(a, 0) = g ((a)0)
f0(a, n + 1) = h f0(a, n) , n, (a)n+1 Fakt 8. f0 jest p. rekurencyjna.
Lemat 9. Dla każdych naturalnych x, n, m ≥ n i a = k∗(x, m, m) zachodzi f ((a)n, n) = f0(a, n).
Dowód. Indukcja po n.
• f ((a)0, 0) = g ((a)0) = f0(a, 0)
• f (a)n+1, n + 1def
= h f k (a)n+1, n , n , n, (a)n+1lem
= h f ((a)n, n) , n, (a)n+1ind
= h f0(a, n) , n, (a)n+1def
= f0(a, n + 1)
gdzie lem oznacza skorzystanie z Lematu 6, a ind z założenia indukcyjnego. Zauważ, że możemy skorzystać z Lematu 6, ponieważ nasze n z założenia bieżącego lematu jest w kroku indukcyjnym równe n + 1, więc mamy nierówność m ≥ n + 1.
Wniosek 10. f (x, n) = f0(k∗(x, n, n) , n).
Wniosek 11. f jest p. rekurencyjna.
1