इंडक्शन-इंडक्शन क्या है?


11

इंडक्शन-इंडक्शन क्या है ?

मुझे जो संसाधन मिले हैं:

मेरे लिए पहले दो संदर्भ बहुत संक्षिप्त हैं, और बाद के दो भी तकनीकी हैं। क्या कोई इसे आम आदमी के कार्यकाल में समझा सकता है? बेहतर होगा कि अगर एजडा कोड हो।


आपके चौथे उद्धरण में Agda कोड है।
गिल्स एसओ- बुराई को रोकना '

ज़रूर, लेकिन कोड की उस बड़ी राशि के माध्यम से पढ़ना बहुत कठिन होगा। और (मुझे लगता है) केवल 1 या 2 उदाहरण देखकर सुपर आसान है।

जवाबों:


13

पूरक 2016-10-03: मैंने इंडक्शन-इंडक्शन और इंडक्शन-रिकर्सन को मिलाया (पहली बार मैंने ऐसा नहीं किया!)। गंदगी के लिए मेरी माफी। मैंने दोनों को कवर करने का उत्तर अपडेट किया।

मुझे Forsberg & Setzer के पेपर में स्पष्टीकरण मिला है, आगमनात्मक-प्रेरक परिभाषाओं का एक परिमित स्वयंसिद्ध प्रकाश।

प्रेरण-प्रत्यावर्तन

एक आगमनात्मक-पुनरावर्ती परिभाषा वह है जिसमें हम एक प्रकार A और एक प्रकार के परिवार को परिभाषित करते हैं B:AType एक साथ एक विशेष तरीके से:

  1. A को एक आगमनात्मक प्रकार के रूप में परिभाषित किया गया है।
  2. B कोA पर पुनरावृत्ति द्वारा परिभाषित किया गया है।
  3. महत्वपूर्ण रूप से, A की परिभाषा B उपयोग कर सकती है ।

तीसरी आवश्यकता के बिना, हम पहले A और फिर अलग से B को परिभाषित कर सकते थे ।

यहाँ एक बच्चा उदाहरण है। परिभाषित A निम्नलिखित कंस्ट्रक्टर्स के लिए उपपादन द्वारा:

  • a:A
  • :(x:AB(x))A

प्रकार B परिवार द्वारा परिभाषित किया गया है

  • B(a)=bool
  • B((x,f))=nat

तो, A में क्या है ? सबसे पहले हमारे पास एक तत्व

a:A.
कि की वजह से, वहाँ एक प्रकार है B(a) जो होने के लिए परिभाषित किया गया है bool । इसलिए, हम दो नए तत्व फार्म कर सकते हैं
(a,false)
और
(a,true)
में A । अब हमारे पास B((a,false))=B((a,true))=nat , तो हम भी हर के लिए फार्म कर सकते हैंn:nat तत्वों
((a,false),n):A
और
((a,true),n):A
हम ऐसे ही चलते रह सकते हैं। अगले चरण कि हो जाएगा के बाद से
B(((a,true),n))=nat
वहाँ हर के लिए हैm:nat तत्व
(((a,true),n),m):A
और तत्व
(((a,false),n),m):A
हम जा रख सकते हैं। थोड़ी सी सोच से पता चलता है किA , कम संख्या में प्राकृतिक नंबरों की सूचियों की दो प्रतियां हैं, एक सामान्य खाली सूची साझा करना। मैं यह जानने के लिए एक अभ्यास के रूप में छोड़ दूँगा।

प्रेरण-प्रेरण

एक आगमनात्मक-आगमनात्मक परिभाषा भी एक प्रकार A को परिभाषित करती है और साथ ही एक प्रकार का परिवार B:AType :

  1. A को इंडक्टिवली परिभाषित किया गया है
  2. BA
  3. AB

B

B(c())=
c()ABB

A

  • a:A
  • :(x:AB(x))A

B

  • Tru:B(a)
  • Fal:B(a)
  • x:Ay:B(x)Zer:B((x,y))
  • x:Ay:B(x)z:B((x,y))Suc(z):B((x,y))

BB(a)B((x,y))


क्यों नरक कोई ऐसे डेटा प्रकारों को परिभाषित करेगा D:
would

7
एक प्रेरक-आगमनात्मक प्रकार क्या है यह सिखाने के लिए। मैं आपको एक वास्तविक उदाहरण दे सकता हूं, अर्थात् एक प्रकार का ब्रह्मांड, लेकिन यह भ्रामक होगा।
बाउर

3
@AndrejBauer यह मेरे लिए प्रेरण-पुनरावृत्ति की तरह दिखता है। इंडक्शन-इंडक्शन तब होता है जब टाइप परिवार को इंडक्टिव टाइप के रूप में परिभाषित किया जाता है ।
गैलिस

2
उफ़, आप बिल्कुल सही कह रहे हैं। मैं इसे ठीक कर दूंगा।
बाउर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.