Kursusgang 15 14. april 2011 1 Rekursive definitioner Hvad er en rekursiv definition egentlig? Partielle ordninger cpo er (fuldstændige partielle) ordninger Monotone og kontinente funktioner Sætning om mindste fikspunkt 1.1 Mystiske eksempler f : N N f(n) = { 2, hvis n = 0 f(n-2),n lige Hvad er f(7)? f(7) = 42? $ " f(n) = { 2,n lige f(n-2), udef ellers S asb c S L = {a}l{b} {c} L Hvad er L egentligt? L = {a n cb n n 0} {a n cccb n n 0}? $ L = {a n cb n n 0} " 1
Hvad er det mindste objekt, der opfylder en rekursiv definition? Hvordan kan vi finde det? 1.2 Hvad er en rekursiv definition egentlig? Rekursiv definition En rekursiv definition af et objekt x er en definition på formen: x def = F (x) x findes på højsresiden også! L = {c} {a}l{b} L Vi kan tænke på højre siden som en funktion af X, så i dette eksempel har vi en højresidefefinition: F (x) = {c} {a}x{b} X En løsning til en rekursiv definition er altså et objekt d som opfylder at d = F (d) Moralen: En løsning til en rekursiv definition er et fikspunkt til højresiefunktion. 1.3 Partielle ordninger Definition: Lad f : D D Et fikspunkt for f er et d D således at: (f(d) = d) fd = d Sætning: Hvis f : D D, hvor D er en cpo og f er kontinuert og er mindste element i D, så har f et mindste fikspunkt x givet ved x = lim i 0 f i Hvad er en cpo? cpo = complete partial order Definition En partial ordet mængde (po) er en mængde D udstyret med en ordningsrelation, som skal opfylde: 1. For alle x D : x x 2. For alle x, y D : x y og y x => x = y 2
3. For alle x, y, z D : x y og y z => x z Eksempel (N, ) er en po, for den opfylder 1 3. Σ = {a, b, c} P(Σ) = {Ø, {a}, {b}, {c}, {a, b},...} ((Σ), ) er også en po. Ikke eksempel M = mængden af ansatte på I16 p q hvis p ikke mødte senere end q på arbejde idag (M, ) ikke en po. 2. overtrådt! Definition Lad (D, ) være en po. Lad y D. Punktet x er en øvregrænse for y hvis for alle y Y : y x x er en mindste øvregrænse (møg) for y hvis x er en øvregrænse for y og for enhver øvregrænse z for y har vi x z Eksempel Betragt (N, ) y = {1, 2, 3, 4} 42 er en øvregrænse for Y. Eksempel Betragt (Q, ) Y = {3.1, 3.14, 3.141,...,...} π er mindste øvregrænse for Y, men π er Y OG π Q (π irrationel!) Defintion Lad (D, ) være en po. En voksende følge Y er en y D så Y = {y 1, y 2, y 3,...} så y i y i + 1 for alle i. Eksempel på ikke-voksende følge M = {a, b, c} P (M), Y = {{a}, {b}} ikke en voksende følge, {a} {b}! 1.4 cpo er (fuldstændige partielle) ordninger Definition En cpo (domæne) er en po (D, ) så enhver voksende følge Y har en mindste øvregrænse indenfor D. Denne kaldes lim Y. 3
Eksempel M = {a, b, c}, ordnet med Y = {Ø, {a}, {a, b}} voksende følge lim Y = y i, y i y Defintiion Lad (D, ) være en cpo. Det mindste element i D kaldes, det opfylder at x for alle x D. Strengt taget skal vi vise at findes i enhver cpo. Sætning Hvis (D, ) er en cpo, har (D, ) et mindste element. Bevis Vælg = limø Ø er en voksende følge, så limø findes. Det gælder at x for enhver øvregrænse for Ø. Ethvert x D er en øvregrænse for Ø, for x d for alle d Ø. 1.5 Monotone og kontinente funktioner Definition f : D D, (D, ) er en cpo. kaldes monoton hvis for alle x, y D hvis x y så fx y (dvs. f bevarer ordningen) Definition f : D D, (D, ) er en cpo, er kontinuert, hvis den er monoton og for enhver voksende følge Y (dvs. f bevarer grænseværdi) lim {fy y Y } = f( lim Y ) 4
f( lim y) = i lim 1 (f(y i )) y 4 f(y 4 ) y 2 f(y 3 ) y 2 f(y 2 ) y 1 f(y 1 ) 1.6 Sætning om mindste fikspunkt Bevis for sætning om mindste fixpunkt Så {, f, f 2, f 3,... } har en mindste øvregrænse x, som er fiksunkt til f og dit mindste sådanne. Man skal først vise {f i i 0} er en voksende følge. Nok at vise at f i f i + 1 for alle i (induktion i i) Først: Vis at x er et fikspunkt, dv.s fx = x. fx = f(lim{f i i 0}). = lim{ff i i 0} d kont.. = lim{f i i 1} Da den mindste øvregrænse ikke ændres vd at overføre til en voksende følge: = lim{f i i 0} = x Så: x er mindste fikspunkt: Tag et vilkårligt fikspunkt d, dvs. d = fd. er mindst, så d (f monoton) f fd = d Derfor ses let: f i f i d = d d er en øvregrænse til {, f, f 2,... } Så da x er mindste øvregrænse for denne følge, så har vi x d. Eksempel L = {c} {a}l{b} L Højreside funktion F : F (X) = {c} {a}x{b} X F : D D hvor D er mængden af alle sprog over alfabet {a, b, c} D = P (a, b, c ) Vi kan ordne sprogene i D: L 1 L 2 hvis L 1 L 2 Påstånd: (D, ) er en cpo som valgt F er kontinuert. Så kan vi bruge vores sætning til at finde F s fikspunkt! x er mindste øvregrænse for {Ø, F Ø, F 2 Ø, F 3 Ø,... } F Ø = {c} {a}ø{b} Ø = {c} 5
F 2 Ø = F (F Ø) = F ({c}) = {c} {a}{c}{b} {c} = {c, acb} F 3 Ø = F (F 2 Ø) = {c, acb, aacbb} F n Ø = {a i, cb i 0 i < n} x = i lim 0 F i Ø = i > 0 F i Ø = {a i cb i i 0} Algoritme, der givet F : D D og mindste element i D,, beregner x x =. while F x x do. x = F x return x 6