Fungsi rekursif primitif didefinisikan lebih dari bilangan asli. Namun, sepertinya konsep tersebut harus digeneralisasi ke tipe data lain, memungkinkan seseorang untuk berbicara tentang fungsi rekursif primitif yang memetakan daftar ke pohon biner, misalnya. Dengan analogi, fungsi rekursif parsial dari bilangan asli menggeneralisasi dengan baik ke fungsi yang dapat dihitung pada tipe data apa pun, dan saya ingin memahami cara membuat generalisasi yang sama untuk fungsi rekursif primitif.
Secara intuitif, jika saya harus mendefinisikan bahasa imperatif sederhana yang memungkinkan operasi dasar, katakan daftar (seperti penggabungan, mengambil kepala dan ekor, perbandingan elemen) dan bentuk iterasi yang membutuhkan mengetahui sebelumnya berapa banyak iterasi akan terjadi ( seperti iterasi atas elemen-elemen dalam daftar tidak berubah), maka bahasa seperti itu paling banyak harus dapat menghitung fungsi rekursif primitif atas daftar. Tetapi bagaimana saya bisa memahami ini secara formal, dan lebih khusus lagi, bagaimana saya bisa membuktikan bahwa bahasa saya menghitung semua fungsi rekursif primitif dari daftar dan bukan hanya sebagian dari mereka?
Untuk lebih jelasnya, saya tertarik untuk memahami fungsi rekursif primitif sebagai kelas fungsi yang terdefinisi dengan baik (jika memang benar), daripada hanya dalam operasi rekursi primitif itu sendiri, yang tampaknya mudah. Saya akan tertarik pada petunjuk apa pun yang telah ditulis tentang rekursi primitif atas struktur data umum, atau memang dalam konteks apa pun selain bilangan asli.
Pembaruan: Saya mungkin telah menemukan jawaban, dalam makalah yang disebut Walther Recursion , oleh McAllester dan Arkoudas. (Prosiding CADE 1996 ). Ini sepertinya berisi versi umum dari rekursi primitif serta rekursi Walther yang lebih kuat. Saya berniat untuk menulis jawaban sendiri setelah saya mencerna ini, tetapi sementara itu catatan ini mungkin bisa membantu orang lain dengan pertanyaan yang sama.