क्या बूलियन बीजगणित को केवल टाइप किए गए लैम्ब्डा कैक्ल्यूलस में व्यक्त किया जा सकता है?


15

बूलियन बीजगणित को इस तरह से (उदाहरण के लिए) लाइप्डा कैलकुलस में व्यक्त किया जा सकता है ।

true  = \t. \f. t;
false = \t. \f. t;
not   = \x. x false true;
and   = \x. \y. x y false;
or    = \x. \y. x true y;

इस तरह से बूलियन बीजगणित को सिस्टम F में इनकोड किया जा सकता है :

CBool = All X.X -> X -> X;
true  = \X. \t:X. \f:X. t;
false = \X. \t:X. \f:X. f;
not   = \x:CBool. x [CBool] false true;
and   = \x:CBool. \y:CBool. x [CBool] y false;
or    = \x:CBool. \y:CBool. x [CBool] true y;

क्या केवल टाइप किए गए लैम्ब्डा कैलकुलस में बूलियन बीजगणित को व्यक्त करने का एक तरीका है? मुझे लगता है कि जवाब नहीं है। ( उदाहरण के लिए, पूर्ववर्ती और सूचियाँ केवल टाइप किए गए लैम्ब्डा-कैलकुलस में प्रस्तुत करने योग्य नहीं हैं ।) यदि उत्तर वास्तव में कोई उत्तर नहीं है, तो क्या एक सरल सहज स्पष्टीकरण है, बस टाइप किए गए लैम्ब्डस में बूलियंस को एन्कोड करना असंभव क्यों है?

अद्यतन: हम मानते हैं कि आधार प्रकार हैं।

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


2
हास्केल में परिभाषाएं टाइप करने की कोशिश करें और देखें कि जब आप विभिन्न अभिव्यक्तियों को टाइप करते हैं तो क्या होता है। आप देखेंगे कि कोड बहुरूपता पर बहुत निर्भर करता है।
— डेव क्लार्क

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

3
क्षमा करें कि मैं पांडित्य नहीं था। इसका उत्तर यहां पाया गया: math.andrej.com/2009/03/21/…
— Ilya Klyuchnikov

3
मुझे ऐसा लगता है कि मुझे इस तरह के निफ्टी ब्लॉग को चलाने के लिए कुछ श्रेय प्राप्त करना चाहिए :-)
— लेडी बाउर

7
हेबी=हे→हे→हेटीआरयूइ=λएक्स:हे।λy:हे।एक्स , एन ओ टी = λ एक : बी । λ x : ओ । λ य : ओ । एक y एक्स , एक एन डी = λ एक : बी । λ बी : बी । λ x : ओ । λ य : ओ । ए ( बी एक्स वाई ) वाई , ओ आरचएएलरोंइ=λएक्स:हे।λy:हे।ynओटी=λए:बी।λएक्स:हे।λy:हे।एyएक्सएnघ=λए:बी।λख:बी।λएक्स:हे।λy:हे।ए(खएक्सy)y । ओआर=λए:बी।λख:बी।λएक्स:हे।λy:हे।एएक्स(खएक्सy)
— एमिल जेकाबेक

जवाबों:


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