حساب التفاضل والتكامل اللامدا المكتوب ببساطة

حساب التفاضل والتكامل لامدا المكتوب ببساطة ( λ{\displaystyle \lambda ^{\to }}) ، وهو شكل من أشكال نظرية الأنواع ، هو تفسير مكتوب لحساب لامدا مع مُنشئ نوع واحد فقط({\displaystyle \to }( الذي يبني أنواع الدوال ). وهو المثال النموذجي والأبسط لحساب لامدا المكتوب. وقد قدم ألونسو تشيرش حساب لامدا المكتوب البسيط في الأصل عام 1940 كمحاولة لتجنب الاستخدام المتناقض لحساب لامدا غير المكتوب . [ 1 ]

يُستخدم مصطلح " النوع البسيط" أيضًا للإشارة إلى امتدادات حساب لامدا ذي النوع البسيط، والتي تتضمن بنيات مثل الضرب ، والضرب المشترك ، والأعداد الطبيعية ( النظام T )، أو حتى الاستدعاء الذاتي الكامل (مثل PCF ). في المقابل، لا تُعتبر الأنظمة التي تُدخل أنواعًا متعددة الأشكال (مثل النظام F ) أو أنواعًا تابعة (مثل الإطار المنطقي ) ذات نوع بسيط . وتظل الأنواع البسيطة، باستثناء الاستدعاء الذاتي الكامل، تُعتبر بسيطة لأن ترميز Church لهذه البنى يُمكن إجراؤه باستخدام فقط{\displaystyle \to }ومتغيرات النوع المناسبة، بينما لا يمكن ذلك مع تعدد الأشكال والتبعية.

بناء الجملة

في ثلاثينيات القرن العشرين، سعى ألونسو تشيرش إلى استخدام المنهج اللوجستي : [ أ ] يتألف حساب لامدا الخاص به ، كلغة رسمية قائمة على التعبيرات الرمزية، من سلسلة لا نهائية قابلة للعد من البديهيات والمتغيرات، [ ب ] بالإضافة إلى مجموعة محدودة من الرموز الأولية، [ ج ] التي تدل على التجريد والنطاق، فضلاً عن أربعة ثوابت: النفي، والفصل، والتكميم الشامل، والاختيار على التوالي؛ [ د ] [ هـ ] وكذلك مجموعة محدودة من القواعد من الأول إلى السادس. تضمنت هذه المجموعة المحدودة من القواعد القاعدة الخامسة ( modus ponens) بالإضافة إلى القاعدتين الرابعة والسادسة للاستبدال والتعميم على التوالي. [ و ] تُعرف القواعد من الأول إلى الثالث باسم تحويلات ألفا وبيتا وإيتا في حساب لامدا. سعى تشيرش إلى استخدام اللغة الإنجليزية فقط كلغة نحوية (أي لغة ما وراء رياضية) لوصف التعبيرات الرمزية دون أي تفسيرات. [ ز ]

في عام 1940، استقر تشيرش على استخدام رمز سفلي للدلالة على النوع في التعبير الرمزي. [ ب ] في عرضه، استخدم تشيرش نوعين أساسيين فقط:o{\displaystyle o}بالنسبة إلى "نوع القضايا" وأنا{\displaystyle \iota }بالنسبة إلى "نوع الأفراد". النوعo{\displaystyle o}لا يحتوي على ثوابت مصطلحية، بينماأنا{\displaystyle \iota }يحتوي على حد ثابت واحد. غالبًا ما يكون حساب التفاضل والتكامل بنوع أساسي واحد فقط، عادةًo{\displaystyle o}، يُؤخذ في الاعتبار. الأحرف اليونانية السفليةα{\displaystyle \alpha }،β{\displaystyle \beta }تشير الرموز ⁠ ، إلخ. إلى متغيرات النوع؛ والرموز ذات الفهرس السفلي بين قوسين(αβ){\displaystyle (\alpha \beta )}يشير إلى نوع الدالةβα{\displaystyle \beta \to \alpha }. استخدمت الكنيسة عام 1940 صفحة 58 كلمة "سهم " أو{\displaystyle \to }يشير الرمز ' إلى ، أو هو اختصار لـ . [ g ] بحلول سبعينيات القرن العشرين، كان يُستخدم رمز السهم المستقل؛ على سبيل المثال، في هذه المقالة، الرموز غير المُفهرسةσ{\displaystyle \sigma }وτ{\displaystyle \tau }يمكن أن تتنوع الأنواع. وقد تبين أن العدد اللانهائي من البديهيات هو نتيجة لتطبيق القواعد من الأول إلى السادس على الأنواع (انظر بديهيات بيانو ). بشكل غير رسمي، نوع الدالةστ{\displaystyle \sigma \to \tau }يشير إلى نوع الدوال التي، عند إعطائها مدخلات من النوع σ{\displaystyle \sigma } , إنتاج مخرج من النوعτ{\displaystyle \tau }بحسب العرف ،{\displaystyle \to }الزملاء على اليمين:στρ{\displaystyle \sigma \to \tau \to \rho }تُقرأ على النحو التالي :σ(τρ){\displaystyle \sigma \to (\tau \to \rho )} .

لتحديد الأنواع، مجموعة من الأنواع الأساسية ،ب{\displaystyle B}يجب تعريفها أولاً. تُسمى هذه الأنواع أحيانًا بالأنواع الذرية أو ثوابت الأنواع . بعد تحديد ذلك، تكون صيغة الأنواع كما يلي:

τ::=ττ|تيwحهـرهـتيب.{\displaystyle \tau \;{{:}{:=}}\;\tau \to \tau \mid T\quad \mathrm {where} \quad T\in B.}

على سبيل المثال ،ب={أ،ب}{\displaystyle B=\{a,b\}}، يُنشئ مجموعة لا نهائية من الأنواع تبدأ بـأ{\displaystyle a}،ب{\displaystyle b}،أأ{\displaystyle a\to a}،أب{\displaystyle a\to b}،بب{\displaystyle b\to b}،بأ{\displaystyle b\to a}،أ(أأ){\displaystyle a\to (a\to a)}...(بأ)(أب){\displaystyle (b\to a)\to (a\to b)}...

يتم تحديد مجموعة من الثوابت الحدية للأنواع الأساسية. على سبيل المثال، يمكن افتراض أن أحد الأنواع الأساسية هو nat ، وأن ثوابته الحدية قد تكون الأعداد الطبيعية.

إن بنية حساب التفاضل والتكامل اللامدا ذي النوع البسيط هي في الأساس بنية حساب التفاضل والتكامل اللامدا نفسه. المصطلحx:τ{\displaystyle x{\mathbin {:}}\tau }يشير إلى أن المتغيرx{\displaystyle x}من النوع τ{\displaystyle \tau } . مصطلح بناء الجملة، في شكل باكوس-ناور ، هو مرجع متغير ، أو تجريدات ، أو تطبيق ، أو ثابت :

هـ::=x|λx:τ.هـ|هـهـ|ج{\displaystyle e\;{{:}{:=}}\;x\mid \lambda x\mathbin {:} \tau .e\mid e\,e\mid c}

أينج{\displaystyle c}هو ثابت مصطلح. مرجع متغيرx{\displaystyle x}يكون مرتبطًا إذا كان داخل ربط تجريديx{\displaystyle x}. يكون الحد مغلقًا إذا لم تكن هناك متغيرات غير مقيدة.

بالمقارنة، فإن بناء جملة حساب التفاضل والتكامل اللامدا غير المصنف لا يحتوي على مثل هذا التصنيف أو ثوابت المصطلحات:

هـ::=x|λx.هـ|هـهـ{\displaystyle e\;{{:}{:=}}\;x\mid \lambda xe\mid e\,e}

بينما في حساب التفاضل والتكامل اللامدا المكتوب، يجب على كل تجريد (أي دالة) تحديد نوع وسيطه.

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

لتحديد مجموعة مصطلحات لامدا ذات النوع الصحيح لنوع معين، يتم تعريف علاقة كتابة بين المصطلحات والأنواع. أولاً، يتم تقديم سياقات الكتابة ، أو بيئات الكتابة.Γ،Δ،...{\displaystyle \Gamma ,\Delta ,\dots }وهي عبارة عن مجموعات من افتراضات تحديد النوع. يأخذ افتراض تحديد النوع الشكل التالي :x:σ{\displaystyle x{\mathbin {:}}\sigma }، بمعنى متغيرx{\displaystyle x}لديه نوع σ{\displaystyle \sigma } .

علاقة الكتابةΓهـ:σ{\displaystyle \Gamma \vdash e{\mathbin {:}}\sigma }يشير إلى أنهـ{\displaystyle e}هو مصطلح من نوعσ{\displaystyle \sigma }في السياقΓ{\displaystyle \Gamma }في هذه الحالةهـ{\displaystyle e}يقال إنه ذو كتابة جيدة (يمتلك نوع σ{\displaystyle \sigma }تُسمى حالات علاقة التصنيف أحكام التصنيف . وتُثبت صحة حكم التصنيف بتقديم استنتاج تصنيفي ، مُنشأ باستخدام قواعد التصنيف (حيث تسمح لنا المقدمات أعلاه باستنتاج النتيجة أدناه). يستخدم حساب لامدا المُصنَّف ببساطة هذه القواعد : [ h ]

x:σΓΓx:σ{\displaystyle {\frac {x{\mathbin {:}}\sigma \in \Gamma }{\Gamma \vdash x{\mathbin {:}}\sigma }}}(1)ج ثابت من النوع تيΓج:تي{\displaystyle {\frac {c{\text{ is a constant of type }}T}{\Gamma \vdash c{\mathbin {:}}T}}}(2)
Γ،x:σهـ:τΓ(λx:σ. هـ):(στ){\displaystyle {\frac {\Gamma ,x{\mathbin {:}}\sigma \vdash e{\mathbin {:}}\tau }{\Gamma \vdash (\lambda x{\mathbin {:}}\sigma .~e){\mathbin {:}}(\sigma \to \tau )}}}(3)Γهـ1:στΓهـ2:σΓهـ1 هـ2:τ{\displaystyle {\frac {\Gamma \vdash e_{1}{\mathbin {:}}\sigma \to \tau \quad \Gamma \vdash e_{2}{\mathbin {:}}\sigma }{\Gamma \vdash e_{1}~e_{2}{\mathbin {:}}\tau }}}(4)

بالكلمات،

  1. لوx{\displaystyle x}له نوعσ{\displaystyle \sigma }في هذا السياق، إذنx{\displaystyle x}لديه نوع σ{\displaystyle \sigma } .
  2. تحتوي الثوابت الحدية على الأنواع الأساسية المناسبة.
  3. إذا، في سياق معين معx{\displaystyle x}النوعσ{\displaystyle \sigma }،هـ{\displaystyle e}لديه نوع τ{\displaystyle \tau }ثم ، في السياق نفسه بدونx{\displaystyle x}،λx:σ. هـ{\displaystyle \lambda x{\mathbin {:}}\sigma .~e}لديه نوعστ{\displaystyle \sigma \to \tau } .
  4. إذا، في سياق معين،هـ1{\displaystyle e_{1}}لديه نوع στ{\displaystyle \sigma \to \tau }، وهـ2{\displaystyle e_{2}}لديه نوع σ{\displaystyle \sigma }ثمهـ1 هـ2{\displaystyle e_{1}~e_{2}}لديه نوع τ{\displaystyle \tau } .

أمثلة على المصطلحات المغلقة، أي المصطلحات التي يمكن كتابتها في السياق الفارغ، هي:

  • لكل نوعτ{\displaystyle \tau }مصطلحλx:τ.x:ττ{\displaystyle \lambda x{\mathbin {:}}\tau .x{\mathbin {:}}\tau \to \tau }( دالة الهوية / مُركِّب الهوية)،
  • للأنواعσ،τ{\displaystyle \sigma ,\tau }مصطلحλx:σ.λy:τ.x:στσ{\displaystyle \lambda x{\mathbin {:}}\sigma .\lambda y{\mathbin {:}}\tau .x{\mathbin {:}}\sigma \to \tau \to \sigma }(المُركِّب K)، و
  • للأنواعτ،τ،τ"{\displaystyle \tau ,\tau ',\tau ''}مصطلحλx:τττ".λy:ττ.λz:τ.xz(yz):(τττ")(ττ)ττ"{\displaystyle \lambda x{\mathbin {:}}\tau \to \tau '\to \tau ''.\lambda y{\mathbin {:}}\tau \to \tau '.\lambda z{\mathbin {:}}\tau .xz(yz):(\tau \to \tau '\to \tau '')\to (\tau \to \tau ')\to \tau \to \tau ''}(المُركِّب S).

هذه هي تمثيلات حساب التفاضل والتكامل اللامدا المكتوبة للمجموعات الأساسية للمنطق التوافقي .

كل نوعτ{\displaystyle \tau }يتم تخصيص أمر ورقم لهo(τ){\displaystyle o(\tau )}بالنسبة للأنواع الأساسية ،o(تي)=0{\displaystyle o(T)=0}بالنسبة لأنواع الدوال ،o(στ)=الأعلى(o(σ)+1،o(τ)){\displaystyle o(\sigma \to \tau )={\mbox{max}}(o(\sigma )+1,o(\tau ))}أي أن ترتيب نوع ما يقيس عمق السهم المتداخل الأيسر. ومن ثم:

o(أناأناأنا)=1{\displaystyle o(\iota \to \iota \to \iota )=1}
o((أناأنا)أنا)=2{\displaystyle o((\iota \to \iota )\to \iota )=2}

علم الدلالة

التفسيرات الجوهرية مقابل التفسيرات الخارجية

بشكل عام، توجد طريقتان مختلفتان لإضفاء معنى على حساب لامدا ذي النوع البسيط، كما هو الحال في اللغات ذات الأنواع بشكل عام، وتُسمى هذه الطرق بأسماء مختلفة مثل الدلالة الجوهرية مقابل الدلالة الخارجية، أو الدلالة الوجودية مقابل الدلالة الدلالية، أو طريقة تشيرش مقابل طريقة كاري. [ 1 ] [ 7 ] [ 8 ] تُضفي الدلالة الجوهرية معنىً فقط على المصطلحات ذات الأنواع المحددة جيدًا، أو بتعبير أدق، تُضفي معنىً مباشرةً على اشتقاقات الأنواع. ويترتب على ذلك أن المصطلحات التي تختلف فقط في تصنيفات الأنواع يمكن مع ذلك أن تُعطى معاني مختلفة. على سبيل المثال، مصطلح الهويةλx:أنانت. x{\displaystyle \lambda x{\mathbin {:}}{\mathtt {int}}.~x}حول الأعداد الصحيحة ومصطلح الهويةλx:بooل. x{\displaystyle \lambda x{\mathbin {:}}{\mathtt {bool}}.~x}قد تحمل عبارات " على القيم المنطقية" معاني مختلفة. (التفسيرات الكلاسيكية المقصودة هي دالة التطابق على الأعداد الصحيحة ودالة التطابق على القيم المنطقية). في المقابل، تُسند الدلالات الخارجية معنىً للمصطلحات بغض النظر عن نوعها، كما لو كانت تُفسَّر في لغة غير مُصنَّفة. من هذا المنظور،λx:أنانت. x{\displaystyle \lambda x{\mathbin {:}}{\mathtt {int}}.~x}وλx:بooل. x{\displaystyle \lambda x{\mathbin {:}}{\mathtt {bool}}.~x}يعني نفس الشيء (أي نفس الشيء مثل λx. x{\displaystyle \lambda x.~x}) .

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

النظرية المعادلة

تتمتع حسابات لامدا البسيطة (STLC) بنفس النظرية المعادلة لتكافؤ βη كما في حسابات لامدا غير المُصنفة ، ولكنها تخضع لقيود النوع. معادلة اختزال بيتا [ i ]

(λx:σ. ت)u=βت[x:=u]{\displaystyle (\lambda x{\mathbin {:}}\sigma .~t)\,u=_{\beta }t[x:=u]}

ينطبق في السياقΓ{\displaystyle \Gamma }حينماΓ،x:σت:τ{\displaystyle \Gamma ,x{\mathbin {:}}\sigma \vdash t{\mathbin {:}}\tau }وΓu:σ{\displaystyle \Gamma \vdash u{\mathbin {:}}\sigma }، بينما معادلة اختزال إيتا [ j ]

λx:σ. تx=ηت{\displaystyle \lambda x{\mathbin {:}}\sigma .~t\,x=_{\eta }t}

كلماΓت:στ{\displaystyle \Gamma \vdash t{:}\sigma \to \tau }وx{\displaystyle x}لا يظهر مجاناً فيت{\displaystyle t}تتمثل ميزة حساب التفاضل والتكامل اللامدا المكتوب في أن STLC يسمح بتقصير العمليات الحسابية التي قد لا تنتهي (أي تقليلها ). [ 9 ]

الدلالات التشغيلية

وبالمثل، يمكن تثبيت الدلالات التشغيلية لحساب التفاضل والتكامل اللامدا ذي النوع البسيط كما هو الحال بالنسبة لحساب التفاضل والتكامل اللامدا غير المُحدد النوع، باستخدام الاستدعاء بالاسم ، أو الاستدعاء بالقيمة ، أو استراتيجيات التقييم الأخرى . وكما هو الحال في أي لغة مُحددة النوع، فإن سلامة النوع خاصية أساسية لجميع استراتيجيات التقييم هذه. بالإضافة إلى ذلك، تشير خاصية التطبيع القوي الموضحة أدناه إلى أن أي استراتيجية تقييم ستنتهي عند جميع المصطلحات ذات النوع البسيط. [ 10 ]

الدلالات الفئوية

حساب لامدا البسيط المُعزز بأنواع المنتجات، وعوامل الاقتران والإسقاط (معβη{\displaystyle \beta \eta }تُعدّ التكافؤ (μ) اللغة الداخلية للفئات المغلقة الديكارتية (CCCs)، كما لاحظ يواكيم لامبيك لأول مرة . [ 11 ] في أي فئة مغلقة ديكارتية، تكون الأنواع الأساسية لحساب لامدا المقابل هي الكائنات ، والمصطلحات هي التشاكلات . وعلى العكس، فإن حساب لامدا البسيط ذو الأنواع الضربية ومعاملات الاقتران على مجموعة من الأنواع الأساسية والمصطلحات المعطاة يُشكّل فئة مغلقة ديكارتية تكون كائناتها هي الأنواع، وتشاكلاتها هي فئات تكافؤ المصطلحات.

توجد قواعد كتابة للاقتران والإسقاط ووحدة الحد . بالنظر إلى حدينs:σ{\displaystyle s{\mathbin {:}}\sigma }وت:τ{\displaystyle t{\mathbin {:}}\tau }المصطلح(s،ت){\displaystyle (s,t)}لديه نوع σ×τ{\displaystyle \sigma \times \tau }وبالمثل ، إذا كان لدى المرء مصطلحu:τ1×τ2{\displaystyle u{\mathbin {:}}\tau _{1}\times \tau _{2}}ثم هناك مصطلحاتπ1(u):τ1{\displaystyle \pi _{1}(u){\mathbin {:}}\tau _{1}}وπ2(u):τ2{\displaystyle \pi _{2}(u){\mathbin {:}}\tau _{2}}حيثπأنا{\displaystyle \pi _{i}}تُطابق هذه القيم إسقاطات الضرب الديكارتي. يُكتب الحدّ الوحدوي ، من النوع 1، على النحو التالي:(){\displaystyle ()}والمُعَبَّر عنه بـ "لا شيء"، هو الكائن النهائي . ويتم توسيع نظرية المعادلات على نحو مماثل، بحيث يكون لدى المرء

π1(s:σ،ت:τ)=s:σ{\displaystyle \pi _{1}(s{\mathbin {:}}\sigma ,t{\mathbin {:}}\tau )=s{\mathbin {:}}\sigma }
π2(s:σ،ت:τ)=ت:τ{\displaystyle \pi _{2}(s{\mathbin {:}}\sigma ,t{\mathbin {:}}\tau )=t{\mathbin {:}}\tau }
(π1(u:σ×τ)،π2(u:σ×τ))=u:σ×τ{\displaystyle (\pi _{1}(u{\mathbin {:}}\sigma \times \tau ),\pi _{2}(u{\mathbin {:}}\sigma \times \tau ))=u{\mathbin {:}}\sigma \times \tau }
ت:1=(){\displaystyle t{\mathbin {:}}1=()}

يُقرأ هذا الأخير على النحو التالي: " إذا كان t من النوع 1، فإنه يختزل إلى nil ".

يمكن تحويل ما سبق إلى فئة من خلال اعتبار الأنواع بمثابة الكائنات .στ{\displaystyle \sigma \to \tau }هي فئات تكافؤ للأزواج(x:σ،ت:τ){\displaystyle (x{\mathbin {:}}\sigma ,t{\mathbin {:}}\tau )}حيث x متغير (من النوع σ{\displaystyle \sigma }) و t هو مصطلح (من النوعτ{\displaystyle \tau }) ، لا تحتوي على متغيرات حرة، باستثناء (اختياريًا) x . مجموعة المصطلحات في اللغة هي إغلاق هذه المجموعة من المصطلحات تحت عمليتي التجريد والتطبيق .

يمكن توسيع هذا التوافق ليشمل "التشابهات اللغوية" والدوال بين فئة الفئات المغلقة الديكارتية وفئة نظريات لامدا المكتوبة ببساطة.

يمكن توسيع جزء من هذا التوافق ليشمل الفئات الأحادية المتناظرة المغلقة باستخدام نظام نوع خطي .

الدلالات القائمة على نظرية البرهان

يرتبط حساب لامدا البسيط ارتباطًا وثيقًا بالجزء الاستدلالي من المنطق الحدسي الافتراضي ، أي حساب القضايا الاستدلالي ، عبر تماثل كاري-هوارد : تتوافق المصطلحات بدقة مع البراهين في الاستدلال الطبيعي ، والأنواع المأهولة هي بالضبط التكرارات لهذا المنطق.

انطلاقًا من منهجه اللوجستي، وضع تشيرش عام 1940 [ 1 ] ص 58 مخططًا بديهيًا ، [ 1 ] ص 60، والذي قام هينكين عام 1949 [ 3 ] بتوسيعه بمجالات الأنواع (مثل الأعداد الطبيعية، والأعداد الحقيقية، إلخ). وصف هينكين عام 1996 ص 146 كيف يمكن لمنهج تشيرش اللوجستي أن يسعى إلى توفير أساس للرياضيات (حساب بيانو والتحليل الحقيقي)، [ 4 ] من خلال نظرية النماذج .

صيغ بديلة

إن العرض المذكور أعلاه ليس الطريقة الوحيدة لتحديد بنية حساب التفاضل والتكامل اللامدا البسيط.

مسح الكتابة

أحد البدائل هو إزالة تعليقات الأنواع تمامًا (بحيث يكون بناء الجملة مطابقًا لحساب لامدا غير المُصنَّف)، مع ضمان تصنيف المصطلحات بشكل صحيح عبر استنتاج نوع هيندلي-ميلنر . خوارزمية الاستنتاج نهائية وسليمة وكاملة: فكلما كان المصطلح قابلاً للتصنيف، تحسب الخوارزمية نوعه. وبشكل أدق، تحسب النوع الرئيسي للمصطلح ، نظرًا لأن المصطلح غير المُعلَّق (مثل λx. x{\displaystyle \lambda x.~x}قد يكون له أكثر من نوع واحد (أنانتأنانت{\displaystyle {\mathtt {int}}\to {\mathtt {int}}}،بooلبooل{\displaystyle {\mathtt {bool}}\to {\mathtt {bool}}}إلخ ، وهي جميعها أمثلة على النوع الرئيسيαα{\displaystyle \alpha \to \alpha }) .

التحقق من النوع ثنائي الاتجاه

ثمة عرض بديل آخر لحساب لامدا ذي الأنواع البسيطة يعتمد على التحقق ثنائي الاتجاه من الأنواع [ 12 ] ، والذي يتطلب عددًا أكبر من تعليقات الأنواع مقارنةً باستدلال هيندلي-ميلنر ، ولكنه أسهل في الوصف. ينقسم نظام الأنواع إلى حكمين، يمثلان كلاً من التحقق والتركيب ، مكتوبينΓهـτ{\displaystyle \Gamma \vdash e\Leftarrow \tau }وΓهـτ{\displaystyle \Gamma \vdash e\Rightarrow \tau }على التوالي. من الناحية التشغيلية، المكونات الثلاثةΓ{\displaystyle \Gamma }،هـ{\displaystyle e}، وτ{\displaystyle \tau }جميعها مدخلات لعملية التحقق من الحكمΓهـτ{\displaystyle \Gamma \vdash e\Leftarrow \tau }، في حين أن حكم التركيبΓهـτ{\displaystyle \Gamma \vdash e\Rightarrow \tau }لا يتطلب الأمر سوىΓ{\displaystyle \Gamma }وهـ{\displaystyle e}كمدخلات، مما ينتج النوعτ{\displaystyle \tau }كمخرجات. تُستخلص هذه الأحكام عبر القواعد التالية:

x:σΓΓxσ{\displaystyle {\frac {x{\mathbin {:}}\sigma \in \Gamma }{\Gamma \vdash x\Rightarrow \sigma }}}[1]ج ثابت من النوع تيΓجتي{\displaystyle {\frac {c{\text{ is a constant of type }}T}{\Gamma \vdash c\Rightarrow T}}}[2]
Γ،x:σهـτΓλx. هـστ{\displaystyle {\frac {\Gamma ,x{\mathbin {:}}\sigma \vdash e\Leftarrow \tau }{\Gamma \vdash \lambda x.~e\Leftarrow \sigma \to \tau }}}[3]Γهـ1στΓهـ2σΓهـ1 هـ2τ{\displaystyle {\frac {\Gamma \vdash e_{1}\Rightarrow \sigma \to \tau \quad \Gamma \vdash e_{2}\Leftarrow \sigma }{\Gamma \vdash e_{1}~e_{2}\Rightarrow \tau }}}[4]
ΓهـτΓهـτ{\displaystyle {\frac {\Gamma \vdash e\Rightarrow \tau }{\Gamma \vdash e\Leftarrow \tau }}}[5]ΓهـτΓ(هـ:τ)τ{\displaystyle {\frac {\Gamma \vdash e\Leftarrow \tau }{\Gamma \vdash (e{\mathbin {:}}\tau )\Rightarrow \tau }}}[6]

لاحظ أن القواعد من [1] إلى [4] تكاد تكون متطابقة مع القواعد من (1) إلى (4) المذكورة أعلاه ، باستثناء الاختيار الدقيق لأحكام التحقق أو التركيب. ويمكن تفسير هذه الاختيارات على النحو التالي:

  1. لوx:σ{\displaystyle x{\mathbin {:}}\sigma }في هذا السياق، يمكننا توليف النوعσ{\displaystyle \sigma }لـx{\displaystyle x} .
  2. أنواع ثوابت المصطلحات ثابتة ويمكن تركيبها.
  3. للتأكد من ذلكλx. هـ{\displaystyle \lambda x.~e}له نوعστ{\displaystyle \sigma \to \tau }في بعض السياقات، نقوم بتوسيع السياق بـx:σ{\displaystyle x{\mathbin {:}}\sigma }وتأكد من ذلكهـ{\displaystyle e}لديه نوع τ{\displaystyle \tau } .
  4. لوهـ1{\displaystyle e_{1}}يُركّب النوعστ{\displaystyle \sigma \to \tau }(في سياق معين)، وهـ2{\displaystyle e_{2}}التحقق من النوعσ{\displaystyle \sigma }(في السياق نفسه)، إذنهـ1 هـ2{\displaystyle e_{1}~e_{2}}يُركّب النوعτ{\displaystyle \tau } .

لاحظ أن قواعد التركيب تُقرأ من الأعلى إلى الأسفل، بينما تُقرأ قواعد التحقق من الأسفل إلى الأعلى. لاحظ تحديدًا أننا لسنا بحاجة إلى أي شرح إضافي على تجريد لامدا في القاعدة [3]، لأنه يمكن استنتاج نوع المتغير المُقيد من النوع الذي نتحقق عنده من الدالة. أخيرًا، نشرح القاعدتين [5] و[6] كما يلي:

  1. للتأكد من ذلكهـ{\displaystyle e}لديه نوع τ{\displaystyle \tau }يكفي توليف النوعτ{\displaystyle \tau } .
  2. لوهـ{\displaystyle e}التحقق من النوعτ{\displaystyle \tau }ثم المصطلح المشروح صراحةً(هـ:τ){\displaystyle (e{\mathbin {:}}\tau )}يُركّبτ{\displaystyle \tau } .

بسبب هاتين القاعدتين الأخيرتين اللتين تربطان بين التركيب والتحقق، يتضح بسهولة أنه يمكن التحقق من أي مصطلح مكتوب بشكل صحيح ولكنه غير مُعَلَّم في النظام ثنائي الاتجاه، طالما أضفنا عددًا كافيًا من التعليقات التوضيحية للأنواع. وفي الواقع، لا تُطلب التعليقات التوضيحية إلا عند اختزال المصطلحات إلى β.

ملاحظات عامة

بالنظر إلى الدلالات القياسية، فإن حساب لامدا ذو النوع البسيط هو حساب معياري قوي : كل سلسلة من عمليات الاختزال تنتهي في النهاية. [ 10 ] هذا لأن قواعد النوع لا تسمح بالاستدعاء الذاتي: من المستحيل إيجاد أنواع للمُركِّبات ذات النقطة الثابتة وحد التكرار .Ω=(λx. x x)(λx. x x){\displaystyle \Omega =(\lambda x.~x~x)(\lambda x.~x~x)}يمكن إضافة خاصية الاستدعاء الذاتي إلى اللغة إما عن طريق وجود عامل تشغيل خاص .وأناxα{\displaystyle {\mathtt {fix}}_{\alpha }}من النوع(αα)α{\displaystyle (\alpha \to \alpha )\to \alpha }أو إضافة أنواع تكرارية عامة ، على الرغم من أن كليهما يلغي التطبيع القوي.

على عكس حساب لامدا غير المُصنَّف، فإن حساب لامدا المُصنَّف ببساطة ليس كاملاً تورينجياً . جميع البرامج في حساب لامدا المُصنَّف ببساطة تتوقف. أما في حساب لامدا غير المُصنَّف، فهناك برامج لا تتوقف، فضلاً عن عدم وجود إجراء قرار عام يُمكنه تحديد ما إذا كان البرنامج سيتوقف أم لا.

نتائج مهمة

  • أظهر تيت في عام 1967 أنβ{\displaystyle \beta }يُعدّ الاختزال عملية تطبيع قوية . [ 10 ] وكنتيجة لذلكβη{\displaystyle \beta \eta }التكافؤ قابل للتقرير . أثبت ستاتمان في عام 1979 أن مشكلة التطبيع غير أولية ، [ 13 ] وهو برهان بسّطه مايرسون لاحقًا. [ 14 ] من المعروف أن المشكلة تنتمي إلى المجموعةهـ4{\displaystyle {\mathcal {E}}^{4}}من التسلسل الهرمي لغريغورتشيك ، [ 15 ] وبشكل أدق، فهو كامل في فئة التعقيد المسماة TOWER . [ 16 ] قدم بيرغر وشفيتشتنبرغ برهانًا للتطبيع الدلالي البحت (انظر التطبيع بالتقييم ) في عام 1991. [ 17 ]
  • مشكلة التوحيد لـβη{\displaystyle \beta \eta }التكافؤ غير قابل للتقرير. أثبت هويه في عام 1973 أن التوحيد من الرتبة الثالثة غير قابل للتقرير [ 18 ] ، وقد حسّن باكستر هذا الإثبات في عام 1978 [ 19 ] ، ثم غولدفراب في عام 1981 [ 20 ] بإثبات أن التوحيد من الرتبة الثانية غير قابل للتقرير بالفعل. أعلن كولن ستيرلينغ في عام 2006 عن برهان على أن المطابقة من الرتب العليا (التوحيد الذي يحتوي فيه حد واحد فقط على متغيرات وجودية) قابلة للتقرير، ونُشر برهان كامل في عام 2009. [ 21 ]
  • يمكننا ترميز الأعداد الطبيعية باستخدام مصطلحات من النوع(oo)(oo){\displaystyle (o\to o)\to (o\to o)}( الأرقام الكنسية ). أظهر شفيتشتنبرغ في عام 1975 أنه فيλ{\displaystyle \lambda ^{\to }}يمكن تمثيل كثيرات الحدود الممتدة بالضبط كدوال على أرقام الكنيسة؛ [ 22 ] هذه هي تقريبًا كثيرات الحدود المغلقة تحت عامل شرطي.
  • نموذج كامل لـλ{\displaystyle \lambda ^{\to }}يُعطى ذلك بتفسير الأنواع الأساسية كمجموعات وأنواع الدوال بواسطة فضاء الدوال النظري للمجموعات . وقد أظهر فريدمان في عام 1975 أن هذا التفسير كامل لـβη{\displaystyle \beta \eta }التكافؤ، إذا تم تفسير الأنواع الأساسية بواسطة مجموعات غير منتهية. [ 23 ] أظهر ستاتمان في عام 1983 أنβη{\displaystyle \beta \eta }التكافؤ هو أقصى تكافؤ يكون عادةً غامضًا ، أي مغلقًا تحت استبدالات النوع ( نظرية ستاتمان للغموض النموذجي ). [ 24 ] ومن نتائج ذلك أن خاصية النموذج المحدود صحيحة، أي أن المجموعات المحدودة كافية لتمييز المصطلحات التي لا يتم تحديدها بواسطةβη{\displaystyle \beta \eta }التكافؤ.
  • قدّم بلوتكين العلاقات المنطقية عام 1973 لوصف عناصر النموذج التي يمكن تعريفها باستخدام مصطلحات لامدا. [ 25 ] وفي عام 1993، بيّن يونغ وتيورين أن شكلاً عاماً من العلاقات المنطقية (علاقات كريپكي المنطقية ذات الرتبة المتغيرة) يصف بدقة قابلية تعريف لامدا. [ 26 ] افترض بلوتكين وستاتمان أنه من الممكن تحديد ما إذا كان عنصر معين من نموذج مُولّد من مجموعات منتهية قابلاً للتعريف باستخدام مصطلح لامدا ( فرضية بلوتكين-ستاتمان ). وقد أثبت لودر خطأ هذه الفرضية عام 2001. [ 27 ]

ملحوظات

  1. ألونزو تشيرش (1956) مقدمة في المنطق الرياضي ص 47-68 [ 2 ]
  2. 1 2 تشير Church 1940، ص. 57 إلى المتغيرات باستخدام الرموز السفلية لأنواعها:أα،بα،...zα،...أ¯α،ب¯α،...z¯α،...{\displaystyle a_{\alpha },b_{\alpha },...z_{\alpha },...{\bar {a}}_{\alpha },{\bar {b}}_{\alpha },...{\bar {z}}_{\alpha },...}[ 1 ]
  3. ↑ تشير تشيرش 1940، ص 57: الرموز الأولية الثانية والثالثة المدرجة ( ) تدل على النطاق:λ،(،)،شمالoo،أooo،Πo(oα)،أناα(oα){\displaystyle \lambda ,(,),N_{oo},A_{ooo},\Pi _{o(o\alpha )},\iota _{\alpha (o\alpha )}}[ 1 ]
  4. 1 2 Church 1940, p.60:شمالoo،أooo،Πo(oα)،أناα(oα){\displaystyle N_{oo},A_{ooo},\Pi _{o(o\alpha )},\iota _{\alpha (o\alpha )}}هي أربعة ثوابت تدل على النفي، والفصل، والقياس الشامل، والاختيار على التوالي. [ 1 ]
  5. ^ الكنيسة 1940، ص.59 [ 1 ] هينكين 1949 ص.160؛ [ 3 ] هينكين 1996 ص 144 [ 4 ]
  6. تشيرش 1940، ص 57 [ 1 ]
  7. تشيرش 1940 ص.58 إلى 24 صيغة مختصرة. [ 1 ]
  8. يعرض هذا المقال 4 أحكام تتعلق بالكتابة أدناه ، بالكلمات.Γ{\displaystyle \Gamma }بيئة الكتابة . [ 5 ]
  9. الـ '=β{\displaystyle =_{\beta }}يشير الرمز ' إلى عملية إنتاج استبدال التعبير u بـ x، بالشكل t.
  10. الـ '=η{\displaystyle =_{\eta }}يشير الرمز ' إلى عملية إنتاج توسيع الشكل t المطبق على x.
  1. 1 2 3 4 5 6 7 8 9 10 تشيرش، ألونسو (يونيو 1940). "صياغة نظرية الأنواع البسيطة" ( ملف PDF) . مجلة المنطق الرمزي . 5 (2): 56-68 . doi : 10.2307/2266170 . JSTOR 2266170. S2CID 15889861. مؤرشف من الأصل (ملف PDF) في 12 يناير 2019.  
  2. تشيرش، ألونسو (1956) مقدمة في المنطق الرياضي
  3. 1 2 ليون هينكين (سبتمبر 1949) اكتمال حساب التفاضل والتكامل الوظيفي من الدرجة الأولى ص 160
  4. 1 2 ليون هينكين (يونيو 1996) اكتشاف براهين الكمال الخاصة بي
  5. التعلم الممتع: التعلم من أجل المتعة (آخر تحديث في 25 نوفمبر 2021، الساعة 14:00 بالتوقيت العالمي المنسق) فهم أحكام التصنيف
  6. بفينينغ، فرانك، تشيرش وكاري: الجمع بين الكتابة الجوهرية والخارجية (ملف PDF) ، ص 1 ، تم الاطلاع عليه في 26 فبراير 2022 
  7. كاري، هاسكل ب. (20 سبتمبر 1934). "الوظيفية في المنطق التوافقي" . وقائع الأكاديمية الوطنية للعلوم في الولايات المتحدة الأمريكية . 20 (11): 584-590 . Bibcode : 1934PNAS...20..584C . doi : 10.1073 / pnas.20.11.584 . ISSN 0027-8424 . PMC 1076489. PMID 16577644 .   (يقدم منطقًا توافقيًا مكتوبًا خارجيًا، تم تكييفه لاحقًا من قبل آخرين لحساب لامدا) [ 6 ]
  8. رينولدز، جون (1998). نظريات لغات البرمجة . كامبريدج، إنجلترا: مطبعة جامعة كامبريدج. ص 327، 334. ISBN  9780521594141.
  9. نورمان رامزي (ربيع 2019) استراتيجيات الاختزال لحساب لامدا
  10. 1 2 3 تايت، دبليو دبليو (أغسطس 1967). " التفسيرات القصدية للدوال من النوع الأول المحدود" . مجلة المنطق الرمزي . 32 (2): 198-212 . doi : 10.2307/2271658 . ISSN 0022-4812 . JSTOR 2271658. S2CID 9569863 .   
  11. لامبيك، ج. (1986). "الفئات المغلقة الديكارتية وحسابات لامدا المكتوبة" . التوافقات ولغات البرمجة الوظيفية . سلسلة محاضرات في علوم الحاسوب. المجلد 242. سبرينغر. الصفحات 136-175 . doi : 10.1007/3-540-17184-3_44 . ISBN   978-3-540-47253-7.
  12. دانفيلد، جانا؛ كريشناسوامي، نيل (30 يونيو 2022). "الكتابة ثنائية الاتجاه" . مجلة ACM Computing Surveys . 54 (5): 1–38 . arXiv : 1908.05839 . doi : 10.1145/3450952 . ISSN 0360-0300 . 
  13. ستاتمان، ريتشارد (1 يوليو 1979). "حساب لامدا المكتوب ليس تكراريًا أوليًا" . علوم الحاسوب النظرية . 9 (1): 73-81 . doi : 10.1016/0304-3975(79)90007-0 . hdl : 2027.42/23535 . ISSN 0304-3975 . 
  14. مايرسون، هاري ج. (14 سبتمبر 1992). "برهان بسيط لنظرية ستاتمان". علوم الحاسوب النظرية . 103 (2): 387-394 . doi : 10.1016/0304-3975(92)90020-G . ISSN 0304-3975 . 
  15. ستاتمان، ريتشارد (يوليو 1979). "حساب لامدا المكتوب ليس تكراريًا أوليًا" . علوم الحاسوب النظرية . 9 (1): 73-81 . doi : 10.1016/0304-3975(79)90007-0 . hdl : 2027.42/23535 . ISSN 0304-3975 . 
  16. نغوين، لي ثانه دونغ (2024-09-05). "التحويل البسيط المُنمّى هو TOWER-complete حتى بالنسبة لمصطلحات لامدا الآمنة" . الأساليب المنطقية في علوم الحاسوب . 20 (3) 11344. doi : 10.46298/lmcs-20(3:21)2024 . ISSN 1860-5974 . 
  17. بيرغر، يو.؛ شفيتشتنبرغ، هـ. (يوليو 1991). "معكوس دالة التقييم لحساب لامدا المكتوب" . [ 1991 ] وقائع الندوة السنوية السادسة لمعهد مهندسي الكهرباء والإلكترونيات حول المنطق في علوم الحاسوب . ص 203-211 . doi : 10.1109/LICS.1991.151645 . ISBN  0-8186-2230-X. S2CID 40441974 . 
  18. هويه، جيرار ب. (1 أبريل 1973). "عدم قابلية الحسم في التوحيد في منطق الرتبة الثالثة". المعلومات والتحكم . 22 (3): 257-267 . doi : 10.1016/S0019-9958(73)90301-X . ISSN 0019-9958 . 
  19. باكستر، لويس د. (1 أغسطس 1978). "عدم قابلية حسم مسألة التوحيد الثنائي من الدرجة الثالثة" . المعلومات والتحكم . 38 (2): 170-178 . doi : 10.1016/S0019-9958(78)90172-9 . ISSN 0019-9958 . 
  20. غولدفراب، وارن د. (1 يناير 1981). "عدم قابلية حسم مسألة التوحيد من الدرجة الثانية". علوم الحاسوب النظرية . 13 (2): 225-230 . doi : 10.1016/0304-3975(81)90040-2 . ISSN 0304-3975 . 
  21. ستيرلينغ، كولين (22 يوليو 2009). "قابلية الحسم في المطابقة من الرتبة العليا". الأساليب المنطقية في علوم الحاسوب . 5 (3) 757: 1-52 . arXiv : 0907.3804 . doi : 10.2168/LMCS-5(3:2)2009 . S2CID 1478837 . 
  22. ^ شويتشتنبرج ، هيلموت (1 سبتمبر 1975). "تحديد الوظائف imẫ-Kalkül mit Typen" . Archiv für mathematische Logik und Grundlagenforschung (باللغة الألمانية). 17 (3): 113-114 . دوى : 10.1007 / BF02276799 . ردمك 1432-0665 . S2CID 11598130 .  
  23. فريدمان، هارفي (1975). "المساواة بين الدوال" . ندوة المنطق . سلسلة محاضرات في الرياضيات. المجلد 453. سبرينغر. الصفحات 22-37 . doi : 10.1007/BFb0064870 . ISBN   978-3-540-07155-6.
  24. ستاتمان، ر. (1 ديسمبر 1983). "λ{\displaystyle \lambda }الدوال القابلة للتعريف وβη{\displaystyle \beta \eta }تحويل " . أرشيف für mathematische Logik und Grundlagenforschung . 23 (1): 21– 26. doi : 10.1007/BF02023009 . ISSN 1432-0665 . S2CID 33920306 .  
  25. بلوتكين، جي دي (1973). قابلية تعريف لامدا والعلاقات المنطقية (ملف PDF) (تقرير فني). جامعة إدنبرة . تم الاطلاع عليه بتاريخ 30 سبتمبر 2022 .
  26. يونغ، آخيم؛ تيورين، جيرزي (1993). "توصيف جديد لقابلية تعريف لامدا" . حسابات لامدا المكتوبة وتطبيقاتها . سلسلة محاضرات في علوم الحاسوب. المجلد 664. سبرينغر. الصفحات 245-257 . doi : 10.1007/BFb0037110 . ISBN   3-540-56517-5.
  27. لودر، رالف (2001). "عدم قابلية الحسم في قابلية تعريف λ" . المنطق، المعنى، والحوسبة . سبرينغر هولندا. ص 331-342 . doi : 10.1007/978-94-010-0526-5_15 . ISBN  978-94-010-3891-1.