2015-05-26 6 views
7

दोनों सीएल और योजना (and) को t (या #t) वापस करने के लिए परिभाषित करने के लिए परिभाषित करता है।कोई तर्क नहीं (और) टी

मैं इसके लिए तर्क को समझने की कोशिश कर रहा हूं। मेरी भरोसेमंद धारणा यह है कि एक खाली सेट झूठा है, और शून्य तर्कों में गुज़रने से ऐसा कुछ भी नहीं हो रहा है जो सच हो सकता है।

संपादित करें: क्लोजर एक ही सम्मेलन का पालन करता है। मुझे कुछ बुनियादी लिस्प धारणा याद आ रही है।

उत्तर

17

खाली उत्पाद 1 है। कारण यह है कि 0 * के लिए एक तटस्थ तत्व है।

आप कुछ नहीं के उत्पाद द्वारा 2 और 3 के उत्पाद और फिर गुणा है, तो आप 2 * 3 * 1 = 6. हम

(product (product 2 3) (product)) 
= (product 6 1) 
= 6 

and साथ लिख सकते हैं एक ही गणना मिल जाएगा:

(and (and #t #t) (and)) 
= (and #t ?) 
= #t 

हम खाली (and) एक मूल्य ? कि परिणाम को प्रभावित नहीं करता देना चाहते हैं। उत्तर #t है क्योंकि #t एक तटस्थ तत्व है।

(and x #t) = x for all boolean x 
+6

और इसी तरह, एक खाली ** या ** गलत होना चाहिए। आम तौर पर, यदि आप एन-आरी होने के लिए बाइनरी ऑपरेटर को सामान्यीकृत कर रहे हैं, तो 0-एरी केस ऑपरेटर के पहचान तत्व को वापस करने में उपयोगी होता है। –

+11

इसके लिए शब्द "पहचान" है। शून्य additive पहचान है, एक गुणात्मक पहचान है। तार्किक के लिए, और पहचान सत्य है, और तार्किक के लिए, या पहचान झूठी है। –

+0

[खाली उत्पाद] में कुछ पृष्ठभूमि है (http://en.wikipedia.org/wiki/Empty_product) विकिपीडिया लेख – ez121sl

7

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

4

यहां जितना संभव हो सके इसे सरल करने का मेरा प्रयास है: and अभिव्यक्ति झूठी है और केवल कम से कम एक तर्क गलत है, अन्यथा यह सच है। इसलिए यदि कोई तर्क नहीं है तो यह मामूली सच है।

संबंधित मुद्दे