क्या एक ट्यूरिंग पूर्ण टाइप किए गए लैम्ब्डा पथरी मौजूद है?


31

क्या कोई ट्यूरिंग पूर्ण टाइप किए गए लैम्ब्डा कैल्सी में मौजूद है? यदि हां, तो कुछ उदाहरण क्या हैं?


जवाबों:


37

हाँ यकीनन। कई टाइप किए गए लंबोदी गणना केवल डिजाइन द्वारा दृढ़ता से सामान्यीकृत शर्तों को स्वीकार करते हैं , इसलिए वे मनमानी गणनाएं व्यक्त नहीं कर सकते हैं। लेकिन एक प्रकार की प्रणाली आप की तरह कुछ भी हो सकता है; इसे पर्याप्त व्यापक बनाएं, और आप सभी नियतात्मक संगणनाओं को व्यक्त कर सकते हैं।

एक तुच्छ प्रकार की प्रणाली जिसमें लैम्बडा कैलकुलस का ट्यूरिंग-पूर्ण टुकड़ा शामिल है, वह है जो हर शब्द को अच्छी तरह से टाइप किए गए ( शीर्ष प्रकार के साथ ) स्वीकार करता है ।

ΓM:

अधिक व्यावहारिक रूप से, सांख्यिकीय रूप से टाइप की गई कार्यात्मक प्रोग्रामिंग भाषाओं में उनके मूल में एक टाइप किया गया लैम्ब्डा कैलकुलस होता है जो एक फ़िक्सपॉइंट कॉम्बिनेटर को अच्छी तरह से टाइप करने की अनुमति देता है । उदाहरण के लिए, बस टाइप किए गए लैम्ब्डा कैलकुलस (या एमएल टाइप सिस्टम या सिस्टम एफ या अपनी पसंद के किसी अन्य प्रकार के सिस्टम) के साथ शुरू करें और एक नियम जोड़ें जो कुछ फिक्सपॉइंट कॉम्बिनेटर जैसे अच्छी तरह से टाइप किया हुआ। ऊपर दिए गए नियम बल्कि अनाड़ी हैं, क्योंकि वे जैसे शब्द बनाते हैंΓ f : T TY=λf.(λx.f(xx))(λx.f(xx)) वाई

Γf:TTΓYf:TΓf:TTΓ(λx.f(xx))(λx.f(xx)):T
Yf भले ही उनके घटक अच्छी तरह से टाइप नहीं किए गए हों, लेकिन वे पूरी तरह से कंपोजिट नहीं हैं। एक साधारण फिक्स एक भाषा के रूप में एक फ़िक्सपॉइंट कॉम्बिनेटर जोड़ना है और इसके लिए एक डेल्टा नियम प्रदान करना है; फिर एक प्रकार की प्रणाली और प्रकार के संरक्षण के साथ शब्दार्थ को कम करना एक साधारण बात है । आप शुद्ध लैम्ब्डा कैलकुलस से दूर हो जाते हैं और स्थिरांक के साथ लैम्ब्डा कैलकुलस के दायरे में आ जाते हैं।
Γfix:(TT)Tfixff(fixf)

शुद्ध लैम्ब्डा कैलकुलस से चिपके रहना, एक दिलचस्प प्रकार की प्रणाली चौराहे के प्रकार के साथ लैम्ब्डा कैलकुलस है।

Γएम:टी1Γएम:टी2Γएम:टी1टी2(मैं)Γएम:(मैं)

सामान्यीकरण के संबंध में अंतःक्रियात्मक प्रकार के दिलचस्प गुण हैं:

  • एक लैम्ब्डा-टर्म को नियम के उपयोग के बिना टाइप किया जा सकता है यदि यह दृढ़ता से सामान्य हो रहा है।मैं
  • एक लैम्ब्डा अवधि युक्त नहीं एक प्रकार मानते हैं iff यह एक सामान्य रूप है।

लैम्ब्डा-शब्दों की विशेषता देखें , जिसमें अंतर्दृष्टि के लिए संघ प्रकार होते हैं जैसे कि चौराहे के प्रकार में ऐसा उल्लेखनीय क्षेत्र क्यों होता है।

तो आपके पास एक प्रकार की प्रणाली है जो एक ट्यूरिंग-पूर्ण भाषा (क्योंकि हर शब्द अच्छी तरह से टाइप किया गया है) को परिभाषित करता है, और गणना कम्प्यूटरीकरण का एक सरल लक्षण वर्णन करता है। बेशक, चूंकि इस प्रकार की प्रणाली सामान्यीकरण की विशेषता है, इसलिए यह निर्णायक नहीं है।

नियम नामों और पर एक टिप्पणी : उनका कोई औपचारिक अर्थ नहीं है, लेकिन उन्हें जानबूझकर चुना जाता है। , "परिचय" के लिए खड़ा है, क्योंकि इन परिचय नियम हैं - वे प्रतीक (परिचय या रेखा से नीचे प्रकार में)। जब आप प्रतीक रेखा के ऊपर दिखाई देते हैं, लेकिन नीचे नहीं, तो आपको नियमपूर्वक निष्कासन मिलेगा। उदाहरण के लिए, नियम typecheck बस टाइप लैम्ब्डा पथरी में एक लैम्ब्डा अभिव्यक्ति के लिए परिचय नियम है , और शासन एक आवेदन typecheck करने के लिए उन्मूलन नियम है । ( मैं ) मैं (मैं)(मैं)मैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.