2025-11-10T02:38:03.962319

Substitution Without Copy and Paste

Altenkirch, Burke, Wadler
Defining substitution for a language with binders like the simply typed $λ$-calculus requires repetition, defining substitution and renaming separately. To verify the categorical properties of this calculus, we must repeat the same argument many times. We present a lightweight method that avoids repetition and that gives rise to a simply typed category with families (CwF) isomorphic to the initial simply typed CwF. Our paper is a literate Agda script.
academic

प्रतिस्थापन बिना कॉपी और पेस्ट के

मूल जानकारी

  • पेपर ID: 2510.12304
  • शीर्षक: Substitution Without Copy and Paste
  • लेखक: Thorsten Altenkirch (University of Nottingham), Nathaniel Burke (Imperial College London), Philip Wadler (University of Edinburgh and Input Output)
  • वर्गीकरण: cs.LO (कंप्यूटर विज्ञान में तर्क)
  • प्रकाशन सम्मेलन: LFMTP 2025 (तार्किक ढांचे और मेटा-भाषाओं पर अंतर्राष्ट्रीय कार्यशाला: सिद्धांत और व्यवहार)
  • पेपर लिंक: https://arxiv.org/abs/2510.12304

सारांश

बाइंडर के साथ भाषाओं (जैसे सरल प्रकार की λ गणना) के प्रतिस्थापन ऑपरेशन को परिभाषित करते समय, आमतौर पर प्रतिस्थापन और पुनः नामकरण ऑपरेशन को अलग से परिभाषित करने की आवश्यकता होती है, जिससे बड़ी मात्रा में दोहराए गए कोड का परिणाम होता है। गणना के श्रेणीबद्ध गुणों को सत्यापित करने के लिए, समान तर्कों को कई बार दोहराया जाना चाहिए। यह पेपर इस दोहराव से बचने के लिए एक हल्के-फुल्के तरीके का प्रस्ताव देता है और एक सरल प्रकार की CwF (Categories with Families) का निर्माण करता है जो प्रारंभिक सरल प्रकार की श्रेणी परिवार के लिए समरूप है। पेपर Agda साहित्यिक प्रोग्रामिंग स्क्रिप्ट के रूप में प्रस्तुत किया गया है।

अनुसंधान पृष्ठभूमि और प्रेरणा

मूल समस्या

यांत्रिक प्रमाण में बाइंडर के साथ भाषाओं के प्रतिस्थापन ऑपरेशन को परिभाषित करते समय, पारंपरिक विधि के लिए आवश्यक है:

  1. अलग से परिभाषित करना चर पुनः नामकरण (∆ ⊩v Γ) और पद प्रतिस्थापन (∆ ⊩ Γ)
  2. चार विभिन्न प्रतिस्थापन ऑपरेशन को दोहराना: चर से चर, चर से पद, पद से चर, पद से पद
  3. सभी संयोजनों के लिए फ़ंक्टर कानूनों को दोहराना, जिससे 8 विभिन्न प्रमाण मामले होते हैं

अनुसंधान प्रेरणा

  1. सॉफ्टवेयर इंजीनियरिंग सिद्धांत: कॉपी-पेस्ट कोड से बचना, जो औपचारिक प्रमाणों में विशेष रूप से महत्वपूर्ण है
  2. सैद्धांतिक महत्व: निर्भर प्रकार सिद्धांत में प्रतिस्थापन परिभाषा के लिए आधार प्रदान करना
  3. व्यावहारिक अनुप्रयोग: उच्च-क्रम श्रेणियों में निर्भर प्रकारों की व्याख्या में सामंजस्य समस्या

मौजूदा विधि की सीमाएं

  • कोड दोहराव: चर और पदों के लिए समान ऑपरेशन को अलग से परिभाषित करने की आवश्यकता
  • प्रमाण दोहराव: श्रेणीबद्ध कानूनों का प्रमाण सभी संयोजनों को कवर करने की आवश्यकता है, जिससे बड़ी मात्रा में दोहराए गए तर्क होते हैं
  • रखरखाव कठिनाई: एक स्थान को संशोधित करने के लिए कई समान परिभाषाओं को सिंक्रोनाइज़ करने की आवश्यकता है

मुख्य योगदान

  1. एकीकृत ढांचा: Sort पैरामीटर के आधार पर एकीकृत प्रतिस्थापन ऑपरेशन का प्रस्ताव, चर और पदों के उपचार को एकल परिभाषा में विलय करता है
  2. समाप्ति गारंटी: Agda की संरचनात्मक पुनरावृत्ति और शब्दकोश क्रम समाप्ति जांच का चतुराई से उपयोग, परिभाषा की सुस्थापितता सुनिश्चित करता है
  3. श्रेणीबद्ध सिद्धांत सत्यापन: सरल प्रकार की CwF के सभी कानूनों को संतुष्ट करने वाले पुनरावर्ती प्रतिस्थापन को सिद्ध करता है
  4. प्रारंभिकता परिणाम: पुनरावर्ती प्रतिस्थापन वाक्य-विन्यास और प्रारंभिक CwF के बीच समरूपता स्थापित करता है
  5. मानकीकरण प्रमेय: λ पदों का प्रतिस्थापन मानक रूप स्पष्ट प्रतिस्थापन के बिना λ पदों के अनुरूप है

विधि विवरण

कार्य परिभाषा

एक एकीकृत प्रतिस्थापन प्रणाली का निर्माण करें, जैसे कि:

  • इनपुट: पद/चर और प्रतिस्थापन/पुनः नामकरण का कोई भी संयोजन
  • आउटपुट: संबंधित प्रकार का प्रतिस्थापन परिणाम
  • बाधा: प्रकार सुरक्षा और समाप्ति को बनाए रखना

मुख्य तकनीक: Sort प्रणाली

Sort प्रकार परिभाषा

data Sort : Set where
  V : Sort
  T>V : (s : Sort) → IsV s → Sort

data IsV : Sort → Set where
  isV : IsV V

pattern T = T>V V isV

यह परिभाषा चतुराई से V को T से संरचनात्मक रूप से छोटा बनाती है, Agda समाप्ति जांच आवश्यकताओं को संतुष्ट करती है।

एकीकृत पद और प्रतिस्थापन परिभाषा

data _ ⊢ [_]_ : Con → Sort → Ty → Set where
  zero : Γ ▷ A ⊢ [ V ] A
  suc : Γ ⊢ [ V ] A → (B : Ty) → Γ ▷ B ⊢ [ V ] A
  `_ : Γ ⊢ [ V ] A → Γ ⊢ [ T ] A
  _ ·_ : Γ ⊢ [ T ] A ⇒ B → Γ ⊢ [ T ] A → Γ ⊢ [ T ] B
  λ_ : Γ ▷ A ⊢ [ T ] B → Γ ⊢ [ T ] A ⇒ B

जहां Γ ⊢ [ V ] A चर के अनुरूप है, Γ ⊢ [ T ] A पद के अनुरूप है।

Sort पर जाली संरचना

data _ ⊑ _ : Sort → Sort → Set where
  rfl : s ⊑ s
  v⊑t : V ⊑ T

_⊔_ : Sort → Sort → Sort
V ⊔ r = r
T ⊔ r = T

एकीकृत प्रतिस्थापन ऑपरेशन

मुख्य प्रतिस्थापन फ़ंक्शन

_[_] : Γ ⊢ [ q ] A → ∆ ⊩ [ r ] Γ → ∆ ⊢ [ q ⊔ r ] A

मुख्य अंतर्दृष्टि: परिणाम का sort इनपुट sorts का न्यूनतम ऊपरी सीमा है, यह सुनिश्चित करता है कि केवल तभी जब दोनों इनपुट चर/पुनः नामकरण हों, तो परिणाम चर हो।

समाप्ति हैंडलिंग

Sort बहुरूपी पहचान फ़ंक्शन के माध्यम से समाप्ति समस्या को हल करना:

id-poly : Γ ⊩ [ q ] Γ
id : Γ ⊩ [ V ] Γ
id = id-poly {q = V}

तकनीकी नवाचार बिंदु

  1. संरचनात्मक पुनरावृत्ति: Sort की संरचनात्मक क्रम और शब्दकोश क्रम माप का उपयोग करके समाप्ति सुनिश्चित करना
  2. पैरामीट्रिक बहुरूपता: Sort पैरामीटर के माध्यम से चर और पदों के विभिन्न मामलों को एकीकृत करना
  3. जाली सिद्धांत अनुप्रयोग: ⊔ ऑपरेशन का उपयोग करके प्रकार उन्नयन को सुंदरता से संभालना
  4. पुनः लेखन नियम: Agda की REWRITE कार्यक्षमता का उपयोग करके समानता तर्क को सरल बनाना

सैद्धांतिक सत्यापन

श्रेणीबद्ध कानून प्रमाण

पहचान कानून

[id] : x [ id ] ≡ x

संरचनात्मक प्रेरण के माध्यम से सिद्ध, मुख्य बिंदु चर मामले में प्राकृतिकता लेम्मा है।

संयोजन कानून

[◦] : x [ xs ◦ ys ] ≡ x [ xs ] [ ys ]

बाएं पहचान कानून के साथ पारस्परिक पुनरावृत्ति प्रमाण की आवश्यकता है, श्रेणीबद्ध संरचना के आंतरिक संबंध को प्रदर्शित करता है।

CwF संरचना सत्यापन

पेपर सिद्ध करता है कि पुनरावर्ती प्रतिस्थापन वाक्य-विन्यास सरल प्रकार की CwF के सभी स्वयंसिद्धों को संतुष्ट करता है:

  • श्रेणीबद्ध संरचना: संदर्भ और प्रतिस्थापन एक श्रेणी बनाते हैं
  • पूर्व-शीफ संरचना: प्रत्येक प्रकार एक पूर्व-शीफ के अनुरूप है
  • टर्मिनल ऑब्जेक्ट: खाली संदर्भ
  • संदर्भ विस्तार: श्रेणीबद्ध उत्पाद के समान संरचना

प्रारंभिकता प्रमेय

दोनों दिशाओं में मानचित्रण स्थापित करता है:

  1. मानकीकरण norm : Γ ⊢I A → Γ ⊢ [ T ] A
  2. एम्बेडिंग ⌜_⌝ : Γ ⊢ [ q ] A → Γ ⊢I A

और सिद्ध करता है कि वे एक दूसरे के व्युत्क्रम मानचित्र हैं:

  • स्थिरता norm ⌜ t ⌝ ≡ t
  • पूर्णता ⌜ norm t ⌝ ≡ t

कार्यान्वयन विवरण

Agda विशेषताओं का उपयोग

  1. आगमनात्मक-आगमनात्मक प्रकार: Sort और IsV की पारस्परिक परिभाषा
  2. शब्दकोश क्रम समाप्ति: जटिल पुनरावृत्ति पैटर्न का समर्थन
  3. पुनः लेखन नियम: स्वचालित समानता तर्क
  4. पैटर्न समानार्थी: जटिल प्रकारों के उपयोग को सरल बनाना

समाप्ति विश्लेषण

कॉल ग्राफ विश्लेषण के माध्यम से समाप्ति को सिद्ध करना, प्रत्येक फ़ंक्शन का माप:

  • _[_]: (r, t)
  • id: (r, Γ)
  • _+_: (r, σ)
  • suc[_]: (q)

सभी चक्रों में, या तो Sort कड़ाई से घटता है, या Sort संरक्षित रहता है जबकि अन्य पैरामीटर घटते हैं।

संबंधित कार्य तुलना

मौजूदा विधियों से अंतर

  1. Kit विधि18,5: पुनः नामकरण और प्रतिस्थापन के सामान्य पैटर्न को kit के माध्यम से अमूर्त करता है, लेकिन अभी भी प्रमाण दोहराने की आवश्यकता है
  2. मोनैड दृष्टिकोण6,9: प्रतिस्थापन को चर से पदों तक के फ़ंक्शन के रूप में एन्कोड करता है, लेकिन निर्भर प्रकारों तक विस्तार करना कठिन है
  3. स्वचालन उपकरण21,22: Autosubst लाइब्रेरी स्वचालित रूप से प्रतिस्थापन लेम्मा उत्पन्न करती है, लेकिन अंतर्निहित अभी भी दोहराव है

लाभ विश्लेषण

  1. सरलता: शब्दकोश क्रम पुनरावृत्ति का समर्थन करने वाली भाषाओं में अधिक सरल
  2. एकता: एकल परिभाषा सभी मामलों को कवर करती है
  3. विस्तारशीलता: निर्भर प्रकारों के उपचार के लिए आधार तैयार करता है

निष्कर्ष और चर्चा

मुख्य निष्कर्ष

  1. पद्धति योगदान: सिद्ध करता है कि Sort पैरामीटरकरण के माध्यम से प्रतिस्थापन ऑपरेशन को सुंदरता से एकीकृत किया जा सकता है
  2. सैद्धांतिक योगदान: पुनरावर्ती प्रतिस्थापन वाक्य-विन्यास की प्रारंभिकता स्थापित करता है
  3. व्यावहारिक योगदान: दोहराव से बचने के लिए ठोस तकनीकी समाधान प्रदान करता है

सीमाएं

  1. Agda विशेषता पर निर्भरता: शब्दकोश क्रम समाप्ति जांच समर्थन की आवश्यकता है
  2. जटिलता स्थानांतरण: हालांकि दोहराव से बचा जाता है, लेकिन Sort प्रणाली की जटिलता बढ़ाता है
  3. विस्तार चुनौती: निर्भर प्रकारों तक विस्तार के लिए अभी भी आगे के अनुसंधान की आवश्यकता है

भविष्य की दिशाएं

  1. निर्भर प्रकार विस्तार: विधि को पूर्ण निर्भर प्रकार सिद्धांत में लागू करना
  2. उच्च-क्रम सामंजस्य: उच्च-क्रम श्रेणियों में अनुप्रयोग
  3. अन्य प्रमाण सहायक: Lean, Coq आदि प्रणालियों में स्थानांतरण

गहन मूल्यांकन

शक्तियां

  1. तकनीकी नवाचार: Sort प्रणाली का डिजाइन समाप्ति और एकता समस्या को चतुराई से हल करता है
  2. सैद्धांतिक पूर्णता: मूल परिभाषा से प्रारंभिकता तक पूर्ण सैद्धांतिक विकास
  3. व्यावहारिक मूल्य: औपचारिक सत्यापन में सामान्य समस्या के लिए व्यावहारिक समाधान प्रदान करता है
  4. स्पष्ट अभिव्यक्ति: साहित्यिक प्रोग्रामिंग स्क्रिप्ट के रूप में, कोड और व्याख्या अच्छी तरह से संयुक्त है

कमियां

  1. प्लेटफॉर्म निर्भरता: Agda की विशिष्ट विशेषताओं पर गंभीर निर्भरता, सीमित पोर्टेबिलिटी
  2. जटिलता व्यापार: हालांकि दोहराव से बचा जाता है, लेकिन नई अवधारणात्मक जटिलता परिचय देता है
  3. विस्तार क्षमता अनिश्चित: अधिक जटिल प्रकार प्रणालियों तक विस्तार अभी भी सत्यापन की आवश्यकता है

प्रभाव

  1. सैद्धांतिक योगदान: प्रकार सिद्धांत के यांत्रिकीकरण के लिए नई सोच प्रदान करता है
  2. व्यावहारिक मार्गदर्शन: औपचारिक सत्यापन अभ्यासकर्ताओं के लिए उपयोगी उपकरण प्रदान करता है
  3. अनुसंधान प्रेरणा: निर्भर प्रकार सिद्धांत के आगे के अनुसंधान के लिए आधार तैयार करता है

लागू परिदृश्य

  1. औपचारिक सत्यापन: बाइंडर के साथ भाषा परिभाषा की आवश्यकता वाली परिस्थितियां
  2. प्रकार सिद्धांत अनुसंधान: CwF और प्रारंभिक बीजगणित का अनुसंधान
  3. प्रोग्रामिंग भाषा सिद्धांत: λ गणना और इसके विस्तार का यांत्रिकीकरण

संदर्भ

पेपर इस क्षेत्र के महत्वपूर्ण कार्यों का हवाला देता है, जिनमें शामिल हैं:

  • De Bruijn का मूल कार्य12
  • McBride की kit विधि18
  • Allais आदि की प्रकार-सुरक्षित विधि5
  • Autosubst श्रृंखला कार्य21,22
  • सापेक्ष मोनैड का संबंधित अनुसंधान6

ये संदर्भ क्षेत्र विकास के प्रति लेखकों की गहन समझ और मौजूदा कार्यों के प्रति पर्याप्त अनुसंधान को प्रदर्शित करते हैं।