BuK-Kreativaufgabe10 G2
Aufgabenstellung
Entwickeln Sie einen Werkzeugkasten für primitiv rekursive Funktionen. Es wird erwartet, dass aus primitiv rekursiven (Basis-)Funktionen unter Verwendung der Kompositionstechniken (Substitution und primitive Rekursion) neue primitiv rekursive Funktionen generiert werden. Diese sollen verwendbar sein. Es wird nicht erwartet, dass ein universelles Beweisprogramm, das für eine gegebene Funktion konstruktiv nachweist, dass sie primitiv rekursiv ist, entwickelt wird.
Basisfunktionen
Zuerst definieren wir die Basisfunktionen.
Die Nullfunktion kann mit beliebig vielen Parametern aufgerufen werden.
Die Projektionsfunktion erwartet als ersten Parameter den Inde des zu ermittelnden Arguments und anschließend eine variable Anzahl von Argumenten.
Als nächstes definieren wir die Substitution und die primitive Rekursion:
An Hand einiger Beispiele kann die Funktionsweise der beiden Prozeduren nachvollzogen werden. Als erstes betrachten wir die Potenzierung. Die beiden benötigten Prozeduren f und g werden wie folgt definiert:
Um nun aus diesen beiden Prozeduren die Potenzfunktion zu generieren wird die primitive Rekursion angewandt: