गैर- समाप्तिकारी


14

मैं इन सवालों के बारे में सोच रहा हूँ:

क्या एक टाइप किया हुआ लैम्ब्डा कैलकुलस है जो सुसंगत और ट्यूरिंग पूर्ण है?

/cs/65003/if-%CE%BB-xxx-has-a-type-then-is-the-type-system-inconsistent

और अनकैप्ड सेटिंग में संबंधित प्रश्नों का उत्तर देने के लिए पहले से ही कुछ कठिन हैं ! विशेष रूप से, मैं यह जानने के लिए उत्सुक हूं कि क्या हम निम्नलिखित तरीके से गैर-समाप्ति से ट्यूरिंग-पूर्णता को पुनर्प्राप्त कर सकते हैं:

प्रश्न: एक (शुद्ध) λ -term t को बिना किसी कमजोर सिर के सामान्य रूप में देखते हुए , क्या हमेशा एक निश्चित-बिंदु वाले कॉम्बिनेटर मौजूद होता है Ytजैसे

Yt (λx.x)=t

समानता सब सापेक्ष लिया जाता है βη ।

मैं वास्तव में सवाल के इस संस्करण पर शक होने की झूठी है, तो एक के लिए प्रश्न आराम कर सकते हैं पाशन combinators , जहां एक पाशन Combinator Y एक शब्द होने के लिए परिभाषित किया गया है ऐसा है कि हर एक के लिए f

Y f=f (Y′ f)
जहां Y′ फिर से एक लूपिंग कॉम्बिनेटर होना आवश्यक है। यह निश्चित रूप से सामान्य रूप से पुनरावर्ती कार्यों को परिभाषित करने के लिए पर्याप्त है।

आम तौर पर, मैं "प्राकृतिक" तरीके ढूंढने में दिलचस्पी रखता हूं, जो एक गैर-समाप्ति t से एक लूपिंग कॉम्बिनेटर तक जाने के लिए है, भले ही उपरोक्त समीकरण संतुष्ट न हो।

मैं भी उपरोक्त प्रश्न के कमजोर संस्करणों में दिलचस्पी रखता हूँ, जैसे एक आवेदन होने के लिए लिया जा सकता है टी ≡ टी 1 टी 2 ... टी एन प्रत्येक के साथ टी मैं सामान्य रूप में (हालांकि मुझे यकीन है कि नहीं कर रहा हूँ कि वास्तव में मदद करता है)।tt≡t1 t2…tnti


अब तक: प्राकृतिक दृष्टिकोण और "काली मिर्च" के अनुप्रयोगों के लिए है एफ , उदाहरण के लिएtf

Ω:=(λx.x x)(λx.x x)

सामान्य हो जाता है

YΩ:=λf.(λx.f (x x)) (λx.f (x x))

विचार के सिर को एक लैम्ब्डा एप्लिकेशन λ x को कम करना है । टी ' और साथ बदलें λ एक्स । f t ( , लेकिन अगला चरण अस्पष्ट है (और मुझे संदेह है कि इससे कुछ भी हो सकता है)।tλx.t′λx.f t′

मुझे यकीन है कि मैं Böhm पेड़ों के बारे में काफी समझ में कर रहा हूँ नहीं वे कुछ भी कहना है कि क्या देखने के लिए, लेकिन मैं अत्यधिक यह शक है, के बाद से के Böhm पेड़ बस है ⊥ है, जिसके लिए एक जैसा कुछ भी नहीं लग रहा है वाई Ω : की एक अनंत पेड़ कपोल-कल्पना।Ω⊥YΩ


संपादित करें : मेरे एक मित्र ने टिप्पणी की कि यह अनुभवहीन दृष्टिकोण शब्द के साथ काम नहीं करता है: भोला दृष्टिकोण देगा ( λ x । F ( x x x ) )। ( λ एक्स । च ( एक्स एक्स एक्स ) ) लेकिन यह है नहीं एक निश्चित बिंदु Combinator! इसे f के दूसरे एप्लिकेशन को बदलकर ठीक किया जा सकता है

(λx.x x x)(λx.x x x)
(λx.f (x x x))(λx.f (x x x))
f , लेकिन तब f does मैं मूल शब्द नहीं देता। यह स्पष्ट नहीं है कि यह शब्द मूल प्रश्न का एक काउंटर-उदाहरण है (और निश्चित रूप से यह अधिक सामान्य एक के लिए काउंटर उदाहरण नहीं है)।λyz.f yf↦I

मेरा मानना ​​है कि टी के पास कोई सामान्य रूप नहीं है, इसे कमजोर सिर के सामान्य रूपों को बाहर करने के लिए भी मजबूत किया जाना चाहिए। यदि टी लैम्ब्डा का उत्पादन करने में सक्षम है, तो, चूंकि सिर की स्थिति में आपके पास हमेशा एक फ़िक्सपॉइंट कॉम्बिनेटर (एफ = आईडी से शुरू होता है), लैम्ब्डा को इसके द्वारा उत्पादित किया जाना चाहिए, यह संभव नहीं है।
— एंड्रिया एस्परटी

@AndreaAsperti आप सही हैं, निश्चित रूप से। मैं प्रश्न में संशोधन करूंगा।
— कोडी

जवाबों:


7

इस बहुत अच्छे प्रश्न के कई पहलू हैं, इसलिए मैं इस उत्तर को उसी के अनुसार तैयार करूंगा।

1. बॉक्सिंग प्रश्न का उत्तर नहीं है । आपके मित्र द्वारा सुझाए गए शब्द वास्तव में एक है।Ω3=(λx.xxx)(λx.xxx)

यह पहले टिप्पणियों में देखा गया था कि किसी के पास "ओग्रे" जैसे काउंटरटेक्मैंस हैं , जब तक कि सवाल कमजोर सिर के सामान्य रूप के बिना शब्दों तक सीमित नहीं है। ऐसे शब्दों को शून्य शब्द के रूप में जाना जाता है । ये ऐसे शब्द हैं, जो कभी भी किसी विकल्प के तहत एक मेमने को कम नहीं करते हैं।K∞=YK

किसी भी निश्चित बिंदु कॉम्बिनेटर (fpc) , एक तथाकथित म्यूट (AKA "रूट-एक्टिव") शब्द है: इसका प्रत्येक रिडक्ट एक रेडेक्स को और कम करता है।Y IYYI

Ω 3 - { Ω 3 ( λ एक्स । एक्स एक्स एक्स ) ⋯ ( λ एक्स । एक्स एक्स एक्स ) ⏟ कश्मीर | कश्मीर ∈ एन }K∞ मूक नहीं है; न तो जैसा कि इसके सेट का निरीक्षण करके प्रकट होता है, जो कि Ω3 −

{Ω3(λx.xxx)⋯(λx.xxx)⏟k∣k∈N}

इसके बजाय एक सटीक तर्क देने के लिए कि सभी fpcs (वास्तव में, किसी भी लूपिंग कॉम्बीनेटर के लिए) के लिए म्यूट क्यों है जो श्रमसाध्य हो सकता है लेकिन अभी तक स्पष्ट रूप से पर्याप्त रूप से स्पष्ट है मैं आपके प्रश्न के स्पष्ट सामान्यीकरण का इलाज करूंगा, साथ ही शब्दों को भी सीमित करूंगा।Y - -YIY−−

म्यूट शब्द शून्य शब्दों का एक उपवर्ग है, जो अयोग्य शब्दों का एक उपवर्ग है। साथ में, ये क्रमशः लैम्ब्डा कैलकुलस में "अर्थहीन" या "अपरिभाषित" की अवधारणा के लिए सबसे लोकप्रिय विकल्प हैं, क्रमशः ट्रिवियल बरार्डुसी, लेवी-लोंगो, और बी \ "ओम पेड़" के समान हैं। व्यर्थ शब्दों की धारणाओं की जाली। पौला सेवरई और फेर-जन डे व्रिज द्वारा विस्तार से विश्लेषण किया गया है। [1] म्यूट शब्द इस जाली में नीचे तत्व का गठन करते हैं, अर्थात, "अपरिभाषित" की सबसे अधिक प्रतिबंधात्मक धारणा।

2. को एक म्यूट टर्म माना जाए, और उस संपत्ति के साथ एक लूपिंग कॉम्बिनेटर हो, जो ।वाई वाई आई = एमMYYI=M

पहले हम तर्क देते हैं कि, एक ताजा चर , वास्तव में आपके द्वारा वर्णित तरह बहुत कुछ दिखता है , जो " आसपास कुछ कम" द्वारा प्राप्त किया गया है ।Y z Y M z MzYzYMzM

चर्च-रोसेर द्वारा, और में एक सामान्य कटौती है, । एक मानक कमी लें । का प्रत्येक उपसमूह इस कमी के तहत Yz के एक अद्वितीय उपखंड से मेल खाता है । किसी भी सबटर्म , फैक्टर , जहां मध्य पैर एक कमजोर कमी (और अंतिम पैर) है आंतरिक है)। एक iff द्वारा "संरक्षित" होता है, यह दूसरा पैर कुछ Redex अनुबंधित , जिसके साथ प्रतिस्थापन का वंशज ।YIMM′एम 'R:YI↠sM′M′YI≡Yz[z:=I]C[N]=M′RYI↠C[N0]↠whC[N1]↠iC[N]NzIPI[z:=I]

जाहिर है, को कुछ उपमहाद्वीपों की रखवाली करनी है , अन्यथा यह मूक ही होगा। दूसरी ओर, यह सावधान रहना चाहिए कि उन उप-धानों की रक्षा न करें जो गैर-समाप्ति के लिए आवश्यक हैं, अन्यथा यह लूपिंग कॉम्बिनेटर के अनंत बी \ "ओम पेड़ को विकसित नहीं कर सकता है।YM

यह इस प्रकार एक मूक शब्द खोजने के लिए पर्याप्त है, जिसमें प्रत्येक सबटर्म, प्रत्येक रिडक्ट की, गैर-सामान्यीकरण के लिए आवश्यक है, इस अर्थ में कि उस सबटर्म के सामने एक वैरिएबल डालने से एक सामान्य शब्द उत्पन्न होता है।

पर विचार करें , जहां । यह तरह है , लेकिन हर पुनरावृत्ति पर, हम जांचते हैं कि तर्क की स्थिति में की घटना एक सिर चर द्वारा "अवरुद्ध" नहीं है, इसे एक पहचान खिलाकर। किसी भी सबटर्म के सामने एक डालते हुए आखिरकार एक सामान्य रूप आकार , जहां प्रत्येक या तो , या इनमें से " -sprinkling" होता है। इसलिए सामान्यीकृत प्रश्न का एक है।Ψ=WWW=λw.wIwwΩWzzP1⋯PkPiIWzΨ

प्रमेय। कोई लूपिंग कॉम्बिनेटर ऐसा नहीं है जो ।YYI=Ψ

प्रमाण। के सभी reducts के सेट है । साथ परिवर्तनीय होने के लिए , को इनमें से एक को कम करना होगा। तर्क सभी मामलों में समान है; लिए, मान लें कि ।Ψ{WW,WIWW,IIIIWW,IIIWW,IIWW,IWW}ΨYIYI↠IIWW

कोई भी मानक कमी को YI↠sIIWW

YI↠wPN4,P↠wQN3,Q↠wN1N2,thus YI↠wN1N2N3N4N1↠I,N2↠I,N3↠W,N4↠W

आइए हम को रूप में और से रूप में ।YI↠wN1N2N3N4N i R R iR0NiRi

इन कटौती को प्रतिस्थापन से उपर ले जाया जा सकता है ताकि रचना ।आर जेड 0 : वाई जेड ↠ z कश्मीर ( एम 1 एम 2 एम 3 एम 4 ) एन मैं ≡ एम मैं [ z : = मैं ] आर 0[z:=I]

R0z:Yz↠zk(M1M2M3M4)Ni≡Mi[z:=I]
R0YI↠R0z[z:=I]Ik(N1⋯N4)↠wkN1⋯N4

इसी तरह, हम प्रत्येक as Ri:Ni↠N∈{I,W}

Riz:Mi↠NizRi:Ni↠Riz[z:=I]Niz[z:=I]↠IN

के इस कारक के दूसरे चरण में उन -redexes को अनुबंधित करना शामिल है जो प्रतिस्थापन द्वारा निर्मित हैं । (विशेष रूप से, चूंकि एक सामान्य रूप है, इसलिए ।)RiINiz[z:=I]NNiz

Niz क्या हम एक "कहा जाता है की -sprinkling ", के किसी भी संख्या रखकर प्राप्त की subterms के किसी भी संख्या के आसपास रों । चूंकि , का आकार एक होगाzNzNN∈{I,W}Niz

zk1(λx.zk2(x))zk1(λw.zk2(zk3(zk5(zk7(w)zk8(λx.zk9(x)))zk6(w))zk4(w)))

तो , साथ एक की -sprinkling के लिए और के के लिए ।M1M2M3M4↠N1zN2zN3zN4zNizzIi=1,2Wi=3,4

इसी समय, शब्द को अभी तक अनंत fpc बोहम पेड़ प्राप्त करने के लिए कम करना चाहिए । अतः में से किसी एक में "स्प्रिंकल" मौजूद होना चाहिए जो अक्सर शब्द के प्रमुख के लिए आता है, फिर भी इसे आगे की कटौती नहीं करता है।N1zN2zN3zN4zz(z(z(⋯)))zkjNiz

और अब हम कर रहे हैं। प्रत्येक निरीक्षण करके , , और का प्रत्येक संभावित मान , , हम कहते हैं कि ऐसा कोई छिड़काव मौजूद नहीं है।Nizi≤4kjj≤2+7⌊i−12⌋

उदाहरण के लिए, यदि हम में रूप में अंतिम को संशोधित करते हैं , तो हम सामान्यीकरण में कमी WIIWWWz=λw.z(wIww)

IIWWz→IWWz→WWz→WzIWzWz→z(IIII)WzWz↠zIWzWz

(ध्यान दें कि इस तरह के एक छिड़काव को ठीक से स्वीकार करता है, क्योंकि गैर-सामान्यीकरण को प्रभावित किए बिना इसका एक निश्चित भूमिगत "पहरा" हो सकता है। चर सिर की स्थिति में आता है, लेकिन पर्याप्त redexes नीचे रहते हैं।)Ω

3. "छिड़काव परिवर्तन" के अन्य उपयोग हैं। उदाहरण के लिए, में प्रत्येक रेडेक्स के सामने लगाकर , हम शब्द प्राप्त करते हैं जो एक सामान्य रूप है, फिर भी समीकरण संतुष्ट करता है । इसका उपयोग स्टेटमैन द्वारा [2] में किया गया था, उदाहरण के लिए।zMN=λz.MzNI=M

4. वैकल्पिक रूप से, यदि आप उस आवश्यकता को शिथिल करते हैं जो , तो आप विभिन्न (कमजोर) fpcs पा सकते हैं जो की कमी का अनुकरण करते हैं , जबकि रास्ते में s की श्रृंखला को आउटपुट करते हैं । मुझे यकीन नहीं है कि यह आपके सामान्य प्रश्न का उत्तर देगा, लेकिन निश्चित रूप से कई ( ) रूपांतर हैं जो हर मूक लिए कॉम्बिनेटर को आउटपुट करता है , ऐसे में का ग्राफ संरचनात्मक रूप से उसी के समान है। के । उदाहरण के लिए, कोई लिख सकता है YI=MYMzM↦YMMYMM

Y⌈M⌉z={z(Y⌈P[x:=Q]⌉z)M≡(λx.P)QY⌈N⌉zM is not a redex and M→whN

[१] सेवरि पी।, डी वीस एफजे। (२०११) इन्फिनिट्री लैम्ब्डा कैलकुलस में अर्थलेस सेट्स की जाली को कम करना। इन: बेक्लेमिशेव एलडी, डी क्विरोज़ आर (एड) तर्क, भाषा, सूचना और संगणना। WoLLIC 2011. कंप्यूटर विज्ञान में व्याख्यान नोट्स, खंड 6642।

[२] रिचर्ड स्टेटमैन। कोई हाइपरक्रान्टल एस, के कॉम्बिनेटर नहीं है। अनुसंधान रिपोर्ट 91-133, गणित विभाग, कार्नेगी मेलन विश्वविद्यालय, पिट्सबर्ग, PA, 1991।


यह उत्तर बहुत अच्छा है, और मैं इसे स्वीकार करूँगा। हालाँकि, मुझे यकीन नहीं है कि आप जो वास्तविक प्रमेय बता रहे हैं, उसके अलावा "कोई भी लूपिंग कॉम्बिनेटर जैसे कि "। मुझे लगता है कि प्रमेयों को अलग-अलग बताते हुए तर्कों का अनुसरण करना बहुत आसान हो जाएगा। YY I=Ω3
— कोड़ी

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