कैसे प्रभावी रूप से Agda के ऑटो सबूत खोज का उपयोग करने के लिए?



(1)

Agda के ऑटो प्रूफ की खोज कंपाइलर में की जाती है। यह तेजी से बनाता है, लेकिन आपके द्वारा किए जाने वाले अनुकूलन की मात्रा को सीमित करता है। एक वैकल्पिक दृष्टिकोण एजडा के परावर्तन तंत्र का उपयोग करके एक समान प्रमाण खोज प्रक्रिया को लागू करना होगा। टीसी मोनड का उपयोग करके प्रतिबिंब के हाल ही में गोमांस संस्करण के साथ, आपको अब अपनी स्वयं की एकीकरण प्रक्रिया को लागू करने की आवश्यकता नहीं है।

कार्लोस टोम इन विचारों को फिर से लागू करने पर काम कर रहे हैं (उनके कोड https://github.com/carlostome/AutoInAgda )। वह कई संस्करणों पर काम कर रहा है जो संदर्भ से जानकारी का उपयोग करने की कोशिश करता है, डिबगिंग जानकारी प्रिंट करता है, आदि आशा है कि यह मदद करता है!

प्रमाण लिखते समय मैंने देखा कि अगाडा की ऑटो प्रूफ खोज में अक्सर ऐसे समाधान नहीं मिलेंगे जो मुझे स्पष्ट प्रतीत हों। दुर्भाग्य से एक छोटे से उदाहरण के साथ आ रहा है, जो समस्या को दिखाता है कि यह कठिन प्रतीत होता है, इसलिए मैं इसके बजाय सबसे सामान्य पैटर्न का वर्णन करने का प्रयास करता हूं।

  • मैं मॉड्यूल दायरे में एग्दा को देखने के लिए छेद में -m जोड़ना भूल गया। क्या मैं उस ध्वज को डिफ़ॉल्ट बना सकता हूं? क्या डाउनसाइड होगा?
  • अक्सर वर्तमान छेद को उस फ़ंक्शन के पैरामीटर से भरा जा सकता है जिसे मैं लागू करने वाला हूं। यहां तक ​​कि जब -m जोड़ने पर, Agda फ़ंक्शन पैरामीटर या प्रतीकों को शुरू करने पर विचार नहीं करेगा, where या where क्लॉस होता है। वहाँ बस उन सभी की कोशिश कर के साथ कुछ गड़बड़ है?
  • किसी लक्ष्य को देखते समय, where या where क्लॉज प्रदर्शित किए गए हैं, where प्रतीक भी नहीं दिखाए गए हैं। क्यूं कर?

ऑटो के उपयोग से कौन सी अन्य आदतें अधिक प्रभावी हो सकती हैं?