Die primitiven rekursiven Funktionen werden über die natürlichen Zahlen definiert. Es scheint jedoch, als ob das Konzept auf andere Datentypen verallgemeinert werden sollte, sodass man über primitive rekursive Funktionen sprechen kann, die Listen beispielsweise Binärbäumen zuordnen. Analog dazu lassen sich partielle rekursive Funktionen über die natürlichen Zahlen gut auf berechenbare Funktionen für jeden Datentyp verallgemeinern, und ich möchte verstehen, wie die gleiche Art der Verallgemeinerung für primitive rekursive Funktionen vorgenommen werden kann.
Wenn ich intuitiv eine einfache imperative Sprache definieren würde, die grundlegende Operationen ermöglicht, z. B. Listen (wie Verkettung, Kopf und Schwanz, Vergleich von Elementen) und eine Form der Iteration, bei der im Voraus bekannt sein muss, wie viele Iterationen auftreten werden ( B. über die Elemente in einer unveränderlichen Liste iterieren), sollte eine solche Sprache höchstens in der Lage sein, die primitiven rekursiven Funktionen über Listen zu berechnen. Aber wie kann ich das formal verstehen und genauer gesagt, wie würde ich beweisen, dass meine Sprache alle primitiven rekursiven Funktionen über Listen und nicht nur eine Teilmenge davon berechnet?
Um es klar auszudrücken, ich bin daran interessiert, primitive rekursive Funktionen als eine genau definierte Klasse von Funktionen zu verstehen (falls dies tatsächlich der Fall ist), und nicht nur an der Operation der primitiven Rekursion selbst, die unkompliziert erscheint. Ich würde mich für Hinweise auf alles interessieren, was über primitive Rekursion über allgemeine Datenstrukturen oder in einem anderen Kontext als den natürlichen Zahlen geschrieben wurde.
Update: Ich habe möglicherweise eine Antwort in einem Artikel namens Walther Recursion von McAllester und Arkoudas gefunden. (Proceedings of CADE 1996. ) Dies scheint eine verallgemeinerte Version der primitiven Rekursion sowie die stärkere Walther-Rekursion zu enthalten. Ich habe vor, eine Selbstantwort zu schreiben, sobald ich diese verdaut habe, aber in der Zwischenzeit könnte diese Notiz für andere mit derselben Frage hilfreich sein.