बाइनरी कॉम्बिनेटरी लॉजिक

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

एस-के आधार
कॉम्बिनेटर लॉजिक के K और S कॉम्बिनेटर का उपयोग करते हुए, तार्किक कार्यों को कॉम्बिनेटर के कार्यों के रूप में दर्शाया जा सकता है:

सिंटेक्स
बैकस-नौर फॉर्म:

शब्दार्थ
बीसीएल के सांकेतिक शब्दार्थ को इस प्रकार निर्दिष्ट किया जा सकता है:
 * कहाँ के अर्थ को संक्षिप्त करता है . यहाँ   और   एसकेआई कॉम्बिनेटर कैलकुलस|केएस-बेस कॉम्बिनेटर हैं, और   संयोजनात्मक तर्क का अनुप्रयोग संचालन है। (उपसर्ग   बाएं कोष्ठक से मेल खाता है, दायां कोष्ठक स्पष्टीकरण के लिए अनावश्यक है।)
 * कहाँ के अर्थ को संक्षिप्त करता है . यहाँ   और   एसकेआई कॉम्बिनेटर कैलकुलस|केएस-बेस कॉम्बिनेटर हैं, और   संयोजनात्मक तर्क का अनुप्रयोग संचालन है। (उपसर्ग   बाएं कोष्ठक से मेल खाता है, दायां कोष्ठक स्पष्टीकरण के लिए अनावश्यक है।)

इस प्रकार बीसीएल के चार समकक्ष फॉर्मूलेशन हैं, जो ट्रिपलेट (के, एस, बाएं कोष्ठक) को एन्कोड करने के तरीके पर निर्भर करते हैं। ये  (जैसा कि वर्तमान संस्करण में है), ,  , और.

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

यह भी देखें

 * आयोटा और जोट

बाहरी संबंध

 * John's Lambda Calculus and Combinatory Logic Playground
 * A minimal implementation in C