"आवेदन क्रम" और "सामान्य क्रम" लंबोदर-कैलकुलस में


14

आवेदन का क्रम: हमेशा फ़ंक्शन के मूल्यांकन से पहले किसी फ़ंक्शन के तर्कों का पूरी तरह से मूल्यांकन करें, जैसे -

(λx.x2(λx.(x+1)  2)))→(λx.x2(2+1))→ (λx.x2(3))→ 32 → 9

सामान्य आदेश: अभिव्यक्ति बाहर से कम हो जाएगी, जैसे -

(λx.x2(λx.(x+1) 2))→ (λx.(x+1)   2)2→ (2+1)2 →32 → 9

LetM=(λx.y (λx.(x  x) λx.(x  x)))

ऐसा क्यों है कि आवेदन के आदेश के तहत, अनंत लूप, लेकिन सामान्य आदेश के तहत, M \ rightarrow y ?M→
M→y


1
क्या आपने उनका मूल्यांकन करने की कोशिश की है? क्या यह पहला या दूसरा मामला है जो अस्पष्ट है?
— करोलिस जुओदेलो 18

@ करोलिसजोदेलो: १
— URL87

1
पहले Let M = (λx.y) ((λx.(x x)) λx.(x x))
— लंबोदर

जवाबों:


7

(λएक्स।y (λएक्स।(एक्स  एक्स) λएक्स।(एक्स  एक्स))) एक अनंत लूप है क्योंकि ध्यान दें कि सिर्फ यह लिखता है कि यह दो बार तर्क है।

λएक्स।(एक्स  एक्स) λएक्स।(एक्स  एक्स)→λएक्स।(एक्स  एक्स) λएक्स।(एक्स  एक्स)
λएक्स।(एक्स  एक्स)

15

आप जिस शब्द को कम कर रहे हैं वह जहां स्थिर फ़ंक्शन (यह हमेशा लौटाता है , इसके तर्क की अनदेखी करते हुए) और एक गैर-समाप्ति शब्द है। कुछ अर्थों में, अंतिम नॉन-टर्मिनेटिंग शब्द है: यह अपने आप को बीटा-कम कर देता है, यानी । (अपने जीवन में कम से कम एक बार इसे कागज़ पर ज़रूर देखें।)(KyΩ)Kyλx.yyΩ=(λx.(xx)λx.(xx))ΩΩ→Ω

आवेदक क्रम में कमी से फ़ंक्शन के तर्क को एक सामान्य रूप में कम करना चाहिए, इससे पहले कि यह शीर्ष-स्तरीय रीडेक्स का मूल्यांकन कर सके। चूंकि तर्क का कोई सामान्य रूप नहीं है, इसलिए आवेदक क्रम में कमी लावारिस हो जाती है। अधिक सामान्यतः, किसी भी शब्द , , और यह आवेदक के आदेश की रणनीति द्वारा चुनी गई कमी है।ΩMMΩ→MΩ

सामान्य क्रम में कमी शीर्ष स्तर के को कम करके शुरू होती है (क्योंकि फ़ंक्शन पहले से ही सामान्य रूप में है)। चूँकि अपने तर्क की उपेक्षा करता है, एक चरण में । आमतौर पर, किसी भी शब्द लिए , और यह सामान्य ऑर्डर रणनीति द्वारा चुनी गई कटौती है।KyKy(KyΩ)→yKyN→yN

यह मामला एक अधिक सामान्य घटना को दर्शाता है: यदि शब्द दृढ़ता से सामान्य हो रहा है, तो केवल आवेदक क्रम में कमी कभी-कभी एक सामान्य रूप पाता है, जबकि सामान्य क्रम में कमी हमेशा सामान्य रूप को ढूँढती है यदि कोई है। ऐसा इसलिए होता है क्योंकि आवेदन संबंधी आदेश हमेशा पूरी तरह से पहले तर्कों का मूल्यांकन करता है, और इसलिए एक तर्क के लिए अप्रयुक्त होने का अवसर याद करता है; हालांकि सामान्य आदेश यथासंभव देर से तर्कों का मूल्यांकन करता है, और यदि तर्क अप्रयुक्त हो जाता है, तो हमेशा जीतता है।

(दूसरा पक्ष यह है कि व्यवहारिक आदेश व्यवहार में तेज होता है, क्योंकि किसी तर्क का अप्रयुक्त होना अपेक्षाकृत दुर्लभ है; जबकि एक तर्क का कई बार उपयोग किया जाना सामान्य है, और आवेदक आदेश के तहत तर्क का केवल एक बार मूल्यांकन किया जाता है। सामान्य आदेश तर्क का मूल्यांकन करता है जितनी बार इसका उपयोग किया जाता है, यह 0, 1 या कई बार हो।)


मुझे लगता है कि आपने पैराग्राफ में एक टाइपो बनाया 3. होना चाहिए → y , है ना? भले ही, +1। KyN→N→y
— कारोलिस जुओदेलो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.