الجبر الابتدائي
في الرياضيات ، الجبر الأولي هو كائن أولي في فئة الجبر F لدالة داخلية معينة F. توفر هذه البداية إطارًا عامًا للاستقراء والتكرار .
أمثلة
الدالة 1 + (−)
لنفترض الدالة الداخلية 1 + (−) ، أي F : Set → Set التي تُرسل X إلى 1 + X ، حيث 1 هي مجموعة أحادية النقطة ( مجموعة مفردة ) ، وهي عنصر نهائي في الفئة. جبر هذه الدالة الداخلية هو مجموعة X (تُسمى حامل الجبر) مع دالة f : (1 + X ) → X. تعريف هذه الدالة يُعادل تعريف نقطة x ∈ X ودالة X → X.
و
إذن، تُشكّل المجموعة N من الأعداد الطبيعية مع الدالة [zero,succ]: 1 + N → N جبرًا أوليًا على F. ولا يصعب إثبات خاصية البداية ( الخاصية العامة في هذه الحالة)؛ فالتشاكل الوحيد إلى أي جبر على F ( A , [ e , f ]) ، حيث e : 1 → A عنصر من A و f : A → A دالة على A ، هو الدالة التي تُرسل العدد الطبيعي n إلى f n ( e ) ، أي f ( f (…( f ( e ))…)) ، وهو تطبيق f على e من الرتبة n .
مجموعة الأعداد الطبيعية هي حاملة للجبر الأولي لهذا المؤثر: النقطة هي الصفر والدالة هي دالة الخلف .
الدالة 1 + N × (−)
كمثال ثانٍ، لننظر إلى الدالة الداخلية 1 + N × (−) على فئة المجموعات، حيث N هي مجموعة الأعداد الطبيعية. جبر هذه الدالة الداخلية هو مجموعة X مع دالة 1 + N × X → X. لتعريف هذه الدالة، نحتاج إلى نقطة x ∈ X ودالة N × X → X. مجموعة القوائم المنتهية للأعداد الطبيعية هي جبر ابتدائي لهذه الدالة. النقطة هي القائمة الفارغة، والدالة هي cons ، تأخذ عددًا وقائمة منتهية، وتعيد قائمة منتهية جديدة يبدأ كل عنصر منها بالعدد.
في الفئات ذات المنتجات الثنائية المشتركة ، تكون التعريفات المذكورة للتو مكافئة للتعريفات المعتادة لكائن العدد الطبيعي وكائن القائمة ، على التوالي.
الجبر المشترك النهائي
وبالمثل ، فإن الجبر المشترك النهائي هو كائن نهائي في فئة الجبر المشترك F. وتوفر هذه النهائية إطارًا عامًا للاستقراء المشترك والتكرار المشترك .
على سبيل المثال، باستخدام نفس الدالة 1 + (−) كما في السابق، تُعرَّف الجبر المشترك على أنه مجموعة X مع دالة f : X → (1 + X ) . تعريف هذه الدالة يُعادل تعريف دالة جزئية f' : X ⇸ X التي يتكون مجالها من تلكحيث لا تنتمي f ( x ) إلى 1. بوجود مثل هذا الهيكل، يمكننا تعريف سلسلة من المجموعات: X₀ وهي مجموعة جزئية من X لا تُعرَّف عليها f ′ ، و X₁ التي تُسقط عناصرها على X₀ بواسطة f ′ ، وX₂ التي تُسقط عناصرها على X₁ بواسطة f ′ ، وهكذا، و Xω التي تحتوي على العناصر المتبقية من X. بناءً على ذلك ، فإن المجموعة، التي تتكون من مجموعة الأعداد الطبيعية الموسعة بعنصر جديد ω ، هي حاملة الجبر المشترك النهائي، حيثهي دالة السلف (معكوس دالة الخلف) على الأعداد الطبيعية الموجبة، ولكنها تعمل كدالة محايدة على العنصر الجديد ω : f ( n + 1) = n ، f ( ω ) = ω . هذه المجموعةيُعرف حامل الجبر المشترك النهائي لـ 1 + (−) باسم مجموعة الأعداد الطبيعية المشتركة.
كمثال ثانٍ، لننظر إلى نفس الدالة 1 + N × (−) كما في السابق. في هذه الحالة، يتكون حامل الجبر المشترك النهائي من جميع قوائم الأعداد الطبيعية، سواء كانت منتهية أو غير منتهية . العمليات هي دالة اختبار تتحقق مما إذا كانت القائمة فارغة، ودالة تفكيك معرفة على القوائم غير الفارغة تُرجع زوجًا يتكون من رأس وذيل قائمة الإدخال.
النظريات
- الجبر الأولي يكون بسيطًا (أي أنه لا يحتوي على جبر فرعي مناسب).
- الجبر المشترك النهائي بسيط (أي ليس له نواتج قسمة صحيحة).
الاستخدام في علوم الحاسوب
يمكن الحصول على العديد من هياكل البيانات المحدودة المستخدمة في البرمجة ، مثل القوائم والأشجار ، كجبر ابتدائي لوظائف داخلية محددة. ورغم وجود عدة جبر ابتدائي لوظيفة داخلية معينة، إلا أنها فريدة حتى التماثل ، مما يعني ببساطة أن الخصائص " القابلة للملاحظة" لهيكل البيانات يمكن تمثيلها بدقة من خلال تعريفها كجبر ابتدائي.
للحصول على نوع List( A ) من القوائم التي تكون عناصرها أعضاء في المجموعة A ، ضع في اعتبارك أن عمليات تكوين القوائم هي:
وعند دمجها في دالة واحدة، فإنها تعطي:
وهذا ما يجعل هذا جبرًا من النوع F للدالة الداخلية F التي تُرسل X إلى 1 + ( A × X ) . وهو في الواقع جبر F الابتدائي . وتُحدد الابتدائيية بواسطة الدالة المعروفة باسم foldr في لغات البرمجة الوظيفية مثل Haskell و ML .
وبالمثل، يمكن الحصول على الأشجار الثنائية التي تحتوي على عناصر في الأوراق كجبر أولي
تُعرف الأنواع التي يتم الحصول عليها بهذه الطريقة باسم أنواع البيانات الجبرية .
يمكن اعتبار الأنواع المعرفة باستخدام بنية النقطة الثابتة الصغرى مع الدالة F بمثابة جبر F أولي ، بشرط أن تتحقق خاصية المعلمات للنوع. [ 1 ]
توجد علاقة مماثلة، من جانبين، بين مفهومي النقطة الثابتة العظمى والجبر المشترك النهائي F ، مع تطبيقات على الأنواع الاستقرائية المشتركة . يمكن استخدام هذه الأنواع للسماح بوجود كائنات لا نهائية محتملة مع الحفاظ على خاصية التطبيع القوي . [ 1 ] في لغة برمجة Charity ذات التطبيع القوي (حيث ينتهي كل برنامج)، يمكن استخدام أنواع البيانات الاستقرائية المشتركة لتحقيق نتائج مذهلة، مثل تعريف بنيات البحث لتنفيذ دوال "قوية" كدالة أكرمان . [ 2 ]
انظر أيضاً
ملحوظات
روابط خارجية
- البرمجة الفئوية مع الأنواع الاستقرائية والاستقرائية المشتركة بقلم فارمو فيني
- أنواع البيانات المتكررة مجاناً! بقلم فيليب وادلر، جامعة غلاسكو، 1990-2014.
- دلالات الجبر الابتدائي والجبر المشترك النهائي للتزامن، بقلم جيه جيه إم إم روتن ودي. توري
- البداية والنهاية من كليكي
- مترجمون نهائيون بدون علامات مكتوبة، بقلم أوليغ كيسليوف
- نظرية الفئات
- البرمجة الوظيفية
- نظرية الأنواع
