मेरे पास इस सवाल का जवाब है जो संभवतः उपन्यास है। वास्तव में, मैं अभी भी पिछले 6 महीनों से इसके माध्यम से सोच रहा हूं, और यह अभी तक कागजों में नहीं लिखा गया है।
सामान्य थीसिस यह है कि "तार्किक संबंधों", "सिमुलेशन" और यहां तक कि "अपरिवर्तनीय" जैसे संबंधपरक तर्क सिद्धांत डेटा एब्सट्रैक्शन या सूचना छिपाने की अभिव्यक्तियां हैं। जहां कहीं भी सूचना छिपी होती है, ये सिद्धांत फसल बनाते हैं।
इसे खोजने वाले पहले लोग ऑटोमेटा सिद्धांतकार थे। ऑटोमेटा में छिपी अवस्था है। इसलिए आपको उनके समतुल्यता के बारे में बात करने के लिए संबंधपरक तर्क की आवश्यकता है। ऑटोमेटा सिद्धांतकारों ने कुछ समय के लिए होमोमोर्फिज्म के साथ संघर्ष किया, त्याग दिया और "रिलेशनल कवरिंग" नामक एक धारणा के साथ आए, जो सिमुलेशन संबंधों का एक रूप है।
मिलनर ने इस विचार को 1971 में " कार्यक्रमों के बीच अनुकरण की एक बीजगणितीय धारणा " कहा जाता है। होरे को यह पता था और 1972 में " डेटा निरूपण का प्रमाण " के साथ आने में इसका इस्तेमाल किया (लेकिन इस्तेमाल किया गया) संबंधों के बजाय अमूर्त कार्य करता है क्योंकि उसने सोचा कि वे "सरल" थे)। बाद में उन्होंने सादगी के दावे को वापस ले लिया और " डेटा शोधन परिष्कृत " में संबंधों का उपयोग करने के लिए वापस चले गए । रेनॉल्ड्स ने " क्राफ्ट ऑफ़ प्रोग्रामिंग " में संबंधपरक तर्क का इस्तेमाल किया", अध्याय 5 (1981)। उन्होंने सोचा कि रिश्ते अमूर्त कार्यों की तुलना में अधिक प्राकृतिक और सामान्य थे। यदि आप वापस जाते हैं और इस अध्याय को पढ़ते हैं, तो आप संबंधपरक परिकल्पना के विचारों को पा लेंगे, जो खोजा जा रहा है, खोजा जा रहा है। दो साल बाद। रेनॉल्ड्स ने "प्रकार, अमूर्त और पैरामीट्रिक बहुरूपता" (1983) प्रकाशित किया।
ऐसा लगता है कि इन सभी विचारों का प्रकारों से कोई लेना-देना नहीं है, लेकिन वे वास्तव में करते हैं। स्टेटफुल लैंग्वेज और मॉडल्स में बिल्ट-इन डेटा एब्सट्रैक्ट है। जानकारी छिपाने के लिए आपको "सार डेटा प्रकार" को परिभाषित करने की आवश्यकता नहीं है। आप बस एक स्थानीय चर घोषित करते हैं और इसे छिपाते हैं। हम इसे पहले कुछ हफ्तों में जावा कक्षाओं में प्रथम वर्ष के छात्रों को पढ़ा सकते हैं। पसीनारहित।
दूसरी ओर, कार्यात्मक भाषाओं और मॉडलों को अपनी जानकारी को प्रकारों के माध्यम से छुपाना पड़ता है । कार्यात्मक मॉडल में अंतर्निहित डेटा अमूर्तता नहीं होती है। हम स्पष्ट रूप से उस पर जोड़ने के लिए, का उपयोग कर या ∃ । इसलिए, यदि आप किसी राज्य भाषा को एक कार्यात्मक भाषा में अनुवाद करते हैं, तो आप सभी स्थानीय राज्य को टाइप चर में अनुवादित होने पर ध्यान देंगे। यह कैसे काम करता है, इसके एक स्पष्ट विवरण के लिए, मेरे पेपर " ऑब्जेक्ट्स और क्लासेस को अल्गोल जैसी भाषाओं में " देखें, लेकिन विचार वास्तव में रेनॉल्ड्स 1981 ("एस्सेन्स ऑफ अल्गोल") से आते हैं। हम अभी उन क्लासिक विचारों को बेहतर तरीके से समझ रहे हैं।∀∃
दो मशीनों लो और एम ' आप बराबर साबित करने के लिए चाहते हैं। मिलनर 1971 कहते हैं, के राज्यों के बीच एक रिश्ता परिभाषित एम और एम ' और बताते हैं कि दो मशीनों संबंध बनाए रखने के। रेनॉल्ड्स पैरामीट्रिकिटी कहती है, मशीनों के राज्यों के बारे में सोचें जैसे कि X और X ity । उनके बीच एक रिश्ता आर परिभाषित करें। मशीनों प्रकार के होते हैं, तो एफ ( एक्स ) और एफ ( एक्स ' ) , अपने राज्यों के प्रकार के द्वारा parameterized, तो जांच कर लें कि दो मशीनों संबंध से संबंधित हैं एफएमएम'एमएम'एक्सएक्स'आरएफ( एक्स))एफ( एक्स)') । एफ( R )
तो, सिमुलेशन और संबंधपरक समरूपता अनिवार्य रूप से एक ही विचार है । यह महज सतही समानता नहीं है। पूर्व राज्य भाषाओं के लिए बनाया गया है जहाँ अंतर्निहित डेटा अमूर्तता है। उत्तरार्द्ध स्टेटलेस भाषाओं के लिए बना है, जहाँ डेटा एब्स्ट्रेक्शन टाइप वेरिएबल्स के माध्यम से प्राप्त किया जाता है।
फिर तार्किक संबंधों के बारे में क्या? सतह पर, तार्किक संबंध अधिक सामान्य विचार प्रतीत होते हैं। जहां एक ही मॉडल में टाइप वैरिएबल को कैसे संबंधित किया जाता है, इस बारे में पैरामीट्रिकिटी बात करती है, लॉजिकल रिलेशन विभिन्न मॉडलों में टाइप से संबंधित होते हैं। (डेव क्लार्क ने इससे पहले एक शानदार प्रदर्शनी लिखी।) लेकिन मेरी भावना यह है (और इसे अभी भी प्रदर्शित करने की आवश्यकता है) कि यह उच्च-प्रकार के कुछ प्रकार के पैरामीट्रिकिटी का एक उदाहरण है जिसे अभी तक तैयार नहीं किया गया है। उस मोर्चे पर और अधिक प्रगति के लिए बने रहें।
[नोट जोड़ा गया] तार्किक संबंधों और सिमुलेशन के बीच संबंध की चर्चा हमारे हालिया पेपर लॉजिकल रिलेशनशिप और पैराएरिमेंटी में की गई है: श्रेणी थ्योरी और प्रोग्रामिंग भाषाओं के लिए रेनॉल्ड्स प्रोग्राम ।