पैटर्न लैंबडा कैलकुलस में एटा का विस्तार


12

Klop, van Oostrom, और de Vrijer के पैटर्न के साथ लैम्ब्डा कैलकुलस पर एक पेपर है।

http://www.sciencedirect.com/science/article/pii/S0304397508000571

कुछ अर्थों में, एक पैटर्न चर का एक पेड़ है - हालांकि मैं इसके बारे में सिर्फ चर के घोंसले के रूप में सोच रहा हूं, उदाहरण के लिए, (x, y), z), (t, s))।

कागज में उन्होंने दिखाया कि यदि पैटर्न रैखिक हैं, तो इस अर्थ में कि पैटर्न में कोई भी चर दोहराया नहीं जाता है, फिर नियम

(\p . m) n = m [n/p]

जहाँ p एक वैरिएबल पैटर्न है और n, p के समान सटीक आकार के साथ टर्ल्स है।

मैं उत्सुक हूँ अगर पैटर्न और अतिरिक्त एटा नियम (विस्तार, कमी, या सिर्फ समानता) के साथ लैम्ब्डा कैलकुलस के लिए साहित्य में समान विकास हो।

विशेष रूप से, एटा द्वारा, मेरा मतलब है

m = \lambda p . m p

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

यह वर्गीकृत श्रेणी को बंद करने के लिए मजबूर करता है क्योंकि यह उस संपत्ति को मजबूर करता है जो

m p = n p implies m = n 

बीच में \ xi-rule का उपयोग करके। लेकिन शायद कुछ गलत हो सकता है?


क्या आप लिख सकते हैं कि ईटा नियम का क्या मतलब है? जब तक यह बहुत अजीब न हो, आपको इसे रकम का उपयोग करके सांकेतिक शब्दों में बदलना और सिमुलेशन तर्क बनाने में सक्षम होना चाहिए।
मैक्स न्यू

2
@MaxNew: ऐसा लगता है कि वह बिना पढ़े कलन के बारे में पूछ रहा है। पैटर्न के बारे में सब कुछ पूरी तरह से काम करता है (I oh-so-modestly अपने खुद के फोकसिंग ऑन पैटर्न मैचिंग ) का सुझाव देता हूं , लेकिन अनपेड लैम्ब्डा कैलकुलस टाइप किए गए एलसी (विशेष रूप से ईटीटी एटा) से काफी अलग है कि मैं सबूत के बिना जवाब देने की हिम्मत नहीं करता। ।
नील कृष्णस्वामी

@ मेनन्यू: क्या रकम एन्कोडिंग द्वारा एनकोडिंग होगी?
जोनाथन गैलाघर

@ नीलकृष्णस्वामी: मुझे वास्तव में दोनों में दिलचस्पी है। मुझे लगता है कि मैं एटा नियम के साथ एक उत्पाद प्रकार के चर होने से घबरा रहा हूं। मुझे लगता है कि यह किया जाता है, उदाहरण के लिए, dicosmo.org/Articles/JFP96.pdf । लेकिन अगर मुझसे गलती हुई है, तो कृपया मुझे सुधारें। फिर आपके पास \ lambda x .mx = m = \ lambda (p, q) जैसी समानताएँ हैं। उदाहरण के लिए m (p, q)। आपके पेपर के लिंक के लिए धन्यवाद!
जोनाथन गैलाघर

जवाबों:


7

यह पूर्ण उत्तर नहीं है; यह एक टिप्पणी है जो बहुत बड़ी है।

यदि आप अनुमानित एलिमिनेटर (यानी, उत्पाद एलिमिनेटर fst(e)और snd(e)) वाले उत्पादों के साथ टाइप किए गए लैम्ब्डा कैलकुलस का विस्तार करते हैं , तो मूल रूप से कोई समस्या नहीं है। यह पता लगाने में इतना समय लगने का कारण यह है कि यह एटा न्यूनीकरण के बजाय एटा विस्तार करने के लिए अधिक स्वाभाविक है । बैरी जे के एटा विस्तार के गुणों को देखें ।

यदि आप चाहते हैं कि उत्पादों में एक पैटर्न-स्टाइल एलिमिनेटर हो

let (a,b) = e in t 

तब मामले अधिक जटिल होते हैं। पैटर्न मिलान के साथ प्राथमिक कठिनाई आने वाले रूपांतरण हैं । यानी इन गणनाओं में समीकरण है

C[let (a,b) = e in t] === let (a,b) = e in C[t]

और पता लगाना (ए) कि किस संदर्भ C[-]का उपयोग करना है और (बी) इस समीकरण को कैसे उन्मुख किया जाए। IMO, पुनर्लेखन-शैली के दृष्टिकोण के लिए कला की स्थिति सैम लिंडले की एक्सट्रीम रीवेरिटिंग विद सुम्स और गैब्रियल स्लेरर्स के साथ समसामयिकता और खाली प्रकार , दोनों में से दोनों टाइप्ड लैम्ब्लेट कैलकुलस को उत्पाद और रकम के साथ मानते हैं।

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