M. Sperber, H. Klaeren Wintersemester 1998/99
Compilerbau I
Blatt 6
Abgabe: 1.12.1998
val analyze_bound :
'ident Camlsyn.program
-> 'ident list
-> ('ident Camlsyn.program * 'ident list)
Für analyze_bound e l ist e ein Mini-Caml-Programm und
l eine Liste eingebauter Bezeichner. Der Rückgabewert ist ein
Tupel aus einem Mini-Caml-Programm, in dem Referenzen Ident
i auf eingebaute Bezeichner durch Builtin i ersetzt
worden sind, und einer Liste im Programm verwendeter aber nicht
gebundener Bezeichner.
Alle Pferde haben die gleiche Farbe.
Induktionsanfang: Für eine leere Menge von Pferden gilt die Behauptung trivialerweise.
Induktionsschritt: Gegeben sei eine Menge von n+1 Pferden. Nehme ein Pferd aus der Menge -- die restlichen Pferde haben per Induktionsannahme die gleiche Farbe. Nimm ein anderes Pferd aus der Menge -- wieder haben die restlichen Pferde per Induktionsannahme die gleiche Farbe. Da die übrigen Pferde die Farbe nicht plötzlich gewechselt haben können, war es jeweils dieselbe Farbe, und alle n+1 Pferde haben diese Farbe.