एक शुद्धता प्रमाण के लिए, मैं के शुद्ध प्रकार सिस्टम (पीटीएस) के लिए कार्यक्रम तुल्यता की एक उपयोगी धारणा की तलाश कर रहा हूं ; पर्याप्त विशिष्ट प्रकार की प्रणालियों के लिए गायब है। मेरा लक्ष्य केवल धारणा का उपयोग करना है, न कि इसकी स्वयं की जांच करना।
यह धारणा "होना चाहिए extensional " - विशेष रूप से, साबित होता है कि , यह साबित करने के लिए पर्याप्त होना चाहिए टी 1 उपयुक्त प्रकार केसभी मानों के लिए ।
भावनात्मक समानता
भावनात्मक समानता आसानी से सभी सही नींबू को संतुष्ट कर देती है, लेकिन मनमाने ढंग से पीटीएस के लिए एक शब्दार्थ अर्थ बल्कि चुनौतीपूर्ण लगता है - यह सिस्टम एफ के लिए पहले से ही कठिन दिखाई देगा।
प्रासंगिक / अवलोकन समतुल्यता
स्पष्ट विकल्प तो संदर्भात्मक तुल्यता के विभिन्न रूप हैं (दो शब्द समतुल्य हैं यदि कोई जमीनी संदर्भ उन्हें अलग नहीं कर सकता है), लेकिन इसकी परिभाषा तुरंत प्रयोग करने योग्य नहीं है; विभिन्न नींबू साबित करने के लिए तुच्छ नहीं हैं। क्या वे पीटीएस के लिए साबित हुए हैं? वैकल्पिक रूप से, क्या सिद्धांत एक "स्पष्ट विस्तार" होगा, या क्या यह मानने का कारण है कि सिद्धांत काफी भिन्न होगा?
संपादित करें: मैंने यह नहीं कहा कि ऊपर क्या मुश्किल है।
आसान हिस्सा: परिभाषा
समानता को परिभाषित करना बहुत कठिन नहीं है, और परिभाषा कई पत्रों में दिखाई देती है (कम से कम प्लॉटकिन 1975 के पीसीएफ के अध्ययन से शुरू, अगर पहले नहीं - स्रोत 1968 से मॉरिस की पीएचडी थीसिस हो सकती है)। हम अगर सभी के लिए जमीन संदर्भों सी , सी [ टी 1 ] ≃ सी [ टी 2 ] - जो है, सी [ टी 1 ] और सी [ टी 2 ] एक ही देना परिणाम। आप विकल्प के बहुत सारे के साथ यहाँ कुछ विकल्प हैं: उदाहरण के लिए, एक जोरदार सामान्य भाषा में, यदि आप प्राकृतिक की तुलना की एक जमीन प्रकार है, तो आप कह सकते हैं कि जमीन संदर्भों होते हैं कि वापसी प्राकृतिक की, और फिर का मतलब है कि एक और बी उसी संख्या का मूल्यांकन करते हैं। गैर-समाप्ति के साथ, उचित भाषाओं के लिए, अवलोकन के रूप में "एक्स टर्मेट्स" का उपयोग करने के लिए पर्याप्त है, क्योंकि यदि समाप्ति को देखते हुए दो कार्यक्रम समान हैं, तो परिणाम देखने के दौरान भी वे समान हैं।
कठिन भाग: प्रमाण
हालांकि, वे कागज अक्सर यह नहीं समझाते हैं कि वास्तव में इस परिभाषा का उपयोग करना कितना कठिन है। नीचे दिए गए सभी संदर्भ बताते हैं कि इस समस्या से कैसे निपटा जाए, लेकिन आवश्यक सिद्धांत एक विचार से अधिक कठिन है। हम चाहते हैं कि कैसे साबित करूं ? क्या हम वास्तव में संदर्भों पर केस विश्लेषण और इंडक्शन करते हैं? आप ऐसा नहीं करना चाहते हैं।
जैसा कि मार्टिन बर्जर बताते हैं, आप बिसिमुलेशन (जैसा कि पिट्स द्वारा किया जाता है) या एक तार्किक समतुल्य संबंध (जैसे हार्पर को बस "तार्किक साम्य" कहते हैं) का उपयोग करना चाहते हैं।
अंत में, आप ऊपर बताए अनुसार कैसे बहुआयामी साबित होते हैं?
हार्पर काफी चतुराई और तार्किक संबंधों के माध्यम से सिस्टम टी के लिए 10 पृष्ठों में इन सवालों को हल करता है। गड्ढे ज्यादा लगते हैं। कुछ भाषाएँ अभी और अधिक जटिल हैं।
इससे कैसे निपटा जाए
मैं वास्तव में पीटीएस के लिए समतुल्य सिद्धांत पर अपने प्रमाणों को सशर्त रूप से बनाने के लिए लुभाया गया हूं, लेकिन वास्तविक सिद्धांतों को nontrivial तर्क की आवश्यकता होती है, इसलिए मुझे यकीन नहीं है कि इस तरह के अनुमान को धारण करने की संभावना कितनी होगी।
मुझे निम्न कार्यों के बारे में पता है (हालांकि विस्तार से नहीं):
- एंड्रयू पिट्स (उदाहरण के लिए एक विस्तारित सिस्टम एफ के लिए एटीटीएपीएल में, और कुछ पत्रों में, जैसे कि 58-पृष्ठ "ऑपरेशनलली-बेस्ड थ्योरी ऑफ़ प्रोग्राम इक्वेलेंस")।
- प्रोग्रामिंग लैंग्वेजेस की प्रैक्टिकल नींव (अध्याय 47-48), जो पिट्स से प्रेरित है (लेकिन सरल प्रमाण होने का दावा करता है)।
- कार्यक्रम तुल्यता का एक तार्किक अध्ययन । मुझे एक अंग्रेजी सार नहीं मिल रहा है, लेकिन यह साइड इफेक्ट्स (संदर्भ) के लिए बहुत प्रयास करने में लगता है, जो एक ऑर्थोगोनल जटिलता है।