Các hàm đệ quy nguyên thủy được xác định trên các số tự nhiên. Tuy nhiên, có vẻ như khái niệm này nên khái quát hóa cho các loại dữ liệu khác, cho phép người ta nói về các hàm đệ quy nguyên thủy mà ánh xạ liệt kê thành cây nhị phân, chẳng hạn. Bằng cách tương tự, các hàm đệ quy một phần so với các số tự nhiên tổng quát hóa các hàm tính toán trên bất kỳ loại dữ liệu nào và tôi muốn hiểu cách tạo ra một loại khái quát hóa tương tự cho các hàm đệ quy nguyên thủy.
Theo trực giác, nếu tôi định nghĩa một ngôn ngữ mệnh lệnh đơn giản cho phép các thao tác cơ bản trên, hãy nói các danh sách (như nối, lấy đầu và đuôi, so sánh các yếu tố) và một hình thức lặp lại đòi hỏi phải biết trước bao nhiêu lần lặp lại sẽ xảy ra ( chẳng hạn như lặp lại các phần tử trong một danh sách không thay đổi), thì ngôn ngữ đó hầu như có thể tính toán các hàm đệ quy nguyên thủy qua các danh sách. Nhưng làm thế nào tôi có thể hiểu điều này một cách chính thức, và cụ thể hơn, làm thế nào để tôi chứng minh rằng ngôn ngữ của tôi tính toán tất cả các hàm đệ quy nguyên thủy qua các danh sách chứ không chỉ là một tập hợp con của chúng?
Để rõ ràng, tôi quan tâm đến việc hiểu các hàm đệ quy nguyên thủy như là một lớp các hàm được xác định rõ (nếu thực sự là chúng), thay vì chỉ hoạt động của đệ quy nguyên thủy, có vẻ đơn giản. Tôi quan tâm đến con trỏ tới bất cứ điều gì được viết trên đệ quy nguyên thủy đối với các cấu trúc dữ liệu chung, hoặc thực sự trong bất kỳ bối cảnh nào khác ngoài các số tự nhiên.
cập nhật: Tôi có thể đã tìm thấy một câu trả lời, trong một bài báo có tên Walther Recursion , của McAllester và Arkoudas. (Kỷ yếu của CADE 1996. ) Điều này dường như chứa một phiên bản tổng quát của đệ quy nguyên thủy cũng như đệ quy Walther mạnh hơn. Tôi dự định tự viết một câu trả lời một khi tôi đã tiêu hóa được điều này, nhưng trong khi đó, ghi chú này có thể hữu ích cho những người khác có cùng câu hỏi.