تخصص نوع التقاطع

في المنطق الرياضي ، يُعد تخصص نوع التقاطع فرعًا من نظرية الأنواع يشمل أنظمة الأنواع التي تستخدم مُنشئ نوع التقاطع(){\displaystyle (\cap )}لتعيين أنواع متعددة لمصطلح واحد. [ 1 ] على وجه الخصوص، إذا كان المصطلحم{\displaystyle M}يمكن تعيين كلا النوعينφ1{\displaystyle \varphi _{1}}والنوعφ2{\displaystyle \varphi _{2}}، ثمم{\displaystyle M}يمكن تعيين نوع التقاطعφ1φ2{\displaystyle \varphi _{1}\cap \varphi _{2}}(والعكس صحيح). لذلك، يمكن استخدام مُنشئ نوع التقاطع للتعبير عن تعدد الأشكال المخصص غير المتجانس المحدود (على عكس تعدد الأشكال البارامتري ). على سبيل المثال، الحد λλx.(xx){\displaystyle \lambda x.\!(x\;x)}يمكن تعيين النوع((αβ)α)β{\displaystyle ((\alpha \to \beta )\cap \alpha )\to \beta }في معظم أنظمة التقاطعات، بافتراض أن المصطلح متغيرx{\displaystyle x}كلا نوعي الوظيفةαβ{\displaystyle \alpha \to \beta }ونوع الوسيط المقابلα{\displaystyle \alpha }.

تشمل أنظمة تصنيف التقاطع البارزة نظام تصنيف كوبو-ديزاني، [ 2 ] ونظام تصنيف باريندريخت-كوبو-ديزاني، [ 3 ] ونظام تصنيف التقاطع الأساسي. [ 4 ] والأهم من ذلك، أن أنظمة تصنيف التقاطع ترتبط ارتباطًا وثيقًا (وغالبًا ما تصف بدقة) خصائص التطبيع لمصطلحات λ تحت اختزال β .

في لغات البرمجة، مثل TypeScript [ 5 ] و Scala [ 6 ] ، يتم استخدام أنواع التقاطع للتعبير عن تعدد الأشكال المخصص .

تاريخ

كان ماريو كوبو، وماريانجيولا ديزاني-سيانكاغليني ، وباتريك ساليه، وغاريل بوتينجر روادًا في مجال أنواع التقاطع . [ 2 ] [ 7 ] [ 8 ] وكان الدافع الأساسي هو دراسة الخصائص الدلالية (مثل التطبيع ) لحساب λ باستخدام نظرية الأنواع . [ 9 ] في حين أن العمل الأولي الذي قام به كوبو وديزاني قد أرسا توصيفًا نظريًا للأنواع للتطبيع القوي لحساب λ[ 2 ] قام بوتينجر بتوسيع هذا التوصيف ليشمل حساب λ K. [ 7 ] بالإضافة إلى ذلك، ساهم ساليه بمفهوم النوع الشامل.ω{\displaystyle \omega }يمكن إسناد ذلك إلى أي حد λ ، وبالتالي يتوافق مع التقاطع الفارغ. [ 8 ] باستخدام النوع العامω{\displaystyle \omega }سمح ذلك بإجراء تحليل دقيق لتطبيع الرأس، والتطبيع، والتطبيع القوي. [ 10 ] بالتعاون مع هينك باريندريخت ، تم تقديم نموذج مرشح λ لنظام نوع التقاطع، مما يربط أنواع التقاطع بشكل أوثق بدلالات حساب λ .

بسبب التوافق مع التطبيع، فإن قابلية تحديد النوع في أنظمة أنواع التقاطع اللانهائية غير قابلة للتقرير . ومع ذلك، فإن تقييد أنواع التقاطع برتبة محدودة يجعل قابلية تحديد نوعها قابلة للتقرير لأي رتبة محدودة، وهو ما يتناقض مع النظام F ، حيث لا تزال قيود (المكمّمات) على الرتب المحدودة التي تزيد عن 3 غير قابلة للتقرير. [ 11 ] من ناحية أخرى، إذا أُضيفت أنواع تكرارية إلى نظام يحتوي على أنواع تقاطع من الرتبة 2 أو أعلى، فإن قابلية تحديد النوع تصبح غير قابلة للتقرير بشكل عام. [ 12 ]

بالإضافة إلى ذلك، أثبت باويل أورزيتشين عدم قابلية حل المسألة الثنائية المتعلقة بسكن النوع في أنظمة أنواع التقاطع البارزة. [ 13 ] لاحقًا، تم تحسين هذه النتيجة بإظهار اكتمال الفضاء الأسي لسكن النوع من التقاطع من الرتبة 2 وعدم قابلية حل سكن النوع من التقاطع من الرتبة 3. [ 14 ] والجدير بالذكر أن سكن النوع الرئيسي قابل للحل في وقت متعدد الحدود . [ 15 ]

لمعالجة صعوبات تطبيق تطابق كاري-هاورد على أنواع التقاطع، استبدل كاماريدين وويلز مُنشئ التقاطع في نظام الاستدلال بتصريحات المجموعة المحدودة (FSD) لنطاق كل متغير في تجريد لامدا، محولين إياها إلى أنواع Π . وقاما بتوسيع مكعب لامدا إلى ما أسمياه مكعب f، الذي يحتوي على أنواع تقاطع مشفرة بـ FSD عند جميع رؤوسه. مصطلح أورزيتشين U ، غير القابل للتحديد في مكعب لامدا، قابل للتحديد في مكعب f. [ 16 ]

نظام تعيين الأنواع كوبو-ديزاني

نظام تعيين أنواع كوبو -ديزاني(قرص مضغوط){\displaystyle (\vdash _{\text{CD}})}[ 2 ] يوسّع حساب التفاضل والتكامل λ البسيط من خلال السماح بافتراض أنواع متعددة لمتغير الحد.

لغة المصطلحات

مصطلح لغة(قرص مضغوط){\displaystyle (\vdash _{\text{CD}})}يتم تحديدها بواسطة حدود λ (أو تعبيرات لامدا ):

م،شمال::=x|(λx.م)|(مشمال) أين x نطاقات على متغيرات المصطلح{\displaystyle {\begin{aligned}M,N&::=x\mid (\lambda x.\!M)\mid (M\;N)&&{\text{ حيث }}x{\text{ يتراوح على متغيرات الحد}}\\\end{aligned}}}

لغة الكتابة

لغة النوع لـ(قرص مضغوط){\displaystyle (\vdash _{\text{CD}})}يتم تعريفها استقرائياً من خلال القواعد النحوية التالية:

φ::=α|σφ أين α نطاقات على متغيرات النوعσ::=φ1φن أين ن1{\displaystyle {\begin{aligned}\varphi &::=\alpha \mid \sigma \to \varphi &&{\text{ حيث }}\alpha {\text{ تتراوح على متغيرات النوع}}\\\sigma &::=\varphi _{1}\cap \cdots \cap \varphi _{n}&&{\text{ حيث }}n\geq 1\end{aligned}}}

مُنشئ نوع التقاطع ({\displaystyle \cap }) يتم أخذها بشرط التجميعية والتبديلية والتكرارية .

قواعد الكتابة

قواعد الكتابة(أنا){\displaystyle (\to \!\!{\text{I}})}،(هـ){\displaystyle (\to \!\!{\text{E}})}،(أنا){\displaystyle (\cap {\text{I}})}، و(هـ){\displaystyle (\cap {\text{E}})}ل(قرص مضغوط){\displaystyle (\vdash _{\text{CD}})}نكون:

Γ،x:σقرص مضغوطم:φΓقرص مضغوطλx.م:σφ(أنا)Γقرص مضغوطم:σφΓقرص مضغوطشمال:σΓقرص مضغوطمشمال:φ(هـ)Γقرص مضغوطم:φ1...Γقرص مضغوطم:φنΓقرص مضغوطم:φ1φن(أنا)(1أنان)Γ،x:φ1φنقرص مضغوطx:φأنا(هـ){\displaystyle {\begin{array}{cc}{\dfrac {\Gamma ,x:\sigma \vdash _{\text{CD}}M:\varphi }{\Gamma \vdash _{\text{CD}}\lambda x.\!M:\sigma \to \varphi }}(\to \!\!{\text{I}})&{\dfrac {\Gamma \vdash _{\text{CD}}M:\sigma \to \varphi \quad \Gamma \vdash _{\text{CD}}N:\sigma }{\Gamma \vdash _{\text{CD}}M\;N:\varphi }}(\to \!\!{\text{E}})\\\\{\dfrac {\Gamma \vdash _{\text{CD}}M:\varphi _{1}\quad \ldots \quad \Gamma \vdash _{\text{CD}}M:\varphi _{n}}{\Gamma \vdash _{\text{CD}}M:\varphi _{1}\cap \cdots \cap \varphi _{n}}}(\cap {\text{I}})&{\dfrac {(1\leq i\leq n)}{\Gamma ,x:\varphi _{1}\cap \cdots \cap \varphi _{n}\vdash _{\text{CD}}x:\varphi _{i}}}(\cap {\text{E}})\end{array}}}

ملكيات

ترتبط قابلية الكتابة والتطبيع ارتباطًا وثيقًا في(قرص مضغوط){\displaystyle (\vdash _{\text{CD}})}بالخصائص التالية: [ 2 ]

  • اختزال الموضوع : إذاΓقرص مضغوطم:σ{\displaystyle \Gamma \vdash _{\text{CD}}M:\sigma }ومβشمال{\displaystyle M\to _{\beta }N}، ثمΓقرص مضغوطشمال:σ{\displaystyle \Gamma \vdash _{\text{CD}}N:\sigma }.
  • التطبيع : إذاΓقرص مضغوطم:σ{\displaystyle \Gamma \vdash _{\text{CD}}M:\sigma }، ثمم{\displaystyle M}له شكل طبيعي من النوع β .
  • قابلية تحديد أنواع الحدود λ ذات التطبيع القوي : إذام{\displaystyle M}إذا كان التطبيع قويًا ،Γقرص مضغوطم:σ{\displaystyle \Gamma \vdash _{\text{CD}}M:\sigma }بالنسبة للبعضΓ{\displaystyle \Gamma }وσ{\displaystyle \sigma }.
  • توصيف عملية التطبيع λ I :م{\displaystyle M}يكون له شكل طبيعي في حساب التفاضل والتكامل λإذا وفقط إذاΓقرص مضغوطم:σ{\displaystyle \Gamma \vdash _{\text{CD}}M:\sigma }بالنسبة للبعضΓ{\displaystyle \Gamma }وσ{\displaystyle \sigma }.

إذا تم توسيع لغة النوع لتشمل التقاطع الفارغ، أيσ=φ1φن أين ن=0{\displaystyle \sigma =\varphi _{1}\cap \cdots \cap \varphi _{n}{\text{ حيث }}n=0}، ثم(قرص مضغوط){\displaystyle (\vdash _{\text{CD}})}مغلق تحت المساواة β وهو سليم وكامل لدلالات الاستدلال. [ 17 ]

نظام تخصيص النوع Barendregt-Coppo-Dezani

نظام تخصيص النوع Barendregt -Coppo-Dezani(BCD){\displaystyle (\vdash _{\text{BCD}})}يوسع نظام تعيين الأنواع Coppo–Dezani في الجوانب الثلاثة التالية: [ 3 ]

  • (BCD){\displaystyle (\vdash _{\text{BCD}})}يقدم ثابت النوع العامω{\displaystyle \omega }(على غرار التقاطع الفارغ) الذي يمكن تعيينه لأي حد λ .
  • (BCD){\displaystyle (\vdash _{\text{BCD}})}يسمح بمنشئ نوع التقاطع(){\displaystyle (\cap )}ليظهر على الجانب الأيمن من مُنشئ نوع السهم(){\displaystyle (\to )}.
  • (BCD){\displaystyle (\vdash _{\text{BCD}})}يقدم هذا المقال تصنيف الأنواع الفرعية للتقاطع(){\displaystyle (\leq )}الترتيب الجزئي على الأنواع مع قاعدة الكتابة المقابلة.

لغة المصطلحات

مصطلح لغة(BCD){\displaystyle (\vdash _{\text{BCD}})}يتم تحديدها بواسطة حدود λ (أو تعبيرات لامدا ):

م،شمال::=x|(λx.م)|(مشمال) أين x نطاقات على متغيرات المصطلح{\displaystyle {\begin{aligned}M,N&::=x\mid (\lambda x.\!M)\mid (M\;N)&&{\text{ حيث }}x{\text{ يتراوح على متغيرات الحد}}\\\end{aligned}}}

لغة الكتابة

لغة النوع لـ(BCD){\displaystyle (\vdash _{\text{BCD}})}يتم تعريفها استقرائياً من خلال القواعد النحوية التالية:

σ،τ::=α|ω|στ|στ أين α نطاقات على متغيرات النوع{\displaystyle {\begin{aligned}\sigma ,\tau &::=\alpha \mid \omega \mid \sigma \to \tau \mid \sigma \cap \tau &&{\text{ حيث }}\alpha {\text{ يتراوح على متغيرات النوع}}\end{aligned}}}

تصنيف أنواع التقاطع

تصنيف أنواع التقاطع(){\displaystyle (\leq )}يُعرَّف بأنه أصغر ترتيب جزئي ( علاقة انعكاسية ومتعدية ) على أنواع التقاطع التي تحقق الخصائص التالية:

σω،ωωω،στσ،σττ،(στ1)(στ2)στ1τ2،لو στ1 و στ2، ثم στ1τ2،لو σ2σ1 و τ1τ2، ثم σ1τ1σ2τ2{\displaystyle {\begin{aligned}&\sigma \leq \omega ,\quad \omega \leq \omega \to \omega ,\quad \sigma \cap \tau \leq \sigma ,\quad \sigma \cap \tau \leq \tau ,\\&(\sigma \to \tau _{1})\cap (\sigma \to \tau _{2})\leq \sigma \to \tau _{1}\cap \tau _{2},\\&{\text{if }}\sigma \leq \tau _{1}{\text{ and }}\sigma \leq \tau _{2}{\text{, then }}\sigma \leq \tau _{1}\cap \tau _{2},\\&{\text{if }}\sigma _{2}\leq \sigma _{1}{\text{ and }}\tau _{1}\leq \tau _{2}{\text{, then }}\sigma _{1}\to \tau _{1}\leq \sigma _{2}\to \tau _{2}\end{aligned}}}

يمكن تحديد نوع التقاطع الفرعي في وقت تربيعي. [ 18 ]

قواعد الكتابة

قواعد الكتابة(أنا){\displaystyle (\to \!\!{\text{I}})}،(هـ){\displaystyle (\to \!\!{\text{E}})}،(أنا){\displaystyle (\cap {\text{I}})}،(){\displaystyle (\leq )}،(أ){\displaystyle ({\text{A}})}، و(ω){\displaystyle (\omega )}ل(BCD){\displaystyle (\vdash _{\text{BCD}})}نكون:

Γ،x:σBCDم:τΓBCDλx.م:στ(أنا)ΓBCDم:στΓBCDشمال:σΓBCDمشمال:τ(هـ)ΓBCDم:σΓBCDم:τΓBCDم:στ(أنا)ΓBCDم:σ(στ)ΓBCDم:τ()Γ،x:σBCDx:σ(أ)ΓBCDم:ω(ω){\displaystyle {\begin{array}{cc}{\dfrac {\Gamma ,x:\sigma \vdash _{\text{BCD}}M:\tau }{\Gamma \vdash _{\text{BCD}}\lambda x.\!M:\sigma \to \tau }}(\to \!\!{\text{I}})&{\dfrac {\Gamma \vdash _{\text{BCD}}M:\sigma \to \tau \quad \Gamma \vdash _{\text{BCD}}N:\sigma }{\Gamma \vdash _{\text{BCD}}M\;N:\tau }}(\to \!\!{\text{E}})\\\\{\dfrac {\Gamma \vdash _{\text{BCD}}M:\sigma \quad \Gamma \vdash _{\text{BCD}}M:\tau }{\Gamma \vdash _{\text{BCD}}M:\sigma \cap \tau }}(\cap {\text{I}})&{\dfrac {\Gamma \vdash _{\text{BCD}}M:\sigma \quad (\sigma \leq \tau )}{\Gamma \vdash _{\text{BCD}}M:\tau }}(\leq )\\\\{\dfrac {}{\Gamma ,x:\sigma \vdash _{\text{BCD}}x:\sigma }}({\text{A}})&{\dfrac {}{\Gamma \vdash _{\text{BCD}}M:\omega }}(\omega )\end{array}}}

ملكيات

  • الدلالات :(BCD){\displaystyle (\vdash _{\text{BCD}})}سليم وكامل فيما يتعلق بنموذج مرشح λ ، حيث يتطابق تفسير مصطلح λ مع مجموعة الأنواع التي يمكن إسنادها إليه. [ 3 ]
  • اختزال الموضوع : إذاΓBCDم:σ{\displaystyle \Gamma \vdash _{\text{BCD}}M:\sigma }ومβشمال{\displaystyle M\to _{\beta }N}، ثمΓBCDشمال:σ{\displaystyle \Gamma \vdash _{\text{BCD}}N:\sigma }[ 3 ]
  • توسيع الموضوع : إذاΓBCDشمال:σ{\displaystyle \Gamma \vdash _{\text{BCD}}N:\sigma }ومβشمال{\displaystyle M\to _{\beta }N}، ثمΓBCDم:σ{\displaystyle \Gamma \vdash _{\text{BCD}}M:\sigma }[ 3 ]
  • توصيف التطبيع القوي :م{\displaystyle M}يكون التطبيع قويًا فيما يتعلق باختزال بيتا ، إذا وفقط إذاΓBCDم:σ{\displaystyle \Gamma \vdash _{\text{BCD}}M:\sigma }يمكن استنتاجه بدون قاعدة(ω){\displaystyle (\omega )}بالنسبة للبعضΓ{\displaystyle \Gamma }وσ{\displaystyle \sigma }[ 19 ]
  • الأزواج الرئيسية (المعروفة أيضًا باسم "التصنيفات الرئيسية" [ 20 ] ): إذام{\displaystyle M}إذا كانت عملية التطبيع قوية، فإنه يوجد زوج رئيسي(Γ،σ){\displaystyle (\Gamma ,\sigma )}بحيث يكون ذلك مناسبًا لأي عملية كتابةΓBCDم:σ{\displaystyle \Gamma '\vdash _{\text{BCD}}M:\sigma '}الزوجان(Γ،σ){\displaystyle (\Gamma ',\sigma ')}يمكن الحصول عليها من الزوج الرئيسي(Γ،σ){\displaystyle (\Gamma ,\sigma )}عن طريق توسيعات الأنواع، والرفع، والاستبدالات. [ 21 ]

مراجع

  1. ^ هينك باريندريجت. ويل ديكرز؛ ريتشارد ستاتمان (20 يونيو 2013). حساب التفاضل والتكامل لامدا مع الأنواع . مطبعة جامعة كامبريدج. ص  1 –. رقم ISBN 978-0-521-76614-2.
  2. 1 2 3 4 5 كوبو، ماريو؛ ديزاني-سيانكاغليني، ماريانجيولا (1980). "توسيع لنظرية الوظائف الأساسية لحساب لامدا " . مجلة نوتردام للمنطق الصوري . 21 (4): 685-693 . doi : 10.1305/ndjfl/1093883253 . S2CID 29748788 . 
  3. 1 2 3 4 5 باريندريخت، هينك؛ كوبو، ماريو؛ ديزاني-سيانكاغليني، ماريانجيولا (1983). "نموذج لامدا المرشح واكتمال تعيين النوع". مجلة المنطق الرمزي . 48 (4): 931-940 . doi : 10.2307/2273659 . JSTOR 2273659. S2CID 45660117 .  
  4. فان باكل، ستيفن (2011). "أنواع التقاطع الصارمة لحساب لامدا". مجلة ACM Computing Surveys . 43 (3): 20:1–20:49. CiteSeerX 10.1.1.310.2166 . doi : 10.1145/1922649.1922657 . S2CID 5537689 .  
  5. "أنواع التقاطع في TypeScript" . تم الاطلاع عليه بتاريخ 2019-08-01 .
  6. "أنواع المركبات في سكالا" . تم الاطلاع عليه بتاريخ 2019-08-01 .
  7. 1 2 بوتينجر، ج. (1980). تعيين نوع للمصطلحات λ القابلة للتطبيع بقوة . إلى إتش بي كاري: مقالات في المنطق التوافقي، وحساب لامدا، والشكلية، 561-577.
  8. 1 2 كوبو، ماريو؛ ديزاني-سيانكاغليني، ماريانجيولا؛ ساليه، باتريك (1979). "التوصيف الوظيفي لبعض المتساويات الدلالية داخل حساب لامدا". في هيرمان أ. ماورر (محرر). الأوتوماتا واللغات والبرمجة، الندوة السادسة، غراتس، النمسا، 16-20 يوليو 1979، وقائع . المجلد 71. سبرينغر. الصفحات 133-146 . doi : 10.1007/3-540-09510-1_11 . ISBN   3-540-09510-1.
  9. ^ كوبو، ماريو. ديزاني-سيانكاجليني، ماريانجيولا (1978). “تخصيص نوع جديد لمصطلحات lect ”. أرشيف المنطق الرياضي و Grundlagenforschung . 19 (1): 139-156 . دوى : 10.1007 / BF02011875 . S2CID 206809924 . 
  10. كوبو، ماريو؛ ديزاني-سيانكاغليني، ماريانجيولا؛ فينيري، بيتي (1981). "الخصائص الوظيفية للمصطلحات القابلة للحل". مجلة المنطق الرياضي الفصلية . 27 ( 2-6 ): 45-58 . doi : 10.1002/malq.19810270205 .
  11. كفوري، أ. ج.؛ ويلز، ج. ب. (يناير 2004). "استدلال المبدأ والنوع لأنواع التقاطع باستخدام متغيرات التوسع". علوم الحاسوب النظرية : 1-70 .
  12. تيراوتشي، ت.، أيكن، أ.: حول قابلية الكتابة لأنواع التقاطع من الرتبة 2 مع الاستدعاء الذاتي متعدد الأشكال. في: LICS، جمعية IEEE للحاسبات (2006) ص 111-122
  13. أورزيتشين، باويل (1999). " مشكلة الفراغ لأنواع التقاطع". مجلة المنطق الرمزي . 64 (3): 1195-1215 . doi : 10.2307/2586625 . JSTOR 2586625. S2CID 36979036 .  
  14. أورزيتشين، باويل (2009). "سكن أنواع التقاطع منخفضة الرتبة". المؤتمر الدولي حول حسابات لامدا المكتوبة وتطبيقاتها . TLCA 2009. المجلد 5608. سبرينغر. الصفحات 356-370 . doi : 10.1007/978-3-642-02273-9_26 . ISBN   978-3-642-02272-2.
  15. دودنهيفنر، أندريه؛ ريهوف، جاكوب (2019). "الأولوية والتقريب في ظل القيود البُعدية". وقائع مؤتمر ACM حول لغات البرمجة . POPL 2019. المجلد 3. ACM. الصفحات 8:1–8:29. doi : 10.1145/3290321 . ISSN 2475-1421 .   
  16. فيروز ديب قمر الدين، جو ويلز "أنواع التقاطع عبر تعريفات المجموعات المنتهية" https://arxiv.org/pdf/2405.00440 مؤتمر WoLLIC 2024
  17. فان باكل، ستيفن (1992). "القيود الكاملة لتخصص نوع التقاطع". علوم الحاسوب النظرية . 102 (1): 135-163 . CiteSeerX 10.1.1.310.903 . doi : 10.1016/0304-3975(92)90297-S . 
  18. دودنهيفنر، أندريه؛ مارتنز، موريتز؛ ريهوف، جاكوب (2017). "مشكلة توحيد أنواع التقاطع الجبري". الأساليب المنطقية في علوم الحاسوب . 13 (3). arXiv : 1611.05672 . doi : 10.23638/LMCS-13(3:9)2017 . S2CID 31640337 . 
  19. غيلزان، سيلفيا (1996). "التطبيع القوي وقابلية الكتابة مع أنواع التقاطع" . مجلة نوتردام للمنطق الصوري . 37 (1): 44-52 . doi : 10.1305/ndjfl/1040067315 .
  20. ويلز، جيه بي (2003). "جوهر التصنيفات الرئيسية". ICALP '02: وقائع الندوة الدولية التاسعة والعشرين حول الأوتوماتا واللغات والبرمجة . ص 913-925 . 
  21. ^ رونشي ديلا روكا، سيمونا؛ فينيري ، بيتي (1983). “مخططات النوع الرئيسي لنظرية النوع الموسعة” . علوم الكمبيوتر النظرية . 28 ((1-2))): 151– 169. دوى : 10.1016/0304-3975(83)90069-5 .