आदिम पुनरावर्ती कार्यों के लिए संयोजक


19

यह सर्वविदित है कि एस और के कॉम्बिनेटर ट्यूरिंग कम्प्लीट हैं। क्या ऐसे कॉम्बिनेटर होते हैं जो आदिम पुनरावर्ती कार्यों के लिए (केवल) उपज देते हैं?


1
क्या यह आप पूछ रहे हैं? mathoverflow.net/questions/48006/…
बाउर

जवाबों:


17

हां, लेकिन आपको टाइप किए गए कॉम्बिनेटरों पर विचार करना होगा। यही है, आपको और K को निम्न प्रकार के स्कीमा देने की आवश्यकता है : K : A B A S : ( A B C ) ( A B ) ( A C ) जहाँ A , B , और C मेटा-वैरिएबल हैं जो प्रत्येक उपयोग पर किसी भी ठोस प्रकार के लिए त्वरित किया जा सकता है।एस

:बीएस:(बीसी)(बी)(सी)
,बीसी

फिर, आप प्राकृतिक संख्याओं के प्रकार को प्रकारों की भाषा में जोड़ना चाहते हैं, और निम्नलिखित संयोजन जोड़ सकते हैं: z : N s u c c : NN i t e r : N( NN ) Nएनएन

z:एनरोंयूसीसी:एनएनमैंटीआर:एन(एनएन)एनएन

परिवर्धन के लिए समानता नियम हैं:

मैंटीआरमैंz=मैंमैंटीआरमैं(रोंयूसीसी)=(मैंटीआरमैं)

मैंटीआर:()एन
मैंटीआर

मैंटीआर

पीआर'=λमैंटीआर(z,z)(λ(n,n')(रोंयूसीसीn,n))पीआर=λरोंn(पीआर')

एनएन×एन


तो यह ट्यूरिंग से कम है-टाइप किए गए कॉम्बिनेटरों के प्रतिबंध के कारण? क्या प्रकार चर (पुनरावर्ती) प्रकार चर पर कार्यों को निरूपित कर सकते हैं (जैसे A = D -> E कुछ प्रकार D और E के लिए)?
नीत्शेचयन

2
एस

नील, धन्यवाद। क्या मैं यह सोचने में सही रहूंगा कि चर्च अंक एन्कोडिंग के माध्यम से S और K के संदर्भ में z, succ और iter का प्रतिनिधित्व करना संभव है?
नीत्शेचियन

आप अपने सिस्टम के साथ पूर्ववर्ती फ़ंक्शन कैसे करते हैं (फ़ंक्शन ऐसा है 00(रोंयूसीसीएक्स)एक्स

@Xoff: पूर्ववर्ती फ़ंक्शन के संदर्भ में एक अच्छी तरह से ज्ञात रैखिक-समय की परिभाषा है iter। यह cs.stackexchange.com पर एक प्रश्न का उद्देश्य हो सकता है ...
cody
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.