लैम्ब्डा-कैलकुलस शब्द जो खुद को कम करते हैं


13

लैंबडा कैलकुलस सीखने की कोशिश करने की मेरी निरंतर खोज में, हिंडले और सेलेडिन की "लैम्ब्डा-कैलकुलस एंड कॉम्बिनेटर्स ए इंट्रोडक्शन" में निम्नलिखित पेपर (ब्रूस लेचर द्वारा) का उल्लेख किया गया है, जो यह साबित करता है कि एकमात्र reducible विकल्प जो स्वयं के लिए समान (मॉडुलो अल्फा रूपांतरण) है है: (λx.xx)(λx.xx)

जबकि मैं परिणाम पर विश्वास करता हूं, मैं तर्क का पालन नहीं करता हूं।

यह काफी कम है (एक पैराग्राफ से कम)। किसी भी स्पष्टीकरण का सबसे स्वागत होगा।

धन्यवाद,

चार्ली

जवाबों:


16

पहले, ध्यान दें कि परिणाम बताता है कि केवल बीटा रेडेक्स जहां दाहिने हाथ की ओर बराबर (मॉडुलो अल्फा-रूपांतरण) बाएं हाथ की ओर है । ऐसे अन्य शब्द हैं जो स्वयं को कम करते हैं, इस संदर्भ में एक संदर्भ में।(λx.xx)(λx.xx)

मैं देख सकता हूं कि लेर्चर के अधिकांश प्रमाण कैसे काम करते हैं, हालांकि ऐसे बिंदु हैं जहां मुझे सबूत को थोड़ा संशोधित किए बिना अतीत नहीं मिल सकता है। मान लीजिए कि (मैं अल्फा समानता के लिए = का उपयोग करता हूं ), और चर सम्मेलन के अनुसार मान लीजिए कि एक्स बी में मुक्त नहीं होता है ।(λx.A)B=[B/x]A=xB

बाएं हाथ की ओर में की संख्या और दाईं ओर गिनती करें । यह कमी रेडेक्स में से एक को हटा देती है, साथ ही बी को भी हटा देती है , और में एक्स के होने की संख्या बी के समय की संख्या में हो जाती है । दूसरे शब्दों में, यदि एल ( एम ) की संख्या है λ 'में एस एम और # x ( एम ) से मुक्त घटनाओं की संख्या है एक्स में एम तो 1 + एल ( बी ) = # x (λBBxAL(M)λM#x(M)xM । उस Diophantine समीकरण का एकमात्र समाधान # x ( A ) = 2 (और L ( B ) = 1 है लेकिन हम इस तथ्य का उपयोग नहीं करेंगे)।1+L(B)=#x(A)×L(B)#x(A)=2L(B)=1

मैं ऊपर दिए गए पैराग्राफ के लिए Lercher के तर्क को नहीं समझता। वह की संख्या और परमाणु शब्द गिनता है ; चलो इस बारे में जाने # ( एम ) । समीकरण # ( B ) + 1 = # x ( A ) × ( # ( B ) - 1 ) है , जिसके दो हल हैं: # x ( A ) = 2 , # ( B ) = 3 और # x ( A)λ#(M)#(B)+1=#x(A)×(#(B)1)#x(A)=2,#(B)=3 । मुझे दूसरी संभावना को खत्म करने का कोई स्पष्ट तरीका नहीं दिख रहा है।#x(A)=3,#(B)=2

आइए अब हम दोनों पक्षों पर बराबर सबटर की संख्या के लिए समान तर्क लागू करते हैं । कमी शीर्ष के पास एक को हटाती है, और एक्स में में घटित होने वाली घटनाओं के रूप में कई जोड़ता है , अर्थात 2. इसलिए बी की एक और घटना गायब होनी चाहिए; चूँकि A में रहने वाले लोग (क्योंकि B में कोई फ्री x नहीं है ), बाएँ हाथ की तरफ B की अतिरिक्त घटना λ x होनी चाहिए BxABABxBλx.A

मुझे समझ में नहीं आता है कि लेर्चर ने कैसे घटाया कि में बी नहीं है एक सबटर्म के रूप में, लेकिन यह वास्तव में सबूत के लिए प्रासंगिक नहीं है।AB

प्रारंभिक परिकल्पना से, एक अनुप्रयोग है। यह = एक्स के मामले में नहीं हो सकता है , इसलिए ही λ एक्स के साथ एक आवेदन एम एन है एम एन = [ ( λ एक्स एम एन ) / x ] एम = [ ( λ एक्स एम एन ) / x ] एन[(λx.A)/x]AA=xAMNλx.MN=[(λx.MN)/x]M=[(λx.MN)/x]N। चूंकि पास खुद को एक सबटर्म के रूप में नहीं रख सकता है, इसलिए M का फॉर्म λ x नहीं हो सकता है पी , इसलिए एम = एक्स । इसी तरह, एन = एक्सMMλx.PM=xN=x


मैं बिना किसी गिनती के तर्कों के साथ एक प्रमाण पसंद करता हूं। मान लीजिए कि (λx.A)B=[B/x]A

A=x(λx.A)B=BBAA1A2λx.A=[B/x]A1B=[B/x]A2

A1=xA1=λx.[B/x]AA1=λx.(λx.A1A2)B

A2=xA2xBA2=B

A=xxBBB=λx.Aλx.xx

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