3. Wyład 7: Inducja i reursja struturalna. Termy i podstawianie termów. Dla uninięcia nieporozumień notacyjnych wprowadzimy rozróżnienie między funcjami i operatorami. Operatorem γ w zbiorze X jest funcja γ : 2 X 2 X. Operator γ : 2 X 2 X jest monotoniczny gdy A B γ(a) γ(b) Zauważmy, że operator monotoniczny jest po prostu funcją monotoniczną względem inluzji. Rodzinę L = {A i : i I} podzbiorów zbioru X nazwiemy łańcuchem, jeżeli dla dowolnych A i, A j L zachodzi Operator γ : 2 X 2 X jest ciągły gdy A i A j lub A j A i. ( ) γ A i = γ(a i ). dla ażdego łańcucha {A i : i I} 2 X. Zauważmy w szczególności, że ażdy operator ciągły jest monotoniczny. Operator γ : 2 X 2 X jest zwarty gdy dla ażdego A X i dla ażdego x γ(a) istnieje podzbiór sończony A A dla tórego x γ(a ). Stwierdzenie 1. Operator monotoniczny i zwarty jest ciągły. Dowód. Załóżmy, że operator γ : 2 X 2 X jest monotoniczny i zwarty. Niech L = {A i : i I} 2 X będzie łańcuchem podzbiorów X. Oczywiście A i A i dla ażdego i I, wobec czego ( ) γa i γ A i, dla ażdego i I, ponieważ γ jest monotoniczny. Innymi słowy ( ) γa i γ A i i pozostaje wyazać drugą inluzję. Załóżmy teraz, że x γ ( A ) i. Ponieważ γ jest zwarty, istnieje podzbiór sończony B A i, dla tórego x γ(b). Wobec tego istnieje podłańcuch sończony dla tórego B A i... A j = A j. Tym samym czyli A i... A j, gdzie A i,..., A j L x γ(b) γ(a j ) ( ) γ A i γa i. 1
2 Niech Σ będzie pewnym ustalonym alfabetem, L języiem nad tym alfabetem, a S ustalonym systemem deducyjnym. Przypomnijmy, że jao S rozumiemy pewien ustalony zbiór reguł wniosowania, przy czym reguły bez przesłane nazywamy asjomatami; możemy zatem myśleć o S jao o parze (AX, R), gdzie AX jest pewnym zbiorem asjomatów, a R pewnym zbiorem reguł wniosowania o niepustych zbiorach przesłane. Definiujemy operator nasycenia jao operator Φ S : 2 L 2 L dany wzorem Φ S (P ) = P AX {A : π 1,..., π n r, π 1,..., π n P }. A r R O ile z ontestu będzie jasne z jaim systemem asjomatycznym pracujemy, będziemy po prostu pisać Φ zamiast Φ S. Oczywiście operator nasycenia możemy wielorotnie sładać; w szczególności obraz zbioru pustego w n rotnym złożeniu Φ oznaczać będziemy przez Φ n. Bezpośrednio z oreślenia operatora nasycenia wynia, że jest on operatorem monotonicznym. Stwierdzenie 2. Niech S będzie systemem deducyjnym. Operator nasycenia Φ S jest zwarty. Dowód. Załóżmy, że x Φ(P ), czyli (1) x P, lub (2) x jest asjomatem, lub (3) istnieją π 1,..., π n P i reguła r taa, że π 1,...,π n x Ale wtedy x Φ(P ) dla {x}, gdy x P, P =, gdy x AX, {π 1,..., π n }, gdy π 1,...,π n r dla pewnych π x 1,..., π n P oraz r R. Wniose 1. Niech S będzie systemem deducyjnym. Operator nasycenia Φ S jest ciągły. Oznaczmy przez [[S]] zbiór tez systemu deducyjnego S. Przypomnijmy, że obraz zbioru pustego w n rotnym złożeniu Φ oznaczamy przez Φ n. Stwierdzenie 3. [[S]] = n N Φ n. Dowód. Niech t [[S]]. Wówczas istnieje sończony ciąg formuł A 1,..., A n tai, że (1) A n = t, (2) dla dowolnego 1 i n albo A i AX albo istnieją i 1,..., i < i oraz r R taie, że A i1,..., A i A i Tym samym t Φ n, a więc również t n N Φ n. Na odwrót, jeśli t Φ n, dla pewnego n N, to istnieje sończony ciąg formuł A 1,..., A n tai, że (1) A n = t,
3 (2) dla dowolnego 1 i n albo A i AX albo istnieją i 1,..., i < i oraz r R taie, że Tym samym t jest tezą systemu S, a więc t [[S]]. A i1,..., A i A i Poażemy w dalszym ciągu, że zbiór tez jest najmniejszym zbiorem domniętym względem inducji. Najzgrabniej będzie to zrobić przy użyciu odrobiny matematyi dysretnej. Przypomnijmy, że ratą nazywamy parę (K, ), gdzie K i jest porządiem taim, że dowolny sończony podzbiór zbioru K ma resy. Tradycyjnie oznaczamy inf {x, y} = x y oraz sup{x, y} = x y. Przez inducję łatwo zauważamy, że ażdy sończony podzbiór raty ma resy. Pojęcie to rozszerzamy na raty niesończone, o tórych mówimy, że są zupełne, jeżeli ażdy ich podzbiór A ma res dolny A i res górny A. Przyładowo rata (2 X, ) jest zupełna, a rata (N, ) nie jest. W szczególności res górny raty K oznaczać będziemy przez a res dolny przez. Jeżeli (K, ) jest ratą, to funcję f : K K nazywamy monotoniczną, jeżeli dla dowolnych x, y K: x y f(x) f(y). W szczególności zauważmy, że operatory monotoniczne są funcjami monotonicznymi w racie (2 X, ). Dalej, powiemy że x K jest puntem stałym funcji f : K K, jeżeli f(x) = x. Twierdzenie 1 (Tarsi-Knaster). Niech (K, ) będzie zupełną ratą, f : K K funcją monotoniczną i P = {x K : f(x) x}. Wtedy µf = P jest najmniejszym puntem stałym f. Dowód. Z definicji infimum mamy bezpośrednio µf p dla ażdego p P więc f(µf) f(p) p czyli f(µf) jest ograniczeniem dolnym zbioru P a to z olei za sobą pociąga f(µf) µf gdyż µf jest, z definicji, najwięszym ograniczeniem dolnym P. Wobec tego czyli f(µf) P a to z olei za sobą pociąga f 2 (µf) f(µf) µf f(µf). Niech (K, ) będzie ratą zupełną. Funcja f : K K jest ciągła gdy f( S) = f(s) dla ażdego łańcucha S K. Widzimy, że ażda funcja ciągła jest monotoniczna. W szczególności operator ciągy γ : 2 X 2 X jest funcją ciągłą na racie zupełnej (2 X, ).
4 Twierdzenie 2 (Kleene). Niech (K, ) będzie ratą zupełną i niech f : K K będzie funcję ciągłą. Niech ponadto Wówczas Indf = {f n ( ) : n 0}. µf = Indf. Dowód. Zbiór {f n ( ) : n 0} jest łańcuchem ponieważ f jest monotoniczna. Indf jest więc putem stałym f: Mamy f(indf) = f( {f n ( ) : n 0} = f({f n ( ) : n 0}) = {f n+1 ( ) : n 0} = {f n ( ) : n 1} = Indf Funcja f jest (ciągła, a więc) monotoniczna, czyli dla ażdego n N, czyli Ale więc µf Indf = min µf f n ( ) f n (µf) = µf s {f n ( ):n 0} s {f n ( ):n 0} Indf µf. {x K : s x} {x K : s x} Twierdzenie 3. Załóżmy że S = (AX, R) jest systemem deducyjnym nad języiem L. Zbiór tez [[S]] L jest najmniejszym podzbiorem (w sensie inluzji) Ω L dla tórego (1) Ω dla ażdego asjomatu AX; (2) π 1,..., π n Ω Ω dla ażdej reguły r R taiej, że π 1,...,π n Dowód. Niech zbiór Ω L będzie tai, ja w założeniach twierdzenia. Wtedy i czyli Ω 1 = AX Ω Ω 2 = { : π 1,..., π n r, π 1,..., π n Ω} Ω r R Φ(Ω) = Ω Ω 1 Ω 2 = Ω.
5 Odwrotnie, ażdy punt stały operatora Φ spełnia założenia twierdzenia. Ale [[S]] = n N Φ n jest na jmnieszym puntem stałym, co wniosujemy z twierdzenia Kleene a. System deducyjny jest deterministyczny, gdy ażde twierdzenie jest onluzją doładnie jednej reguły. Stwierdzenie 4. Niech S = (AX, R) będzie systemem deducyjnym nad języiem L i niech X będzie pewnym zbiorem. Dane (1) dla ażdego asjomatu AX, element φ() X, (2) dla ażdej reguły r R taiej, że π 1,...,π n r, element φ() = φ(φ(π 1 ),..., φ(π n )) X oreślają relację φ [[S]] [[S]] tóra jest funcją φ : [[S]] X gdy S jest deterministyczny. Dowód. Operator nasycenia F : 2 [[S]] X 2 [[S]] X : F (P ) = P AX{(, φ())} {(, φ(x 1,..., x n )) : π 1,..., π n r, (π 1, x 1 ),..., (π n, x n ) P } r R jest monotoniczny i zwarty w stosunu do inluzji, więc istnieje najmniejszy punt stały Ta relacja jest funcją gdy S jest deterministyczny. µf [[S]] X Na oniec zastosujemy poznaną teorię do zdefiniowania termów i ich podstawiania. Języ pierwszego rzędu słada się z: symboli relacyjnych P i, i I, gdzie (P i ) oznaczać będzie ilość argumentów symbolu P i, symboli funcyjnych f j, j J, gdzie (f j ) oznaczać będzie ilość argumentów f j, stałych c, K. Niezależnie od języa V będziemy też rozważali zbiór zmiennych indywiduowych V. Zbiór termów języa L definiujemy następująco: V T, c T dla ażdego K, jeżeli f jest symbolem funcyjnym n argumentowym i t 1,..., t n są termami, to ft 1... t n jest termem. Zbiór zmiennych wolnych termu, vf(t), definiujemy następująco: vf(x) = {x}, vf(c) =, vf(ft 1... t n ) = vf(t 1 )... vf(t n ). Z olei zbiór zmiennych związanych termu vb(f) jest zawsze zbiorem pustym. Operację podstawiania termu t za zmienną x, (x/t), definiujemy następująco:
6 y(x/t) = { t, gdy x = y y, gdy x y, c(x/t) = c, ft 1... t n (x/t) = ft 1 (x/t)... t n (x/t).