1 АРИФМЕТИЧНІСТЬ ЧРФ ТА РПМ. ТЕОРЕМА ТАРСЬКОГО При

















































33510-ta_lect7.ppt
- Количество слайдов: 49
1 АРИФМЕТИЧНІСТЬ ЧРФ ТА РПМ. ТЕОРЕМА ТАРСЬКОГО При iнтерпретацiї арифметичних формул на N = (N, ar) іменами натуральних чисел можуть бути замкнені терми 0, 1, 1+1,..., 1+...+1,... Можна визначити виразність на N предикатів, множин і функцій, використовуючи тільки замкнені арифметичні формули. Р : Nk→{T, F} арифметичний, якщо існує ар. формула (x1,..., xk): LNk арифметична, якщо існує арифметична формула (x1,..., xk): Така виражає предикат Р / множину L. Класи арифметичних множин і предикатів позначаємо AМ і AП. f : Nk→N арифметична, якщо її графік f – арифметична множина. Арифметична формула виражає функцію f, якщо виражає f
2 Теорема 1. Кожна ЧРФ арифметична. Функції о, s, Imn, арифметичні. Виражаються формулами 1) x+y – z = x + y. 2) xy – z = x y. 3) o(x) – z = 0 & x = x. 4) s(x) – z = x+1. 5) Imn(х1,..., хп) – (z = xm) & (x1 = x1) &...& (xn = xn). 6) виражається (v(x+v = y) z=0) & (v(y+v = x) y+z = x). Sn+1 і M зберігають арифметичність: Нехай g(x1,...,xn), g1(x1,...,xт),..., gn(x1,...,xт) виражені формулами G(x1,..., xn, z), G1(x1,..., xт, z),..., Gn(x1,..., xт, z) Тоді функцію z = Sn+1(g, g1,..., gn)(x1,..., xт) виражає формула Нехай g(x1,..., xп, у) виражена формулою G(x1,..., xп, у, z). Функцію z = y(g(x1,..., xп, у) = 0) виражає формула Gy,z[z,0] & u(u < zt(Gy,z[u,t] & (t0)))
3 Теорема 2. Кожна РПМ арифметична. Нехай LNk є РПМ. Тоді L = Df для деякої ЧРФ f. Але f арифметична, нехай виражається ар. форм. (x1,..., xп, z). Тоді Df виражається ар. форм. z Теорема 3. Клас АМ замкнений вiдносно операцiй , , доповнення. Нехай множини A та B виражаються ар. формулами та . Тоді AB, AB та A виражаються відповідно арифметичними формулами , & та Наслідок. Маємо строге включення РПМАМ. D = {x|x(x)} є РПМ, тому D арифметична, звідки D арифметична, не РПМ
4 Теорема (Тарського). Множина T номерів усіх ІАФ неарифметична. Супр.: T арифметична T виразна ар. ф-ю U(x): nT N | За тезою Чорча f є ЧРФ, тому f арифметична. Нехай f виражена ар. формулою (x, y, z): Тоді N | та m має єдине вільне ім’я x. z((x, y, z)&Ux[z]) позначимо (x, y). Тоді: N | m має єдине вільне ім’я x та m має єдине вільне ім’я x та N | x,y [x, x] позначимо (x). Нехай k її номер, тобто – це k. Тоді N | N | N | невірно, що k має єдине вільне x та N | N | Прийшли до суперечності, тому T неарифметична.
5 Семантично формула стверджує: "мій номер T", тобто "я хибна". Отже, вона виражає відомий парадокс брехуна Теорема Тарського засвідчує, що не iснує унiверсальної ІАФ, яка дозволяла б отримувати довiльну ІАФ за її номером. Фундаментальне значення теореми Тарського полягає в тому, що вона доводить неможливiсть повної формалiзацiї поняття iстини в достатньо багатих мовах, якi включають або можуть моделювати мову арифметики.
6 АРИФМЕТИЧНА ІЄРАРХІЯ Арифметична ієрархія – класифікація арифметичних множин і предикатів. Вона пов'язує теорію РФ з математичною логікою. n-префікс – послідовність кв. префіксів із n–1 зміною однотипних кванторів, яка починається . n-префікс – починається . uz – 1-префікс xyz – 2-префікс xyuvwtz – 3-префікс Нехай – множина ар. формул, значеннями яких є рекурсивні предикати. Введемо класи предикатів n, n, n – 0 = 0 = 0 = множина всіх РП – n – з усіх предикатів, виразних ф-ми вигл. , де n та – n – з усіх предикатів, вир. ф-ми вигл. , де n та – n = nn
7 п1 маємо: – Р n Р = ()N для деяких n і атомарної ; – Р n Р = ()N для деяких n і атомарної . Класи предикатів n, n, n індукують відповідні класи множин: n = {IP | Рn}, n ={IP | Рn}, n = nn 0 = 0 = 0 = множина всіх РМ 1 – множина всіх РПМ, 1 – множина всіх доповнень до РПМ. За теоремою Поста 1 = 11 – це множина всіх РМ 1 = 0 Теорема 1. Р n Р n Нехай Р = ()N, де n та . Проносимо через квантори, дістанемо ', де 'n, таку: ' . Однак , тому Р = (')N n
8 Теорема 2. nn n+1. Нехай Рn. Тоді Р = ()N для деяких n та . Візьмемо u. и неістотне для u Р = (и)N. Але иn+1 Рn+1. и неістотне для и та и и та и. Отже, Р = (и)N = (и)N. При п непарному иn+1, при п парному иn+1. Тому Рn+1 Отже, n n+1 та n n+1, звідки n n+1n+1 = n+1 Нехай Рn. Тоді Р = ()N для деяких n та . Візьмемо u. и неістотне для и. Звідси Р = (и)N. Однак иn+1, тому Рn+1. и неістотне для и та и и та и. Отже, Р = (и)N = (и)N При п парному иn+1, при п непарному иn+1. Тому Рn+1 Отже, n n+1 та n n+1, звідки n n+1n+1 = n+1.
9 Теорема 3. Нехай Тоді Рn для деякого п0, звідки РAП. За теоремою 2 Рn+1, тому Нехай РAП. Тоді Р = (А)N для деякої арифметичної формули А. Звівши А до пренексної форми, дістанемо пренексну : А. Така має вигляд для деяких nn і атомарної .
10 Теорема (Кліні про ієрархію). Для кожного п > 0 існує арифметичний предикат такий, що n\ n та n\ n Твердження теорем повністю переносяться на відповідні класи АМ. Теорема (сильна про ієрархію). Для кожного п 0 маємо Мn+1 М є (п)-РПМ та Мn+1 М є (п)-РМ. Наслідок. Мn М 1 (п) та Мn М1(п). Позначимо Тп та Тп множини номерів тих ІАФ, що мають пренексну форму з n-префіксом і n-префіксом Теорема. Тп 1 (п) Наслідок. Тп 0(п) та Тп 0(п) Теорема. Т 0()
11 Алгоритм Тарського–Куратовського – установлення належності множини до класів n чи n, тобто визначення її місця в арифметичній ієрархії. Суть алгоритму: використовуючи пренексні операції, подаємо предикат "xM" у вигляді ()N , після чого встановлюємо n чи n для деякого п>0. Приклад 1. М = {x | Dx нескінченна}2 Dx нескінченна zy(y>z & yDx) zy(y>z & k(Px(y) за k кроків) zyk(y>z & Px(y) за k кроків). Предикати y>z та (Px(y) за k кроків) є РП. Приклад 2. М ={x | x не є РФ}2 xM x не є РФ y(x(y)) yk(Px(y) за k кроків) yk(Px(y) за k кроків). Предикат (Px(y) за k кроків) є РП.
12 Приклад 3. М ={x | Dx є РМ}3 Предикат (Pu(v) за w кроків) позначимо Р(u, v, w). Використаємо співвідношення АВ (AB)&(AB). Tепер маємо: Dx є РМ z(Dx = Dz) zy(yDx (yDz)) zy(kР(x,y,k) nР(z, y, n)) zy( (k Р(x, y, k)nР(z, y, n)) & (k Р(x, y, k)nР(z, y, n)) zy(kn(Р(x, y, k)Р(z, y, n)) & kn(Р(x, y, k) Р(z, y, n)) zyknlm( (Р(x, y, k)Р(z, y, n)) & (Р(x, y, l)Р(z, y, m))). Предикат у дужках після кванторних префіксів є РП.
13 EФЕКТИВНІ ОПЕРАЦІЇ НА ФУНКЦІЯХ І МНОЖИНАХ Функції та множини – як правило, нескінченні об’єкти. Ефективність операцій на функціях та множинах полягає в збереженні обчислюваності функцій і перелічності множин. Fn – множина всіх n-арних функцій на N F – об'єднання множин Fn для всіх n1 Tn – множина всіх тотальних функцій з Fn T – множина всіх тотальних функцій з F Cкінченну множину позначаємо F, скінченну функцію – . m-арний множинний оператор – функція вигляду : (2N)m →2N m-арний функціональний оператор – функція вигляду : (F)m →F Функц. оператори називають операціями на функціях, композиціями. Приклади ФО – операції – суперпозиції Sn+1 : (F)n+1→F – мінімізації M : F→F – примітивної рекурсії R : F F →F
14 Монотонні та неперервні оператори МнО : (2N)m→2N монотонний: А1В1, А2В2,..., Аm Вm (А1,..., Аm) (В1,..., Вm). ФО : (F)m→F монотонний: f1g1, f2g2,..., fm gm (f1,..., fm) (g1,..., gm). МнО : (2N)m→2N неперервний: xN, A(2N)m маємо x(A) FA: x(F). ФО : Fn→F неперервний: xNn, yN, fFn маємо (x, у)(f) f : (x, у)(). Аналогічно – визначення неперервного ФО вигляду : F...F→Fn. Теорема 1. Кожний неперервний оператор є монотонним. Нехай неперервний та fg. Візьмемо довільну (x, у)(f). неперервний f : (x, у)(). Однак g ( неперервний) (x, у)(g) (f)(g) монотонний
15 Задамо топологію скінченної інформації на 2N скінченної F покладемо F = {A | FА}. Сукупність усіх таких F утворює базу топології. Неперервність оператора у "точці" A2N відносно топології означає: околу G : (A)G окіл F : AF та BF (B)G. Неформально: з "близькості" B та A в смислі BF та AF випливає "близькість" (B) та (A) в смислі (B)G та (A)G "неперервність" . Візьмемо довільну скінченну G: (A)G, тобто G (А). Нехай G = {x1,..., xn}, тоді xі(A) і{1,...,n}. За неперервністю існують скінченні FіA: xі(Fi) i{1,..., n}. Покладемо Тоді FА, звідки АF. Візьмемо довільну В: BF, тобто FВ. За монотонністю (F) (В) та (Fi) (F) i{1,..., n}. Але xi (Fi) i{1,..., n}, тому xi(В) i{1,..., n}, звідки G (В). Отже, (B)G. Аналогічно – топологія скінченної інформації на Fn. Базу топології утворюють усі множини вигляду = {f | f} для скінченних функцій .
16 Оператори переліку Ефективність МнО : 2N→2N означає можливість ефективно задати (A), якщо ефективно задається A. Ефективний забезпечує породження (A), якщо задано процес породження А. Якщо ефективний, то на основі інформації про А можна ефективно встановити x(A). Це робиться за скінченну кількість кроків, з використанням лише скінченної інформації про А. Ефективні множинні оператори – оператори переліку. Задамо zN оператор z : 2N→2N: z(A) ={x | u(Fu А C(x, u)Dz)}. Маємо xz(A) u(Fu А C(x, u)Dz). ОП z задає перелік z(A), якщо задано перелік A: – паралельно – перелік A та Dz. – якщо до списку вже перелічених елементів Dz потрапило C(x, u) таке, що Fu є підмножиною множини вже перелічених елементів A, то додаємо x до списку елементів z(A).
17 Поняття n-арного оператора переліку zn : (2N)m→2N : zn(A1,..., An) = = {x | u1... un (Fu1 A1 ... Fun An Cn+1(x, u1,..., un)Dz)}. Теорема 2. 1) z(A) l(Dz). 2) z монотонний: якщо АВ, то z(A) z(B). Теорема 3. Кожний оператор переліку неперервний. Покажемо: xz(A) FA: xz(F). Нехай xz(A). За визначенням z u(Fu A C(x, u)Dz). Звідси u(Fu Fu C(x, u)Dz), тому xz(Fu) для деякої Fu A. Нехай xz(F) для деякої FA. Тоді u(Fu F C(x, u)Dz). Однак FA, тому u(Fu A C(x, u)Dz). Звідси xz(A).
18 Частково рекурсивні та рекурсивні оператори АN однозначна, якщо С–1(А) = {(l(x), r(x))} – функц. відношення. A однозначнa (Сm+1)–1(A) – функціональне відношення m1. Таким чином, A однозначнa m1 fFm : A = Сm+1(f). Звідси – позначення для множини всіх однозначних множин: CF = {С(f) | fF1} = {Сm+1(f) | fFm}. Кожний ФО : Fm→Fn задає МнО : CF→CF і навпаки: : Fm → Fn Сm+1(Сm+1)–1 Сn+1(Сn+1)–1 : CF → CF Звідси (f) = (Сn+1)–1((Сm+1(f))) та (A) = Сn+1(((Сm+1)–1(A))). ФО : Fm→Fn частково рекурсивний оператор, якщо zN: fFm У цьому випадку оператор переліку z визначає ЧРО .
19 Тотальний ЧРО назвемо рекурсивним оператором (РО). : Fm→Fn – рекурсивний оператор, якщо zN: fFm (f) = (Сn+1)–1(z(Сm+1(f))) (df1) Дамо визначення РО, не використовуючи поняття ОП ФО : Fm→Fn – РО, якщо zN: fFm, (x, y)Nn+1 (x, у)(f) u(um f у = zn+1(u, x)) (df2) Це визначення РО еквівалентне такому: ЧРФ така: fFm, (x, у)Nn+1 маємо (x, у)(f) u(um f у = (u, x)) (df3) Теорема 1. Визначення df1, df2, df3 еквівалентні. Надалі – df3 рекурсивного оператора.
20 Для формалізації поняття ефективної операції виявляється достатнім поняття алгоритму, ніяких нових понять вводити не потрібно. Це ще раз підкреслює універсальність і глибину поняття алгоритму. Теорема 2. Кожний рекурсивний оператор є неперервним. Доводимо для РО вигляду : F1→F1. Нехай – ЧРФ із df3 РО , (х, у)(f). Тоді u(u f у = (u, x)) u(u u у = (u, x)) (х, у)(u) за df РО. Нехай f: (х, у)(). За df РО f: u(u u у = (u, x)). Але u f (за df РО) (х, у)(f)
21 Приклад 1. Нехай : F1→F1 задається умовою Тоді немонотонний, отже, не РО. Візьмемо скінченну f і нескінченну f . Тоді () = f та (f) = f. Маємо f та (f)() не є монотонним. Приклад 2. Нехай оператор : F1→F1 задається умовою Візьмемо f з нескінченною Еf. Тоді (f) = f f та f () = f Якщо (х, у)(f), то не існує скінченної f: (х, у)(), бо () = f =. Отже, не є неперервним, тому і не РО.
22 Теорема 3. : Fm→Fn є РО неперервний і функція Доводимо . За df у = (u, x) (у = (nm)(x) u – код деякої скінч. функції) (за df РО) a(nm nm у = (a, x) & u – код деякої скінч. функції). "у = (u, x)" є ЧРП є ЧРФ є неперервним. Доводимо . Маємо (x, y)(f) (неперервність ) f: (x, y)(f) (явно вказуючи код для , тобто um = ) x (um f (x, y)(um) u(um f y = (u, x)) (зa df ) Отже, є РО з функцією у ролі функції з визначення
23 Приклад 3. : Fm→Fn такий: (f) = g fFm, де g – фіксована ЧРФ, є РО. Згідно (f) = () = g скінченної f маємо (x, y)(f) (x, y)() неперервний. Згідно з ТЧ Зa теоремою 3 є РО. Приклад 4. РО є оператор мінімізації М : Fn+1→Fn fFn+1 маємо М(f)(x) = у(f(x, y) = 0). Оператор М неперервний: у = у(f((x, y) = 0) у = у( ((x,, y) = 0) вик-ся f: (x, 0), (x, 1),..., ((x, y))D Тому такої f маємо y = М(f)(x) y = М()(x). Згідно ТЧ
24 ЧРО : Fm→Fn – загальнорекурсивний (ЗРО), якщо TmD та (Tm)Tn. Теорема 4. Нехай ЧРО : Fm→Fn такий: TmD. Тоді є РО. Доводимо для випадку m=n=1. Нехай ЧРО визначений оператором переліку z : Припустимо супротивне: такий не рекурсивний нетотальний z(C(f)) неоднозначна для деякої fF1. Візьмемо довільну тотальну g : .fg. Тоді C(f))C(g)) z(C(f)) z(C(g)) за монотонністю ОП z z(C(g)) неоднозначна (g). Це суперечить T1D . Наслідок. Для класів ЗРО та РО маємо: ЗРОРО. За теоремою 4 ЗРОРО. Але РО прикладу 3 не ЗРО, якщо ЧРФ g – не РФ.
25 Теорема 5. Нехай 0 : F1→F1 задається умовами 0({(0,0)}) = {(0,0)} та 0({(1,0)}) = {(0,1)}; для інших fF1 0(f). Тоді 0 розширюється до ЧРО та не розширюється до жодного РО. {C(0,0)} = {0} = F1 та {C(1,0)} = {2} = F4 беремо z: Dz = {C(0,20), C(1,22)}. Нехай ОП z задається таким Dz: xz(A) u(Fu A C(x, u)Dz). A2N z(A) l(Dz) = {0,1}. Звідси: – якщо 0A та 2A, то z(A) = {0,1}; – якщо 0A та 2A, то z(A) = {0}; – якщо 0A та 2А, то z(A) = {1}; – якщо 0A та 2А, то z(A) = .
26 Для ЧРО , який визначається таким z, маємо: 1) Якщо (0,0)f та (1,0)f, то 0C(f) та 2C(f), звідки z(C(f)) = {0,1} – неоднозначна. Отже, для таких f (f), тому не РО. 2) Якщо (0,0)f та (1,0)f, то 0C(f) та 2C(f), звідки z(C(f)) = {0} = C(0,0). Отже, для таких f (f) = {(0,0)}. 3) Якщо (0,0)f та (1,0)f, то 0C(f) та 2C(f), звідки z(C(f)) = {1} = C(0,1). Отже, для таких f (f) = {(0,1)}. 4) Якщо (0,0)f та (1,0)f, то 0C(f) та 2C(f), звідки z(C(f)) = . Отже, для таких f (f) = f. З 2) і 3) випливає, що ЧРО є розширенням оператора 0
27 Покажемо, що 0 не можна розширити до РО. Нехай = {(0,0), (1,0)}. Тоді ЧРО , що є розширенням 0, маємо: () () ({(0,0)}) = 0({(0,0)}) = {(0,0)} та ()({(1,0)}) = 0({(1,0)}) = {(0,1)}. Аде тоді () як множина не є функцією, тобто (). Отже, кожний такий ЧРО нетотальний, тобто не РО Наслідок 1. ЗРОРОЧРО. Наслідок 2. Існують немонотонні ЧРО. Візьмемо ЧРО з доведення теореми. Для = {(0,0), (1,0)} маємо (), але ({(0,0)}) = {(0,0)}. Тому з {(0,0)} не випливає ({(0,0)} ()
28 Теорема Майхілла – Шепердсона Кожний РО при обмеженні на ЧРФ задає на їх індексах ефективну операцію, тобто рекурсивну функцію. Теорема 1. РО : Fm→Fn РФ h така: kN (nk) = nh(k) Нехай ЧРФ визначає РО : у = (mk)(x) u(mu mk у = (u, x)). “у = (mk)(x)” – ЧРП за ТЧ. Отже, (mk)(x) є ЧРФ, позначимо її g(k, x). За s-m-n існує РФ h: g(k, x) = nh(k)(x) для всіх k, x. Тому (nk) =nh(k) РФ h із теореми 1 має таку властивість: якщо mk =ml , то mh(k) = mh(l) Справді, за теоремою 1 mk =ml mh(k) = (mk) = (ml) = mh(l) РФ з такою властивістю – m-n-екстенсійнi 1-1-екстенсійні функції – просто екстенсійнi
29 Теорема 2. Існує РФ s: z, yN маємо z(Dy) = Ds(x,y). За визначенням z xz(Dy) u(FuDy C(x, u)Dz). “xz(Dy)” – ЧРП за ТЧ. Тоді Зa s-m-n РФ s така: чP (z, y, x) = s(x,y)(x) z, y, x. Маємо xDs(x,y) s(x,y) xz(Dy), звідки z(Dy) = Ds(x,y) З теорем 1 та 2 Наслідок 1) Нехай є РО, f є ЧРФ. Тоді (f) є ЧРФ. 2) Нехай А є РПМ. Тоді z(A) є РПМ.
30 Теорема 3 (Майхілла – Шепердсона). Для кожної m-n-екстенсійної РФ h існує єдиний РО : Fm→Fn такий: kN маємо (km) = h(k)m. Доводимо для випадку m = n = 1. На ЧРФ1 задамо оператор : (k) = h(k). Таке задання коректне, тому що за екстенсійністю h оператор визначений однозначно. Покажемо, що неперервний на ЧРФ1: (x, y)(f) f: (x, y)(). x, yN визначимо xy = {fЧРФ1 | (x, y)(f)}. Звідси xy = {k | (x, y)(k)} = {k | (х, у)h(k)}. Однак “(x, y)h(k)” є ЧРП, тому N(xy) = {k | (x, y)h(k)} є РПМ. За теоремою Райса–Шапіро fxy f: xy. Ураховуючи fxy (x, y)(f) та xy (x, y)(), отримуємо (x, y)(f) f: (x, y)(), тобто неперервний на ЧРФ1.
31 Продовжимо оператор до оператора : F1→F1: (f) = {(x, y) | f: (x, y)()} для кожної fF1. Визначення коректне, тому що задається однозначно. Справді, нехай для скінченних 1f і 2f маємо (x1, y1)(1) та (x2, y2)(2). Покажемо, що тоді у1 = у2. Покладемо = 12. Тоді 1 та 2. Однак неперервний на ЧРФ1, тому й монотонний. Звідси (x1, y1)() та (x2, y2)() у1 = у2. З визначення ЧРФ f(х, у)(f) f: (х, у)() (за непеперервністю на ЧРФ1) (х, у)(f). Отже, на ЧРФ1 оператори та діють однаково, тому є продовженням . Однак () = () скінченної , так як усі скінченні функції є ЧРФ. Тому з df дістаємо умову неперервності для : (х, у)(f) f: (х, у)() fF1 та x, yN.
32 Доведемо рекурсивність оператора . Розглянемо функцію За ТЧ існує РФ k: k(u) = u, якщо u – код скінченної функції. Тоді (u)(x) = (u)(x) = (k(u))(x) = h(k(u))(x). За ТЧ (u, x) є ЧРФ. Тому є РО.
33 Теореми про нерухому точку Принцип НТ зустрічається в багатьох розділах математики. Метод НТ використовується у програмуванні для визначення семантики рекурсивних програм. Розглянемо теореми про НТ для випадків МнО і ФО. Теорема 1 (Кліні). оператора переліку існує множина A: 1) (A) = A, тобто A – нерухома точка оператора ; 2) якщо (B) = B, то AB (тобто A – ННТ оператора ); 3) A є РПМ. Для побудови A задамо послідовність множин {An}nN так: A0 = ; An+1 = (An) для n 0. Покладемо Це означає: xA n(xAn).
34 1) Покажемо (A) = A. За побудовою A маємо An A n0, звідки за монотонністю (An)(A) n0, тобто An+1(A) n0. Звідси Нехай x(A). За неперервністю маємо, що FA: х(F). Однак FA n: FAn. Тому n F (FAn х(F)), звідки за неперервністю n (х(An)). Однак An+1 = (An), тому n (xAn+1), звідки xA. Отже, (A)A. Ураховуючи A(A), маємо (A) = A. 2) Нехай B така, що (B) = B. Маємо = А0В. За індукцією маємо: якщо АnВ, то за монотонністю (An)(B), тобто An+1 (В) = В. Отже, AnB n0, звідки
35 3) Візьмемо РФ s таку: z(Dy) = Ds(x,y) z, yN. Нехай – оператор z, k – деякий індекс . Визначимо функцію : За ТЧ рекурсивна. Тепер A0 = = Dk = D(0) An+1= z(An) = Ds(z, (n)) = D(n+1) для n0. Звідси хА n (хAn) n (хD(n)), тому "хА" є ЧРП, звідки A є РПМ. З доведення теореми 1 випливає загальніший, але послаблений результат: Теорема 2. Кожний неперервний оп-р : 2N→2N має ННТ.
36 Розглянемо теорему про нерухому точку для рекурсивних операторів. Теорема (Кліні). Для кожного РО : Fn→Fn існує функція f така: 1) (f) = f, тобто f – нерухома точка оператора ; 2) якщо (g) = g, то fg; це означає, що f – ННТ оператора ; 3) f є ЧРФ. Доводимо для випадку : F1→F1. Побудуємо функцію f. Задамо послідовність функцій {fn}nN: f0 = f; fn+1 = (fn) для n0. Покладемо Це означає (x, y)f n((x, y)fn).
37 1) Покажемо (f) = f. Маємо fn f n0, звідки за монотонністю маємо (fn)(f) n0, тобто fn+1(f) n0. Звідси Нехай (x, y)(f). За неперервністю f: (x, y)(). Маємо f n: fn. Тому n ( fn (x, y)()), звідки за неперервністю n ((x, y)(fn)). Звідси згідно fn+1 = (fn) маємо n((x, y)fn+1), тому (x, y)f. Отже, (f)f. Звідси (f) = f. 2) Нехай g така, що (g) = g. Маємо f = f0g. За індукцією маємо: якщо fng, то (fn) (g) за монотонністю , тобто fn+1 (g) = g. Отже, fn g n0, звідки
38 3) За теоремою 1, візьмемо РФ h таку: (x) = h(x) xN. Нехай k – деякий індекс f. Визначимо функцію : Згідно з ТЧ, є РФ. Mаємо f0 = f = k = (0), fn+1 = ((n)) = h((n)) = (n+1) для n 0. Звідси (x, y)f n((x, y)fn) n((x, y)(n)), тому "(x, y)f" є ЧРП, звідки f є ЧРФ. З доведення теореми – загальніший, але дещо послаблений результат: Теорема 4. Кожний НО : Fn→Fn має ННТ.
39 Приклад 1. Знайдемо ННТ оператора : F1→F1, заданого умовою Оператор неперервний: (х, у)(f) (х, у)(): при х = 0 ця умова виконується скінченної f, при х>0 ця умова виконується скінченної f: x+1D. Отже, має ННТ fH, яку знайдемо методом послідовних наближень. Маємо f0 = f. Знаходимо f1 та f2: Отже, f2 = f1. Стабілізація, тому fп = f1 для всіх n>0. Звідси ННТ Всі інші нерухомі точки нашого оператора мають вигляд
40 Приклад 2. Знайдемо ННТ оператора : F2→F2, заданого так Оператор неперервний: умова (х, у, z)(f) (х, у, z)() виконується при х=0 – скінченної f, при х>0 – скінченної f такої: (х, у)D та (х–1, f(х, у))D. має ННТ fH, яку знайдемо методом послідовних наближень. Маємо: f0 = f Отже, f2 = f1. Маємо стабілізацію, тому fп = f1 для всіх n>0. Звідси ННТ fH = f1.
41 Приклад 3. Знайдемо ННТ оператора : F1→F1, заданого умовою неперервний: (х, у)(f) (х, у)() виконується при х=0 – скінченної f, при х>0 – f такої, що x–1D. Отже, має ННТ. Маємо fп+1 fп n0 метод послідовних наближень вимагає нескінченної к-ті кроків Нехай fH –ННТ нашого оператора. Тоді хN fН(х) = (fН)(х) = 2х–1 + fН(х–1) = 2х–1 + (fН)(х–1) = = 2х–1 + 2х–3 + fН(х–2) = … = 2х–1 + 2х–3+ … +1 + fН(0) = 2х–1 + 2х–3+ … +1 + 0 = х2. Отже, хN маємо fН(х) = х2. Така fH – єдина нерухома точка .
42 Коли ННТ f неперервного є тотальною функцією, така f – єдина НТ . Для ЗРО ННТ може бути нетотальною функцією, тобто не РФ. Наприклад, тотожний оператор є ЗРО, але його ННТ – це f. Нехай РО : F1→F1 визначений ОП z . Тоді (f) = С–1(z(С(f))) fF. Нехай A – НТ оператора z : A = z(A). Тоді f = С–1(A) є НТ РО : (f) = С–1(z(С(f))) = С–1(z(A)) = С–1(A) = f. З іншого боку, нехай f – НТ РО : (f) = f. Тоді A = С(f) – НТ ОП z : z(С(f)) = С((f)) = С(f). Для ЧРО , який не є РО, ННТ може не існувати. Це тоді, коли A – ННТ відповідного ОП z – неоднозначна. Тоді кожна BA неоднозначна, тому такий узагалі не має нерухомих точок.
43 Розглянемо зв’язок між теоремою Кліні про НТ для PO (теоремою KlRO) і теоремою Кліні про НТ для РФ (теоремою KlFP). Теореми KlRO та KlFP наз-ють 1-ю та 2-ю теор. Кліні про рекурсію Нехай : F1→F1 – РО. За теоремою M-Sh існує РФ h така: (k) = h(k) kN. За KlFP для РФ h mN: m = h(m). Маємо (m) = h(m) = m m – НТ . KlFP стверджує існування НТ, яка є ЧРФ, для кожного РО. Однак із KlFP не випливає, що РО має частково рекурсивну найменшу НТ. KlFP – загальніша, теорема KlRO частково випливає з неї. KlFP можна застосувати й до неекстенсійних РФ, які не отримуються за допомогою РО. У той же час, теорема KlRO дає більше інформації. Отже, обидві теореми про НТ взаємно доповнюють одна одну.
44 Теореми про НТ та семантика мов програмування Нехай (x) – вираз певної мови програмування L Якщо надавати x конкретне значення a, то (a) можна однозначно обчислити згідно правил семантики L. 1. Нехай ФС f(x). Тоді f(x) = (x) задає таку програму (алгоритм) для обчислення функції f : a значення f(a) отримується шляхом застосування операцій, відповідних виразу (a) згідно правил семантики L. 2. Нехай ФС f(x). Тоді маємо рекурсивну програму для обчислення f : f(x) = (f, x) Як надати точного значення такій програмі?
45 Обчислювальний метод Функція, яка визначається рекурсивною програмою f(x) = (f, x), задається в термінах методу її обчислення. Приклад 1. Рекурсивна програма (1) Можна формально обчислити, наприклад, f(3), проводячи формальні підстановки та обчислення згідно (1): f(3) = 2f(2) = 22f(1) = 222f(0) = 2221 = 8 Отже, якщо функція f визначається рек. програмою (1), то f(3) = 8
46 Приклад 1. Рекурсивна програма (2) Спробуємо формально обчислити, наприклад, f(1, 0). Маємо f(1, 0) = f(0, f(1, 0)) Справа – два входження f, але яке вибрати для підстановки (f, x, y) ? 1) беремо ліве входження: f(1, 0) = f(0, f(1, 0)) = 1, адже х = 0 2) беремо праве входження: f(1, 0) = f(0, f(1, 0)) = f(0, f(0, f(1, 0))) = f(0, f(0, f(0, f(1, 0)))) = ... ... ... Значення f(1, 0) невизначене
47 Правило обчислення – це правило R, яке вказує, що робити, коли при обчисленні виникає неоднозначність вибору підстановки Для кожних правила R та рекурсивної програми f(x) = (f, x) визначимо f,R : a f,R(a) – значення, формально обчислене згідно R Кожне правило обчислень придає смисл рекурсивній програмі (а також метод її використання). Але однозначності немає. Для рекурс. програми (2) сформулювали 2 правила обчислення: – правило лівого члена LM – правило правого члена RM Тоді f,LM (1, 0) = 1, f,RM (1, 0) Тут можливі ще й інші правила обчислень! Яке правило обчислень вибрати? В якому розумінні f,R задовольняє рівнянню f(x) = (f, x) ? Зробити обґрунтований вибір дозволяє метод нерухомої точки
48 Метод нерухомої точки Смисл рекурсивній програмі надається за допомогою теореми про НТ. Вираз (f, x) мови програмування визначає РО такий: (g)(x) = (g, x) функції g Скінченний та явний характер виразу (g, x) для абсолютної більшості МП гарантує, що такий – справді РО. За теоремою про НТ для РО такий має ННТ Отже, можна визначити функцію f як ННТ РО . Це розумно: – ННТ для РО є ЧРФ, тому f обчислювана – f(x) = (f)(x) = (f, x)
49 Переваги 1) Метод ННТ дає теоретичне обґрунтування вибору конкретного правила обчислень 2) відомо багато методів доведення за індукцією коректності, еквівалентності, інших властивостей програм із семантикою НТ Проте – проблема знаходження добрих практичних процедур для реалізації рекурсивних програм вигляду f(x) = (f, x) Обчислювальний метод та метод НТ взаємно доповнюють один одного.

