यहां "ट्रैक बी" सवाल है अगर कभी एक था। सारांश: जब मैं गैर-नियतात्मक कार्यक्रमों के लिए एक शब्दार्थ देने की कोशिश करता हूं, तो पहली बात यह होती है कि मैं उन शब्दों के बारे में साबित नहीं कर सकता जहां मैं केवल गैर-निर्धारक को समाप्त करता हूं। निश्चित रूप से किसी ने काम किया है कि इस स्थिति में क्या करना है, या कम से कम यह बताया कि यह कठिन है, लेकिन मुझे नहीं पता कि इसे कैसे देखना है (इसलिए "संदर्भ अनुरोध" टैग)।
पृष्ठभूमि
मैं गैर-नियतत्ववाद के साथ एक समय-भाषा को मॉडल करना चाहता हूं। मुझे लगता है कि इस तरह की भाषा को स्माइथ पावरडोमेन के साथ बनाने का यह स्पष्ट (या कम से कम भोला) तरीका है, लेकिन अगर मैं गलत हूं तो मुझे सुधारें। हम इस भाषा में एक कमांड का अर्थ बताएंगे कि एक ऐसा फंक्शन है जिसका डोमेन का सेट है और जिसका कोडोमैन सेट , जहां एक कम से कम तत्व है गैर-समाप्ति का प्रतिनिधित्व करना और राज्यों का अधिकार है।
- यदि , अन्यथा
- अगर या , अन्यथा
- अगर कुछ लिए या , अन्यथा में
वहाँ एक पूर्ण पूर्ण आंशिक आदेश , जहां लिए किसी भी और है, क्योंकि और उचित सेट हैं और , और हम इस कार्य का विस्तार कर सकते से के लिए pointwise: अगर के लिए हर , और वह फ़ंक्शन है जो हर राज्य को मैप करता है ।
एक लूप का अर्थ श्रृंखला सबसे कम ऊपरी सीमा है। , जहां यदि , अन्यथा अगर या कुछ के लिए , अन्यथा । (यह परिभाषा मानती है कि जिस मैंने अभी परिभाषित किया है वह स्कॉट निरंतर है, लेकिन मुझे लगता है कि यह एक तरफ छोड़ना सुरक्षित है।)
सवाल
इस कार्यक्रम पर विचार करें:
सहज रूप से, यह एक लूप है जो किसी भी सकारात्मक संख्या को वापस कर सकता है या समाप्त नहीं कर सकता है, और जो हम इस लूप के बारे में साबित कर सकते हैं वह सबसे कमजोर उदारता पूर्व शर्त का उपयोग करके साबित कर सकता है (यह दिखाना संभव है कि एक लूप है। अपरिवर्तनीय)। हालाँकि, क्योंकि लूप को समाप्त करने की क्षमता नहीं है (हम उस प्रोग्राम द्वारा गैर-नियतात्मक विकल्प को परिष्कृत कर सकते हैं जो हमेशा दाहिने हाथ की शाखा लेता है), इस प्रोग्राम का अर्थ किसी भी प्रारंभिक अवस्था में दिया गया है । (अनौपचारिक रूप से कम: समारोह है कि किसी भी राज्य है जहां नक्शे ही है और किसी भी राज्य है जहां के लिए गलत है के लिए सच है की एक निश्चित बिंदु है पाश को परिभाषित करने के लिए इस्तेमाल किया।)
इसका मतलब यह है कि मेरे द्वारा प्रस्तावित भोले शब्दार्थ उस तरह से मेल नहीं खाते हैं जिस तरह मैं कार्यक्रमों के बारे में तर्क करने में सक्षम होने की उम्मीद करता हूं। मैं अपने शब्दार्थ को दोष देता हूं, लेकिन उन्हें ठीक करने का तरीका नहीं।