الجبر الابتدائي

في الرياضيات ، الجبر الأولي هو كائن أولي في فئة الجبر F لدالة داخلية معينة F. توفر هذه البداية إطارًا عامًا للاستقراء والتكرار .

أمثلة

الدالة 1 + (−)

لنفترض الدالة الداخلية 1 + (−) ، أي F  : SetSet التي تُرسل X إلى 1 + X ، حيث 1 هي مجموعة أحادية النقطة ( مجموعة مفردة ) ، وهي عنصر نهائي في الفئة. جبر هذه الدالة الداخلية هو مجموعة X (تُسمى حامل الجبر) مع دالة f : (1 + X ) → X. تعريف هذه الدالة يُعادل تعريف نقطة xX ودالة XX. 

صفر:1شمال*0{\displaystyle {\begin{aligned}\operatorname {zero} \colon 1&\longrightarrow \mathbf {N} \\*&\longmapsto 0\end{aligned}}}

و

نجاح:شمالشمالنن+1.{\displaystyle {\begin{aligned}\operatorname {succ} \colon \mathbf {N} &\longrightarrow \mathbf {N} \\n&\longmapsto n+1.\end{aligned}}}

إذن، تُشكّل المجموعة N من الأعداد الطبيعية مع الدالة [zero,succ]: 1 + NN جبرًا أوليًا على F. ولا يصعب إثبات خاصية البداية ( الخاصية العامة في هذه الحالة)؛ فالتشاكل الوحيد إلى أي جبر على F ( A , [ e , f ]) ، حيث e : 1 → A عنصر من A و f : AA دالة على A ، هو الدالة التي تُرسل العدد الطبيعي n إلى f n ( e ) ، أي f ( f (…( f ( e ))…)) ، وهو تطبيق f على e من الرتبة n .

مجموعة الأعداد الطبيعية هي حاملة للجبر الأولي لهذا المؤثر: النقطة هي الصفر والدالة هي دالة الخلف .

الدالة 1 + N × (−)

كمثال ثانٍ، لننظر إلى الدالة الداخلية 1 + N × (−) على فئة المجموعات، حيث N هي مجموعة الأعداد الطبيعية. جبر هذه الدالة الداخلية هو مجموعة X مع دالة 1 + N × XX. لتعريف هذه الدالة، نحتاج إلى نقطة xX ودالة N × XX. مجموعة القوائم المنتهية للأعداد الطبيعية هي جبر ابتدائي لهذه الدالة. النقطة هي القائمة الفارغة، والدالة هي cons ، تأخذ عددًا وقائمة منتهية، وتعيد قائمة منتهية جديدة يبدأ كل عنصر منها بالعدد.

في الفئات ذات المنتجات الثنائية المشتركة ، تكون التعريفات المذكورة للتو مكافئة للتعريفات المعتادة لكائن العدد الطبيعي وكائن القائمة ، على التوالي.

الجبر المشترك النهائي

وبالمثل ، فإن الجبر المشترك النهائي هو كائن نهائي في فئة الجبر المشترك F. وتوفر هذه النهائية إطارًا عامًا للاستقراء المشترك والتكرار المشترك .

على سبيل المثال، باستخدام نفس الدالة 1 + (−) كما في السابق، تُعرَّف الجبر المشترك على أنه مجموعة X مع دالة f  : X → (1 + X ) . تعريف هذه الدالة يُعادل تعريف دالة جزئية f' : XX التي يتكون مجالها من تلكxX{\displaystyle x\in X}حيث لا تنتمي f ( x ) إلى 1. بوجود مثل هذا الهيكل، يمكننا تعريف سلسلة من المجموعات: X₀ وهي مجموعة جزئية من X لا تُعرَّف عليها f، و X₁ التي تُسقط عناصرها على X₀ بواسطة f ، وX₂ التي تُسقط عناصرها على X₁ بواسطة f ، وهكذا، و التي تحتوي على العناصر المتبقية من X. بناءً على ذلك ، فإن المجموعةشمال{ω}{\displaystyle \mathbf {N} \cup \{\أوميغا \}}، التي تتكون من مجموعة الأعداد الطبيعية الموسعة بعنصر جديد ω ، هي حاملة الجبر المشترك النهائي، حيثو{\displaystyle f'}هي دالة السلف (معكوس دالة الخلف) على الأعداد الطبيعية الموجبة، ولكنها تعمل كدالة محايدة على العنصر الجديد ω : f ( n + 1) = n ، f ( ω ) = ω . هذه المجموعةشمال{ω}{\displaystyle \mathbf {N} \cup \{\أوميغا \}}يُعرف حامل الجبر المشترك النهائي لـ 1 + (−) باسم مجموعة الأعداد الطبيعية المشتركة.

كمثال ثانٍ، لننظر إلى نفس الدالة 1 + N × (−) كما في السابق. في هذه الحالة، يتكون حامل الجبر المشترك النهائي من جميع قوائم الأعداد الطبيعية، سواء كانت منتهية أو غير منتهية . العمليات هي دالة اختبار تتحقق مما إذا كانت القائمة فارغة، ودالة تفكيك معرفة على القوائم غير الفارغة تُرجع زوجًا يتكون من رأس وذيل قائمة الإدخال.

النظريات

  • الجبر الأولي يكون بسيطًا (أي أنه لا يحتوي على جبر فرعي مناسب).
  • الجبر المشترك النهائي بسيط (أي ليس له نواتج قسمة صحيحة).

الاستخدام في علوم الحاسوب

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

للحصول على نوع List( A ) من القوائم التي تكون عناصرها أعضاء في المجموعة A ، ضع في اعتبارك أن عمليات تكوين القوائم هي:

  • نأنال:1لأناsت(أ){\displaystyle \mathrm {nil} \colon 1\to \mathrm {List} (A)}
  • جoنs:أ×لأناsت(أ)لأناsت(أ){\displaystyle \mathrm {cons} \colon A\times \mathrm {List} (A)\to \mathrm {List} (A)}

وعند دمجها في دالة واحدة، فإنها تعطي:

  • [نأنال،جoنs]:(1+أ×لأناsت(أ))لأناsت(أ)،{\displaystyle [\mathrm {nil} ,\mathrm {cons} ]\colon (1+A\times \mathrm {List} (A))\to \mathrm {List} (A)،}

وهذا ما يجعل هذا جبرًا من النوع F للدالة الداخلية F التي تُرسل X إلى 1 + ( A × X ) . وهو في الواقع جبر F الابتدائي . وتُحدد الابتدائيية بواسطة الدالة المعروفة باسم foldr في لغات البرمجة الوظيفية مثل Haskell و ML .

وبالمثل، يمكن الحصول على الأشجار الثنائية التي تحتوي على عناصر في الأوراق كجبر أولي

  • [تأناص،جoأنان]:أ+(تيرهـهـ(أ)×تيرهـهـ(أ))تيرهـهـ(أ).{\displaystyle [\mathrm {tip} ,\mathrm {join} ]\colon A+(\mathrm {Tree} (A)\times \mathrm {Tree} (A))\to \mathrm {Tree} (A).}

تُعرف الأنواع التي يتم الحصول عليها بهذه الطريقة باسم أنواع البيانات الجبرية .

يمكن اعتبار الأنواع المعرفة باستخدام بنية النقطة الثابتة الصغرى مع الدالة F بمثابة جبر F أولي ، بشرط أن تتحقق خاصية المعلمات للنوع. [ 1 ]

توجد علاقة مماثلة، من جانبين، بين مفهومي النقطة الثابتة العظمى والجبر المشترك النهائي F ، مع تطبيقات على الأنواع الاستقرائية المشتركة . يمكن استخدام هذه الأنواع للسماح بوجود كائنات لا نهائية محتملة مع الحفاظ على خاصية التطبيع القوي . [ 1 ] في لغة برمجة Charity ذات التطبيع القوي (حيث ينتهي كل برنامج)، يمكن استخدام أنواع البيانات الاستقرائية المشتركة لتحقيق نتائج مذهلة، مثل تعريف بنيات البحث لتنفيذ دوال "قوية" كدالة أكرمان . [ 2 ]

انظر أيضاً

ملحوظات

  1. 1 2 فيليب وادلر: أنواع متكررة مجاناً! جامعة غلاسكو، يوليو 1990. مسودة.
  2. روبن كوكت : أفكار خيرية ( ps.gz )