نظام الكتابة النقية

مشكلة لم تُحل في علوم الحاسوب
هل كل نظام نوع نقي ضعيف التطبيع يكون أيضاً قوي التطبيع؟

في فرعي المنطق الرياضي المعروفين بنظرية البرهان ونظرية الأنواع ، يُعد نظام الأنواع الخالص ( PTS )، المعروف سابقًا بنظام الأنواع المعمم ( GTS )، شكلًا من أشكال حساب لامدا المكتوب ، يسمح بعدد غير محدود من الأصناف والتبعيات بينها. يمكن اعتبار هذا الإطار تعميمًا لمكعب لامدا لباريندريخت ، بمعنى أن جميع زوايا المكعب يمكن تمثيلها كحالات لنظام أنواع خالص بصنفين فقط. [ 1 ] [ 2 ] في الواقع، صاغ باريندريخت (1991) مكعبه ضمن هذا السياق. [ 3 ] قد تُخفي أنظمة الأنواع الخالصة التمييز بين الأنواع والمصطلحات ، وتُؤدي إلى انهيار التسلسل الهرمي للأنواع ، كما هو الحال في حساب الإنشاءات ، ولكن هذا ليس هو الحال عمومًا، فعلى سبيل المثال، يسمح حساب لامدا المكتوب ببساطة للمصطلحات فقط بالاعتماد على المصطلحات.

طُرحت أنظمة الأنواع النقية بشكل مستقل من قِبل ستيفانو بيراردي (1988) ويان تيرلو (1989). [ 1 ] [ 2 ] ناقشها باريندريخت باستفاضة في أبحاثه اللاحقة. [ 4 ] في أطروحته للدكتوراه، [ 5 ] عرّف بيراردي مكعبًا من المنطق البنائي يُشبه مكعب لامدا (هذه المواصفات غير مترابطة). أُطلق على تعديل هذا المكعب لاحقًا اسم مكعب L من قِبل هيرمان جوفرز، الذي وسّع في أطروحته للدكتوراه تطابق كاري-هوارد ليشمل هذا السياق. [ 6 ] بناءً على هذه الأفكار، عرّف جي.  بارث وآخرون أنظمة الأنواع النقية الكلاسيكية (CPTS) بإضافة عامل نفي مزدوج . [ 7 ] وبالمثل، في عام 1998، قدّم تين بورغويس أنظمة الأنواع النقية المشروطة (MPTS). [ 8 ] ناقش رودا تطبيق أنظمة الأنواع النقية على البرمجة الوظيفية ؛ واقترح رودا وجورينغ لغة برمجة قائمة على أنظمة الأنواع النقية. [ 9 ]

من المعروف أن جميع الأنظمة المشتقة من مكعب لامدا تتميز بخاصية التطبيع القوي . أما أنظمة الأنواع النقية، فليست بالضرورة كذلك، فمثلاً، النظام U من مفارقة جيرارد ليس كذلك. (باختصار، وجد جيرارد أنظمة نقية يمكن فيها التعبير عن عبارة "الأنواع تُشكل نوعًا"). علاوة على ذلك، فإن جميع الأمثلة المعروفة لأنظمة الأنواع النقية غير المُطَبَّعة بقوة ليست مُطَبَّعة (بشكل ضعيف) : فهي تحتوي على تعابير لا تمتلك صيغًا طبيعية ، تمامًا مثل حساب لامدا غير المُنمَّط . يُعدّ هذا الأمر مشكلة مفتوحة رئيسية في هذا المجال، وهي ما إذا كان هذا هو الحال دائمًا، أي ما إذا كان نظام الأنواع النقية المُطَبَّع (بشكل ضعيف) يمتلك دائمًا خاصية التطبيع القوي. يُعرف هذا باسم حدسية باريندريخت-جوفرز-كلوب (نسبةً إلى هينك باريندريخت ، وهيرمان جوفرز ، ويان ويليم كلوب ). [ 10 ]

تعريف

يُعرَّف نظام النوع النقي بثلاثية(S،أ،R){\textstyle ({\mathcal {S}},{\mathcal {A}},{\mathcal {R}})}أينS{\textstyle {\mathcal {S}}}هي مجموعة من الأنواع،أS2{\textstyle {\mathcal {A}}\subseteq {\mathcal {S}}^{2}}هي مجموعة البديهيات، وRS3{\textstyle {\mathcal {R}}\subseteq {\mathcal {S}}^{3}}هي مجموعة القواعد. يتم تحديد الكتابة في أنظمة الكتابة النقية بواسطة القواعد التالية، حيثs{\textstyle s}أي نوع: [ 4 ]

(s1،s2)أs1:s2(مبدأ){\displaystyle {\frac {(s_{1},s_{2})\in {\mathcal {A}}}{\vdash s_{1}:s_{2}}}\quad {\text{(axiom)}}}

Γأ:sxدوم(Γ)Γ،x:أx:أ(يبدأ){\displaystyle {\frac {\Gamma \vdash A:s\quad x\notin {\text{dom}}(\Gamma )}{\Gamma ,x:A\vdash x:A}}\quad {\text{(start)}}}

Γأ:بΓج:sxدوم(Γ)Γ،x:جأ:ب(ضعف){\displaystyle {\frac {\Gamma \vdash A:B\quad \Gamma \vdash C:s\quad x\notin {\text{dom}}(\Gamma )}{\Gamma ,x:C\vdash A:B}}\quad {\text{(weakening)}}}

Γأ:s1Γ،x:أب:s2(s1،s2،s3)RΓΠx:أ.ب:s3(منتج){\displaystyle {\frac {\Gamma \vdash A:s_{1}\quad \Gamma ,x:A\vdash B:s_{2}\quad (s_{1},s_{2},s_{3})\in {\mathcal {R}}}{\Gamma \vdash \Pi x:AB:s_{3}}}\quad {\text{(product)}}}

Γج:Πx:أ.بΓأ:أΓجأ:ب[x:=أ](طلب){\displaystyle {\frac {\Gamma \vdash C:\Pi x:AB\quad \Gamma \vdash a:A}{\Gamma \vdash Ca:B[x:=a]}}\quad {\text{(تطبيق)}}}

Γ،x:أب:بΓΠx:أ.ب:sΓλx:أ.ب:Πx:أ.ب(التجريد){\displaystyle {\frac {\Gamma ,x:A\vdash b:B\quad \Gamma \vdash \Pi x:AB:s}{\Gamma \vdash \lambda x:Ab:\Pi x:AB}}\quad {\text{(abstraction)}}}

Γأ:بب=βبΓب:sΓأ:ب(تحويل){\displaystyle {\frac {\Gamma \vdash A:B\quad B=_{\beta }B'\quad \Gamma \vdash B':s}{\Gamma \vdash A:B'}}\quad {\text{(conversion)}}}

التطبيقات

لغات البرمجة التالية تحتوي على أنظمة أنواع نقية:

انظر أيضاً

ملحوظات

  1. 1 2 بيرس ، بنجامين (2002). الأنواع ولغات البرمجة . مطبعة معهد ماساتشوستس للتكنولوجيا. ص 466. ISBN  0-262-16209-1.
  2. 1 2 كامار الدين، فيروز د.؛ لان، توان؛ نيدربيلت، روب ب. (2004). "القسم 4ج: أنظمة الأنواع النقية". منظور حديث لنظرية الأنواع: من أصولها حتى اليوم . سبرينغر. ص 116. ISBN  1-4020-2334-0.
  3. باريندريخت، إتش بي (1991). "مقدمة في أنظمة الأنواع المعممة" . مجلة البرمجة الوظيفية . 1 (2): 125-154 . doi : 10.1017/s0956796800020025 . hdl : 2066/17240 . S2CID 44757552 . 
  4. 1 2 باريندريخت، هـ. (1992). "حسابات لامدا مع الأنواع" . في أبرامسكي، س.؛ غاباي، د.؛ مايباوم، ت. (محررون). دليل المنطق في علوم الحاسوب . منشورات أكسفورد للعلوم .
  5. بيراردي، س. (1990). الاعتماد على النوع والرياضيات البنائية (أطروحة دكتوراه). جامعة تورينو .
  6. جيفرز، هـ. (1993). المنطق وأنظمة الأنواع (أطروحة دكتوراه). جامعة نيميغن . CiteSeerX 10.1.1.56.7045 . 
  7. بارث، ج.؛ هاتكليف، ج.؛ سورنسن، م.هـ. (1997). "مفهوم نظام النوع النقي الكلاسيكي". ملاحظات إلكترونية في علوم الحاسوب النظرية . 6 : 4-59 . CiteSeerX 10.1.1.32.1371 . doi : 10.1016/S1571-0661(05)80170-7 . 
  8. بورغهايس، تين (1998). "أنظمة الأنواع النقية المشروطة". مجلة المنطق واللغة والمعلومات . 7 (3): 265-296 . doi : 10.1023/A:1008254612284 . S2CID 5067584 . 
  9. جان ويليم رودا؛ يوهان جورينغ. "أنظمة الأنواع البحتة للبرمجة الوظيفية" . مؤرشف من الأصل بتاريخ 2011-10-02 . تم الاطلاع عليه بتاريخ 2010-08-29 . تحتوي رسالة الماجستير الخاصة برووردا (المرتبطة بالصفحة المذكورة) أيضًا على مقدمة عامة لأنظمة الأنواع النقية.
  10. سورنسن، مورتن هاين؛ أورزيتشين، باويل (2006). "أنظمة الأنواع النقية ومكعب لامدا § 14.7" . محاضرات حول تماثل كاري-هوارد . إلسيفير. ص 358. ISBN  0-444-52077-5.
  11. الحكيم
  12. اليارو
  13. هينك 2000
  14. "6.4.14. تعدد الأشكال النوعية - دليل مستخدم Glasgow Haskell Compiler 9.15.20260123" .
  15. ويريش وآخرون، نظام FC مع المساواة الصريحة في النوع، ICFP '13: "لذلك، نتبع أنظمة الأنواع البحتة (باريندريخت 1992) ونوحد بناء جملة الأنواع والأنواع الفرعية، مما يسمح لنا بإعادة استخدام تحويلات الأنواع كتحويلات للأنواع الفرعية. [...] علاوة على ذلك، تتضمن قواعدنا بديهية *:* التي تعني أنه لا يوجد تمييز حقيقي بين الأنواع والأنواع الفرعية."

مراجع

  • بيراردي ، ستيفانو (1988). نحو تحليل رياضي لحساب التفاضل والتكامل Coquand-Huet للإنشاءات والأنظمة الأخرى في مكعب Barendregt (التقرير الفني). قسم علوم الكمبيوتر، CMU، وDipartimento Matematica، جامعة تورينو. جامعة كارنيجي ميلون-CS-88-131.
  • تيرلو، ج. (1989). "Een nadere bewijstheoretische Analysis van GSTTs" (وثيقة) (باللغة الهولندية). هولندا: جامعة نيميغن.

للمزيد من القراءة