İlkel özyinelemeli işlevler doğal sayılar üzerinden tanımlanır. Bununla birlikte, kavramın, örneğin listeleri ikili ağaçlarla eşleştiren ilkel özyinelemeli işlevler hakkında konuşmasına izin vererek diğer veri türlerine genelleme yapması gerektiği anlaşılıyor. Benzer şekilde, doğal sayılar üzerindeki kısmi özyinelemeli işlevler, herhangi bir veri türündeki hesaplanabilir işlevler için güzelleşir ve ilkel özyinelemeli işlevler için aynı tür genellemenin nasıl yapılacağını anlamak isterim.
Sezgisel olarak, temel işlemlere izin veren basit bir zorunlu dil tanımlayacak olsaydım, listeler (birleştirme, baş ve kuyruğu alma, öğelerin karşılaştırılması gibi) ve önceden kaç tane yinelemenin olacağını bilmeyi gerektiren bir yineleme biçimi (örneğin, değişmez bir listedeki elemanlar üzerinde yineleme gibi), o zaman böyle bir dil en çok ilkel özyinelemeli fonksiyonları listeler üzerinden hesaplayabilmelidir. Ancak bunu resmi olarak nasıl anlayabilirim ve daha spesifik olarak, dilimin yalnızca ilkel özyinelemeli işlevleri listelerin üzerinde hesapladığını ve bunların bir alt kümesini hesapladığını nasıl kanıtlayabilirim?
Açık olmak gerekirse, basit görünen ilkel özyinelemenin kendisinden ziyade, ilkel özyinelemeli işlevleri (gerçekten de öyleyse) iyi tanımlanmış bir işlev sınıfı olarak anlamakla ilgileniyorum. Genel veri yapıları üzerinde ilkel özyineleme üzerine yazılan herhangi bir şeye veya gerçekten de doğal sayılar dışındaki herhangi bir bağlama işaret etmek isterim.
Güncelleme: McAllester ve Arkoudas'ın Walther Recursion adlı bir makalesinde bir cevap bulmuş olabilirim . ( CADE 1996 tarihli Bildiriler .) Bu, ilkel özyinelemenin ve daha güçlü Walther özyinelemesinin genelleştirilmiş bir sürümünü içeriyor gibi görünüyor. Bunu sindirdiğimde kendi kendine cevap yazmayı düşünüyorum, ancak bu arada bu not aynı soruya sahip olanlara yardımcı olabilir.