लैम्ब्डा क्यूब के अन्य बिंदुओं से आपको कंक्चुलेशन ऑफ़ कंस्ट्रक्शन कैसे मिलता है?


21

सीओसी को लैम्ब्डा क्यूब के तीनों आयामों की परिणति कहा जाता है। यह मेरे लिए बिल्कुल स्पष्ट नहीं है। मुझे लगता है कि मैं व्यक्तिगत आयामों को समझता हूं, और किसी भी दो के संयोजन का परिणाम अपेक्षाकृत सीधा संघ में हो सकता है (शायद मैं कुछ याद कर रहा हूं?)। लेकिन जब मैं सीओसी को देखता हूं, तो तीनों के संयोजन की तरह दिखने के बजाय, यह बिल्कुल अलग चीज की तरह दिखता है। टाइप, प्रोप, और छोटे / बड़े प्रकार किस आयाम से आते हैं? निर्भर उत्पाद कहां गायब हो गए? और प्रकारों और कार्यक्रमों के बजाय प्रस्तावों और प्रमाणों पर ध्यान क्यों दिया जाता है? क्या कुछ समान है जो प्रकार और कार्यक्रमों पर ध्यान केंद्रित करता है?

संपादित करें: यदि यह स्पष्ट नहीं है, तो मैं स्पष्टीकरण के लिए पूछ रहा हूं कि सीओसी लैंबडा क्यूब आयाम के सीधे संघ के बराबर कैसे है। और क्या वहाँ तीनों का वास्तविक मिलन है जहाँ मैं अध्ययन कर सकता हूँ (जो कि कार्यक्रमों और प्रकारों के संदर्भ में है, प्रमाण और प्रस्ताव नहीं)? यह सवाल पर टिप्पणियों के जवाब में है, किसी भी मौजूदा जवाब के लिए नहीं।


1
बहुत कम से कम यह एक होना चाहिए soft-question। मुझे यहां एक वास्तविक तकनीकी प्रश्न दिखाई नहीं देता है। शायद आप कुछ अधिक विशिष्ट हो सकते हैं जैसे आप पूछ रहे हैं?
बाउर

3
@AndrejBauer यह सवाल नहीं है: CoC के Barendregt-cube / PTS प्रस्तुति और Coquand & Huet द्वारा मूल प्रस्तुति के बीच क्या संबंध है?
मार्टिन बर्गर

1
@AndrejBauer: यह प्रश्न सीओसी की प्रस्तुति में अंतर के बारे में भी पूछ रहा है (या तो आड़ में) और अभ्यास में कुछ विशेषताओं पर जोर दिया गया है। यह सच है कि सीओसी का पीटीएस-उन्मुख संस्करण कुछ विशेषताओं को महत्वपूर्ण मानता है, जबकि कोक का अभ्यास दूसरों पर जोर देता है। मैं सहमत हूं कि इसे सॉफ्ट-क्वेश्चन टैग होना चाहिए।
जैक्स केयरटे

1
मुझे यह देखकर खुशी हुई कि कोई इसका जवाब दे पाएगा।
बाउर

जवाबों:


28

सबसे पहले, कोडी के बिंदुओं में से एक को दोहराने के लिए, पथरी का प्रेरक निर्माण (जो कि कोल के कर्नेल पर आधारित है), पथरी के निर्माण से बहुत अलग है। यह सबसे अच्छा माना जाता है कि मार्टिन-लोफ प्रकार के सिद्धांत को ब्रह्मांडों के साथ शुरू करना और फिर प्रकार पदानुक्रम के तल पर एक प्रकार का प्रोप जोड़ना। यह मूल सीओसी की तुलना में बहुत अलग जानवर है, जिसे एफ-ओमेगा के एक आश्रित संस्करण के रूप में सबसे अच्छा माना जाता है। (उदाहरण के लिए, CiC में सेट-थियेट्रिक मॉडल और CoC नहीं है।)

उस ने कहा, लंबो-घन (जिसमें सीओसी एक सदस्य है) को आमतौर पर टाइपिंग नियमों की संख्या में अर्थव्यवस्था के कारणों के लिए एक शुद्ध प्रकार की प्रणाली के रूप में प्रस्तुत किया जाता है। एक ही वाक्यविन्यास श्रेणी के तत्वों के रूप, प्रकार, और शब्दों को मानकर, आप कई कम नियमों को लिख सकते हैं और आपके प्रमाणों के साथ-साथ काफी कम अनावश्यक हो जाते हैं।

हालांकि, समझने के लिए, स्पष्ट रूप से विभिन्न श्रेणियों को अलग करने में मदद मिल सकती है। हम तीन संश्लिष्ट श्रेणियों को प्रस्तुत कर सकते हैं, प्रकार (metavariable द्वारा पर आधारित k), प्रकार (metavariable द्वारा परिकलित A), और शर्तें ( metavariable द्वारा रचित )e )। फिर सभी आठ प्रणालियों को तीन स्तरों में से प्रत्येक में अनुमति दी गई विभिन्नताओं के रूप में समझा जा सकता है।

λ → (सिंपली-टाइप्ड लैम्ब्डा कैलकुलस)

 k ::= ∗
 A ::= p | A → B
 e ::= x | λx:A.e | e e

यह बुनियादी टाइप किया हुआ लैम्ब्डा कैलकुलस है। एक ही प्रकार है , जो प्रकार का है। प्रकार स्वयं परमाणु प्रकार pऔर फ़ंक्शन प्रकार हैंA → B । शब्द चर, सार या अनुप्रयोग हैं।

λ _ (STLC + उच्च-प्रकार के प्रकार के ऑपरेटर)

 k ::= ∗ | k → k
 A ::= a | p | A → B | λa:k.A | A B
 e ::= x | λx:A.e | e e

एसटीएलसी केवल शर्तों के स्तर पर अमूर्तता की अनुमति देता है। यदि हम इसे प्रकारों के स्तर पर जोड़ते हैं, तो हम एक नए प्रकार को जोड़ते हैं k → kजो कि टाइप-स्तरीय फ़ंक्शन और अमूर्त λa:k.Aऔर अनुप्रयोग का प्रकार हैA B को टाइप स्तर पर भी। इसलिए अब हमारे पास बहुरूपता नहीं है, लेकिन हमारे पास टाइप ऑपरेटर हैं।

यदि मेमोरी कार्य करती है, तो इस प्रणाली में STLC से अधिक कम्प्यूटेशनल पावर नहीं है; यह आपको केवल संक्षिप्त रूप देने की क्षमता देता है।

λ2 (सिस्टम एफ)

 k ::= ∗
 A ::= a | p | A → B  | ∀a:k. A 
 e ::= x | λx:A.e | e e | Λa:k. e | e [A]

टाइप ऑपरेटर जोड़ने के बजाय, हम बहुरूपता जोड़ सकते थे। प्रकार के स्तर पर, हम जोड़ते हैं ∀a:k. Aकि पूर्व में एक बहुरूपी प्रकार है, और शब्द स्तर पर, हम प्रकार Λa:k. eऔर प्रकार के आवेदन पर अमूर्त जोड़ते हैंe [A]

यह प्रणाली STLC की तुलना में बहुत अधिक शक्तिशाली है - यह दूसरे क्रम के अंकगणित जितना मजबूत है।

λ (सिस्टम एफ-ओमेगा)

 k ::= ∗ | k → k 
 A ::= a | p | A → B  | ∀a:k. A | λa:k.A | A B
 e ::= x | λx:A.e | e e | Λa:k. e | e [A]

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

λP (LF)

 k ::= ∗ | Πx:A. k 
 A ::= a | p | Πx:A. B | Λx:A.B | A [e]
 e ::= x | λx:A.e | e e

बहुरूपता के बजाय, हम बस टाइप किए गए लंबो कैलकुलस से निर्भरता की दिशा में जा सकते थे। यदि आपने फ़ंक्शन प्रकार को अपने तर्क को रिटर्न प्रकार (यानी, Πx:A. B(x)इसके बजाय लिखें A → B) का उपयोग करने की अनुमति दी है , तो आपको λP मिलता है। इसे वास्तव में उपयोगी बनाने के लिए, हमें एक प्रकार के प्रकार के ऑपरेटरों के साथ प्रकार का विस्तार करना होगा जो शर्तों को तर्क के रूप में लेते हैं Πx:A. k, और इसलिए हमें इसी प्रकार के स्तर पर एक समान अमूर्त Λx:A.Bऔर अनुप्रयोग जोड़ना होगा A [e]

इस प्रणाली को कभी-कभी एलएफ, या एडिनबर्ग लॉजिकल फ्रेमवर्क कहा जाता है।

यह एक ही कम्प्यूटेशनल ताकत है जो बस टाइप किए गए लैम्ब्डा कैलकुलस के समान है।

λP2 (कोई विशेष नाम नहीं)

 k ::= ∗ | Πx:A. k 
 A ::= a | p | Πx:A. B | ∀a:k.A | Λx:A.B | A [e]
 e ::= x | λx:A.e | e e | Λa:k. e | e [A]

हम λP2 को पाने के लिए λP में बहुरूपता भी जोड़ सकते हैं। इस प्रणाली का अक्सर उपयोग नहीं किया जाता है, इसलिए इसका कोई विशेष नाम नहीं है। (मैंने जो एक पेपर पढ़ा है, वह इसका इस्तेमाल किया है, हर्मन गेवर्स इंडक्शन दूसरे ऑर्डर डिपेंडेंट टाइप थ्योरी में व्युत्पन्न नहीं है ।)

इस प्रणाली में सिस्टम एफ जैसी ही ताकत है।

λPω_ (कोई विशेष नाम नहीं)

 k ::= ∗ | Πx:A. k | Πa:k. k'
 A ::= a | p | Πx:A. B | Λx:A.B | A [e] | λa:k.A | A B 
 e ::= x | λx:A.e | e e 

हम λP ._ पाने के लिए λP में टाइप ऑपरेटर भी जोड़ सकते हैं। इसमें Πa:k. k'प्रकार ऑपरेटरों के लिए एक प्रकार जोड़ना , और इसी प्रकार-स्तरीय अमूर्तन Λx:A.Bऔर अनुप्रयोग शामिल हैंA [e]

चूंकि एसटीएलसी पर कम्प्यूटेशनल ताकत में फिर से कोई छलांग नहीं है, इसलिए इस प्रणाली को तार्किक ढांचे के लिए एक अच्छा आधार बनाना चाहिए, लेकिन किसी ने भी ऐसा नहीं किया है।

λP) (कंस्ट्रक्शंस की गणना)

 k ::= ∗ | Πx:A. k | Πa:k. k'
 A ::= a | p | Πx:A. B | ∀a:k.A | Λx:A.B | A [e] | λa:k.A | A B 
 e ::= x | λx:A.e | e e | Λa:k. e | e [A]

अंत में, हम λPω, कंस्ट्रक्शंस ऑफ कंस्ट्रक्शंस, λPω_ लेकर और इसके लिए एक पॉलीमॉर्फिक टाइप पूर्व ∀a:k.Aऔर टर्म-लेवल एब्सट्रैक्ट Λa:k. eऔर एप्लिकेशन जोड़ते हैं e [A]

इस प्रणाली के प्रकार एफ-ओमेगा की तुलना में बहुत अधिक अभिव्यंजक हैं, लेकिन इसमें समान कम्प्यूटेशनल ताकत है।


3
01

2
λω_

3
@ कोडी: मुझे एक संदर्भ नहीं पता है - केविन वाटकिंस ने मेरे लिए एक व्हाइटबोर्ड पर प्रूफ स्केच किया था! विचार यह है कि आप λ ,_ में टाइप किया गया एक शब्द लेते हैं, सभी प्रकारों को बीटा-सामान्य एटा-लॉन्ग फॉर्म में डालते हैं, और फिर मूल कार्यक्रम में प्रत्येक अलग-अलग सामान्य रूप के लिए एक नए परमाणु प्रकार की शुरुआत करके इसे STLC में एम्बेड करते हैं। फिर यह स्पष्ट है कि कमी क्रम को एक-से-एक करना चाहिए।
नील कृष्णास्वामी

1
01nat

1
आप कहते हैं कि सिस्टम एफ की तुलना में Fw "बहुत अधिक शक्तिशाली" है। क्या आपको इसके लिए कोई संदर्भ मिला है? विशेष रूप से प्राकृतिक संख्याओं पर एक फ़ंक्शन होता है जो Fw में कुल साबित होता है लेकिन F में नहीं?
थोरस्टेन एलेनटेरिच

21

मैं अक्सर कोशिश करना चाहता हूं और प्रत्येक आयाम को संक्षेप में बताता हूं λ -cube और क्या वे प्रतिनिधित्व करते हैं, तो मैं इस एक एक शॉट दे देंगे।

लेकिन पहले, किसी को विभिन्न मुद्दों को हटाने की कोशिश करनी चाहिए। कोक इंटरएक्टिव प्रमेय कहावत एक अंतर्निहित प्रकार के सिद्धांत पर आधारित है, जिसे कभी-कभी सार्वभौमिक रूप से प्रेरक निर्माणों के कलन कहा जाता है । आप ध्यान दें कि यह केवल "कंस्ट्रक्शंस के पथरी" की तुलना में एक माउथफुल है, और वास्तव में, वहाँ केवल सीओसी की तुलना में बहुत अधिक चीजें हैं। विशेष रूप से, मुझे लगता है कि आप इस बारे में उलझन में हैं कि कौन सी सुविधाएँ उचित हैं। विशेष रूप से, सेट / प्रोप भेद और ब्रह्मांड सीओसी में प्रकट नहीं होते हैं।

मैं यहाँ प्योर टाइप सिस्टम का पूर्ण अवलोकन नहीं करूँगा, लेकिन महत्वपूर्ण नियम ( कार्यात्मक पीटीएस के लिए) सीओसी की तरह ) निम्नलिखित है

ΓA:sΓ,x:AB:kΓΠx:A.B : k (s,k)R

s,kS(s,k)RS

SRΠx:A.B वास्तव में प्रतिनिधित्व करता है!

S

{,}
R={(,),(,),(,),(,)}

और इसलिए हमारे पास 4 नियम हैं जो 4 अलग-अलग उद्देश्यों के अनुरूप हैं:

  • (,)

  • (,)

  • (,)

  • (,) : आश्रित प्रकार

मैं इनमें से प्रत्येक को और अधिक विस्तार से बताऊंगा।


ABΠx:A.BxB । यह अंकन अधिक विचारोत्तेजक है, लेकिन कुछ महत्वपूर्ण अंतर्ज्ञान को छिपा सकता है।

natboolx=yxy प्रूफ अप्रासंगिकताहमें किसी भी कार्यात्मक प्रोग्रामिंग भाषा में आनंद लेने वाले सामान्य उच्च-क्रम के कार्य देता है, अर्थात कार्यों को अन्य कार्यों में पास करने की क्षमता।

listlist:listnat,listbool(,)

Πt:. tt
λ(t:)(x:t).xΠt:._(,)tt(,)

AB:=Πt:. (ABt)t
AB:=Πt:. (At)(Bt)t
:=Πt:. t
:=Πt:. tt
x:A. P(x):=Πt:. (Πy:A. P(y)t)t
(,)

(,)

(,)

Πc:.  c natc nat

0=1

= : natnat
= : Πt:. tt
natnat(,)

ii=1,2,3,i:i+1

(i,i)

ΓA:iΓA:j ij

इन अतिरिक्त प्रकारों और नियमों के साथ, आपको कुछ ऐसा मिलता है जो पीटीएस नहीं है, लेकिन कुछ पास है। यह (लगभग) कंस्ट्रक्शंस का एक्सटेंडेड कैलकुलस है , जो Coq के आधार के करीब है। यहाँ बड़ा गायब टुकड़ा आगमनात्मक प्रकार है, जिसकी मैं यहाँ चर्चा नहीं करूँगा।

संपादित करें: एक अच्छा संदर्भ है जो PTSes के ढांचे में प्रोग्रामिंग भाषाओं की विभिन्न विशेषताओं का वर्णन करता है, एक PTS का वर्णन करके जो एक कार्यात्मक प्रोग्रामिंग भाषा के मध्यवर्ती प्रतिनिधित्व के लिए एक अच्छा उम्मीदवार है:

हेंक: ए टाइप इंटरमीडिएट लैंग्वेज , एसपी जोन्स एंड ई। मीजेर।


2
प्रकार और प्रोग्रामिंग भाषाओं में उन्नत विषय, S2.6 और S2.7
केव

2
BTW "टाइप परिवारों" को अक्सर उच्च-प्रकार के प्रकार भी कहा जाता है।
मार्टिन बर्गर

1
पीटीएस 20 साल पहले एक अच्छा विचार था लेकिन तब से चीजें आगे बढ़ी हैं।
थोरस्टेन एलेनटेरिक 14

@ThorstenAltenkirch बहिष्कारवाद के लिए कोई ज़रूरत नहीं, Thorsten! PTSes को शामिल करने पर विचार करने के लिए अभी भी कुछ मजेदार चीजें हैं, उदाहरण के लिए आंतरिक परिमाण पर बर्नाडी का काम ध्यान में आता है।
कोडी

@ कोड़ी कोई बहिष्करणवाद का उद्देश्य नहीं है, लेकिन हम वाक्य रचना प्रकार सिद्धांत के अतीत में फंस नहीं जाना चाहिए। बर्नार्डी का काम उत्कृष्ट है और ब्रह्मांडों का उपयोग करके बेहतर किया जा सकता है।
थोरस्टेन एलेनटेरिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.