ทารกในครรภ์ถ้าคุณยังไม่เคยได้ยินของมันสามารถอ่านข้อมูลเกี่ยวกับที่นี่ มันใช้ระบบของ 'เมทริกซ์การโทร' และ 'กราฟการโทร' เพื่อค้นหา 'พฤติกรรมการเรียกซ้ำ' ทั้งหมดของการโทรซ้ำในฟังก์ชั่น เพื่อแสดงให้เห็นว่าฟังก์ชั่นยุติมันแสดงให้เห็นว่าพฤติกรรมการเรียกซ้ำทั้งหมดของการโทรซ้ำที่เกิดขึ้นกับฟังก์ชั่นเชื่อฟัง 'การสั่งซื้อพจนานุกรม' บางอย่าง มันเป็นตัวตรวจสอบการยกเลิกช่วยให้ฟังก์ชั่นแบบเรียกซ้ำทั้งหมดและฟังก์ชั่นเช่นฟังก์ชั่น Ackermann โดยทั่วไปจะอนุญาตการเรียกซ้ำแบบดั้งเดิมหลายอาร์กิวเมนต์ นี่เป็นพื้นฐานของตัวตรวจสอบการยกเลิกของ Agda; ฉันเชื่อว่า Coq มีสิ่งอำนวยความสะดวกที่คล้ายกันเช่นกัน แต่อาจจะเป็นแบบทั่วไปมากกว่า
จากการอ่านกระดาษ"รวมหน้าที่ Programming" โดย DA อร์เนอร์ เขาอธิบายว่าภาษาที่เสนอของเขาจะสามารถแสดง "ฟังก์ชันการเรียกซ้ำแบบดั้งเดิมทั้งหมด" ตามที่เห็นในระบบ T ที่ศึกษาโดย Godel เขากล่าวต่อไปว่าระบบนี้เป็นที่รู้จักกันว่ารวมฟังก์ชั่นวนซ้ำทั้งหมดซึ่งสามารถพิสูจน์ได้ทั้งหมดในตรรกะลำดับแรก
Dose Fetus อนุญาตการทำงานแบบเรียกซ้ำทั้งหมดหรือไม่ ถ้าเป็นเช่นนั้นจะอนุญาตให้ใช้ฟังก์ชันที่ไม่ใช่ฟังก์ชันแบบเรียกซ้ำแบบดั้งเดิมได้หรือไม่? สามารถให้การอ้างอิงสำหรับคำตอบนี้ได้หรือไม่? (นี่ไม่จำเป็นจริง ๆ เพราะฉันแค่สนใจมันเป็นแค่การอ่านเรื่องสมรสบางเรื่องจะดี)
คำถามโบนัส: ฟังก์ชั่นการเรียกซ้ำแบบดั้งเดิมมีคำจำกัดความที่รัดกุมมากในแง่ของ combinators: พิมพ์ S และ K (ที่ไม่สามารถแสดงจุดรวม combinators คงที่), ศูนย์, ฟังก์ชั่นการสืบทอดและฟังก์ชั่นซ้ำ; แค่นั้นแหละ. มีภาษาอื่นที่กว้างกว่านี้ซึ่งมีคำจำกัดความที่รัดกุมและมีการยกเลิกการแสดงออกทั้งหมดหรือไม่?