Induktive Definitionen Induktive Definition: Konstruktive Methode zur Definition einer Menge M von Objekten aus Basisobjekten mittels (Erzeugungs-) Regeln Slide 1 Rekursion über den Aufbau: Konstruktive Methode zur Definition einer Funktion F auf einer induktiv definierten Menge M Zugleich: Eine kompakte Beschreibung zur Berechnung von F Induktion über den Aufbau: Methode für den Beweis einer Aussage x M : E(x) für eine Eigenschaft E(x) von Objekten x aus M Beispiele für Anwendungen Slide 2 I. Induktive Definitionen dienen zur computerinternen Darstellung von komplexen Datentypen wie die Syntax von Programmen reguläre Ausdrücke... II. Rekursion über den Aufbau liefert eine kompakte Beschreibung von (a priori) terminierenden Algorithmen. Rekursion über dem Aufbau = FOR-Schleifenprogramme III. Induktion über den Aufbau wird in der Verifikation von Programmen (Korrektheit und Laufzeit) eingesetzt.
Induktive Definitionen Beispiel 1 Def. Induktive Definition der aussagenlogischen Formeln (alf): Voraussetzung: Unendlich viele Variablen VAR := {X 0, X 1, X 2,...} für Wahrheitswerte 1 (für true) und 0 (für fals) Slide 3 (B) Jede der Variablen X i ist eine alf. (R1) Ist φ eine alf, so auch ( φ). (R2) Sind φ und ψ alfn, so auch (φ ψ), (φ ψ), (φ ψ), (φ ψ). (A) Nur die gemäß (B), (R1), (R2) erzeugbaren Objekte sind alfn. Klar: Der (Wahrheits-) Wert einer alf φ hängt von der Belegung der Variablen von φ ab. Def. Bezeichne ENV die Menge der Belegungen, d.h. Abbildungen v: VAR {0, 1}. Rekursion über den Aufbau Beispiel 1 Slide 4 Def. Abbildung [ ]: ENV alf {0, 1} mit (v, φ) [φ] v := (Wahrheits-) Wert von φ unter v mittels Rekursion über den Aufbau der aussagenlogischen Formeln. (B) [X i ] v := v(x i ) { 1 falls [φ] (R1) [( φ)] v := 1 [φ] v = v = 0 0 sonst (R2) [(φ ψ)] v := [φ] v [ψ] v [(φ ψ)] v := max{[φ] v, [ψ] v } [(φ ψ)] v := [( φ) ψ] v = max{1 [φ] v, [ψ] v } [(φ ψ)] v := Def. φ und φ heißen äquivalent, in Zeichen φ φ, falls gilt v ENV: [φ] v = [φ ] v. { 1 falls [φ] v = [ψ] v 0 sonst
Induktion über den Aufbau Beispiel 1 Def. {, } Formeln definiert wie alfn, nur mit Konjunktoren,. Lemma (Vollständigkeit der {, } Formeln). Für alle alfn φ gilt E(φ) : {, } Formel φ : φ φ. Slide 5 Beweis. Mittels Induktion über den Aufbau von alf. I.A. X i := X i. I.S. Sei φ eine beliebige alf der Gestalt ( ψ) oder (ψ opϑ) mit op {,,, }. Gelte die I.V. für die Komponenten von φ, d.h. es gibt {, } Formeln ψ, ϑ mit ψ ψ und ϑ ϑ. Nun definiere φ gemäß seiner Gestalt: ( ψ) := ( ψ ) (ψ ϑ) := ( (ψ ( ϑ ))) (ψ ϑ) := (ψ ϑ ) (ψ ϑ) := (( (ψ ( ϑ ))) (ψ ϑ) := ( (( ψ ) ( ϑ ))) ( (ϑ ( ψ )))) Induktive Definitionen Beispiel 2 Def. Induktive Definition von binären Bäumen (BB): (B) ist ein binärer Baum. (R) Sind T 1, T 2 binäre Bäume, so auch T 1 ; ; T 2. (A) Nur die gemäß (B), (R) erzeugbaren Objekte sind binäre Bäume. Slide 6 Def. Abbildung d: BB N mit d(t) := Tiefe von T durch Rekursion über den Aufbau von BB. d( ) := 0 d( T 1 ; ; T 2 ) := 1 + max{d(t 1 ), d(t 2 )} Lemma (Knotenabschätzung). Für alle binären Bäume T gilt: #Knoten(T) 2 d(t)+1 1 Beweis. Mittels Induktion über den Aufbau von BB. (Übung)
Induktive Definitionen informal Eine (informale) induktive Definition einer Menge M besteht aus (B) einer Menge B von Basisobjekten in M, Slide 7 (R) einer Menge R von Regeln, die angeben, wie aus bereits erzeugten Objekten neue Objekte gebaut werden können, und (A) einer Ausschlußregel mit dem Wortlaut: Nur die gemäß (B) und (R) erzeugbaren Objekte sind Elemente von M. Intuition: Induktive Definitionen folgen dem Baukastenprinzip: Jedes Baukastenobjekt ist entweder ein Bauklötzchen (B) oder aus anderen bereits erzeugten Baukastenobjekten gemäß einer Baukastenregel (R) zusammengebaut. Frage: Warum definiert dies eine Menge im Sinne der Mengenlehre? Induktive Definitionen formal Slide 8 Formal modellieren wir eine (informale) induktive Definition so: Benötigen Grundmenge A mit B A. Idee: Durch Anwendung von Regeln aus R auf Basisobjekte oder gebaute Objekte filtert man aus A die Objekte von M heraus. Regeln sind Tupel ((a 1,...,a l ), b) mit l 1, a 1,..., a l, b A, lies b ist aus a 1,...,a l gebaut. Also: R Seq(A) + A. C A ist R abgeschlossen, falls für alle ((a 1,...,a l ), b) R gilt: a 1,..., a l C = b C I R (B) := {C B C A, C ist R abgeschlossen} heißt der induktive Abschluß von B unter R. Eine Menge M nun heißt induktiv definiert, falls M =I R (B) für gewisse A, B, R gilt.
Beispiel und Intuition Bsp. BB hat die Darstellung I R (B) mit A := {,,, ;}, B := { } und R := {((a 1, a 2 ), a 1 ; ; a 2 ) a 1, a 2 A}. Slide 9 Bem. Die mathematische Modellierung einer (informal) induktiv definierten Menge M als induktiver Abschluß I R (B) mit Grundmenge A gibt genau die Intuition über M wieder zurück. Satz (Intuition). Die Menge I R (B) (mit Grundmenge A) ist die kleinste Teilmenge von A, die B enthält und R-abgeschlossen ist, d.h. es gilt: (a) B I R (B) (b) I R (B) C für alle R abgeschlossen Mengen C mit B C A, (c) I R (B) ist R-abgeschlossen. Konstruktivität der Methode: Schichtendarstellung Intuition: I R (B) wird in Schichten IR i (B) von unten erzeugt: Jedes Objekt in I R (B) ist entweder ein Basiselement oder durch endlich viele Regelanwendungen aus (endlich vielen) Basiselementen erzeugt. Slide 10 IR 0 I i+1 R (B) := B (B) := Ii R (B) {b A a 1,..., a l IR i (B): ((a 1,..., a l ), b) R} = Menge der aus B nach maximal i+1 Anwendungen von Regeln aus R erzeugbaren Objekte Satz (Schichtendarstellung). Für M := I R (B) gilt: (a) B=IR 0 (B) und Ii R (B) Ii+1 R (B) für alle i N. (b) M = IR i (B) i N
Induktion über den Aufbau Ziel: Beweis einer Aussage der Gestalt x M : E(x) für eine induktiv definierte Menge M =I R (B) und eine Eigenschaft E(a), die für Objekte a A entweder wahr oder falsch ist. Slide 11 Genügt: Beweis durch Induktion über den Aufbau, d.h. zeige: Induktionsanfang (I.A.) Es gilt E(b) für alle b B. Induktionsschritt (I.S.) Für beliebiges ((a 1,..., a l ), b) R gilt: E(a 1 ),..., E(a l ) = E(b) E(a 1 ),..., E(a l ) heißt Induktionsvoraussetzung für ((a 1,...,a l ), b). Bsp. N=I R (B) mit A:={0, S}, B:={0} und R:={((a), Sa) a A}. Vollständige Induktion = Induktion über den Aufbau von N Korrektheit von Induktion über den Aufbau Satz (Korrektheit von Induktion über den Aufbau). Sei M :=I R (B) eine induktiv definierte Menge mit Grundmenge A und E eine Eigenschaft auf A, so daß gilt: Slide 12 (I.A.) E(b) für alle b B. (I.S.) (E(a 1 ),..., E(a l ) = E(b)) für beliebiges ((a 1,...,a l ), b) R. Dann gilt x M : E(x). Beweis. Nach Intuition genügt es für C 0 :={a A E(a)} zu zeigen: B C 0 und C 0 ist R-abgeschlossen. Dies folgt direkt aus (I.A.) und (I.S.). Nach Intuition folgt daher M C 0, d.h. x M : E(x).
Rekursion über den Aufbau informal Slide 13 Ziel: Definition von F : M Y Z für eine Menge M := I R (B) und beliebige Mengen Y, Z ( Parametermenge Y kann auch fehlen). Genügt: Definiere F durch Rekursion über den Aufbau, vorausgesetzt ( ) M ist frei erzeugt, d.h. für alle b A gilt: b B oder es gibt genau eine Folge (a 1,..., a l ) mit ((a 1,..., a l ), b) R. Basis Bestimme F(b, y) für alle b B und Parameter y. Schritt Für beliebiges ((a 1,..., a l ), b) R und Parameter y bestimme F(b, y) aus a 1,...,a l, b, y und F(a 1, y),...,f(a l, y) } {{ } Vorgängerwerte mittels bereits bekannter Operationen. Bem. ( ) sichert, daß F wohldefiniert ist. Hier bricht das Baukastenmodell zusammen, da Baukastenobjekte i.a. nicht frei erzeugt sind. Rekursion über den Aufbau formal Slide 14 Def. Sei M :=I R (B) frei erzeugt (mit Grundmenge A) und seien schon Funktionen (Operationen) der folgenden Typen definiert: G: A Y Z und H : Seq(A) A Y Seq(Z) Z Dann ist Funktion F : M Y Z (bzw. F : M Z in der Version ohne Parametermenge Y ) durch Rekursion über den Aufbau von M aus G, H definiert, in Zeichen F = R(G, H), falls F die folgenden Rekursionsgleichungen erfüllt: F(b, y) = G(b, y) für alle b B F(b, y) = H((a 1,...,a l ), b, y, (F(a 1, y),...,f(a l, y))) für alle a 1,..., a l, b M mit ((a 1,..., a l ), b) R Bem. Aus FOR-Schleifenprogrammen für G und H kann man hieraus leicht eines für F gewinnnen!