Bunched logic

Bunched logic[1] is a variety of substructural logic proposed by Peter O'Hearn and David Pym. Bunched logic provides primitives for reasoning about resource composition, which aid in the compositional analysis of computer and other systems. It has category-theoretic and truth-functional semantics, which can be understood in terms of an abstract concept of resource, and a proof theory in which the contexts Γ in an entailment judgement Γ ⊢ A are tree-like structures (bunches) rather than lists or (multi)sets as in most proof calculi. Bunched logic has an associated type theory, and its first application was in providing a way to control the aliasing and other forms of interference in imperative programs.[2] The logic has seen further applications in program verification, where it is the basis of the assertion language of separation logic,[3] and in systems modelling, where it provides a way to decompose the resources used by components of a system.[4][5][6]

Foundations

The deduction theorem of classical logic relates conjunction and implication:

ABCiffABC{\displaystyle A\wedge B\vdash C\quad {\mbox{iff}}\quad A\vdash B\Rightarrow C}

Bunched logic has two versions of the deduction theorem:

ABCiffABCand alsoABCiffABC{\displaystyle A*B\vdash C\quad {\mbox{iff}}\quad A\vdash B{-\!\!*}C\qquad {\mbox{and also}}\qquad A\wedge B\vdash C\quad {\mbox{iff}}\quad A\vdash B\Rightarrow C}

AB{\displaystyle A*B} and BC{\displaystyle B{-\!\!*}C} are forms of conjunction and implication that take resources into account (explained below). In addition to these connectives bunched logic has a formula, sometimes written I or emp, which is the unit of *. In the original version of bunched logic {\displaystyle \wedge } and {\displaystyle \Rightarrow } were the connectives from intuitionistic logic, while a boolean variant takes {\displaystyle \wedge } and {\displaystyle \Rightarrow } (and ¬{\displaystyle \neg }) as from traditional boolean logic. Thus, bunched logic is compatible with constructive principles, but is in no way dependent on them.

Truth-functional semantics (resource semantics)

The easiest way to understand these formulae is in terms of its truth-functional semantics. In this semantics a formula is true or false with respect to given resources. AB{\displaystyle A*B} asserts that the resource at hand can be decomposed into resources that satisfy A{\displaystyle A} and B{\displaystyle B}. BC{\displaystyle B{-\!\!*}C} says that if we compose the resource at hand with additional resource that satisfies B{\displaystyle B}, then the combined resource satisfies C{\displaystyle C}. {\displaystyle \wedge } and {\displaystyle \Rightarrow } have their familiar meanings.

The foundation for this reading of formulae was provided by a forcing semantics rA{\displaystyle r\models A}طوّر بيم هذا المفهوم، حيث تعني علاقة الإجبار أن " أ يمتلك المورد ر " . يشابه هذا المفهوم دلالات كريپكي للمنطق الحدسي أو الموجه ، ولكن حيث تُعتبر عناصر النموذج موارد قابلة للتركيب والتفكيك، بدلاً من كونها عوالم ممكنة يمكن الوصول إليها من بعضها البعض. على سبيل المثال، تكون دلالات الإجبار للاقتران على الشكل التالي:

رأ*بإذارأرب.رأأ،ربب،ورأربر{\displaystyle r\models A*B\quad {\mbox{iff}}\quad \exists r_{A}r_{B}.\,r_{A}\models A,\,r_{B}\models B,\,{\mbox{and}}\,r_{A}\bullet r_{B}\leq r}

أينرأرب{\displaystyle r_{A}\bullet r_{B}}هي طريقة لدمج الموارد و{\displaystyle \leq }هي علاقة تقريبية.

تستند دلالات منطق التجميع هذه إلى أعمال سابقة في منطق الصلة (وخاصة الدلالات التشغيلية لروتلي-ماير)، ولكنها تختلف عنها بعدم اشتراطها ررر{\displaystyle r\bullet r\leq r}وذلك بقبول دلالات النسخ الحدسية أو الكلاسيكية القياسية لـ{\displaystyle \wedge }و{\displaystyle \Rightarrow }العقارررر{\displaystyle r\bullet r\leq r} يُعتبر ذلك مبرراً عند التفكير في مدى الصلة، ولكنه مرفوض بسبب اعتبارات الموارد؛ فامتلاك نسختين من مورد ما لا يعني بالضرورة امتلاك نسخة واحدة، وفي بعض النماذج (مثل نماذج الكومة ).رر{\displaystyle r\bullet r}قد لا يكون لها تعريف محدد. الدلالات القياسية لـ {\displaystyle \Rightarrow }(أو النفي) غالبًا ما يرفضه أصحاب المذهب ذي الصلة في محاولتهم للهروب من "مفارقات الاستلزام المادي"، التي لا تُمثل مشكلة من منظور موارد النمذجة، وبالتالي لا يرفضها المنطق المُجمّع. ترتبط الدلالات أيضًا بـ"دلالات الطور" للمنطق الخطي ، ولكنها تتميز مرة أخرى بقبول الدلالات القياسية (حتى المنطقية) لـ{\displaystyle \wedge }و{\displaystyle \Rightarrow }وهو ما يُرفض في المنطق الخطي في محاولةٍ للبناء. وقد نُوقشت هذه الاعتبارات بالتفصيل في مقالٍ حول دلالات الموارد من تأليف بيم وأوهيرن ويانغ. [ 7 ]

الدلالات الفئوية (الفئات المغلقة المزدوجة)

للصيغة المزدوجة لنظرية الاستنتاج في المنطق المجمّع بنيةٌ مقابلةٌ في نظرية الفئات. ويمكن تفسير البراهين في المنطق الحدسي في فئات ديكارتية مغلقة ، أي فئات ذات جداءات منتهية تحقق تناظر الاقتران ( الطبيعي في A و C ) الذي يربط بين مجموعات التماثل .

حoم(أب،ج)متماثل معحoم(أ،بج){\displaystyle Hom(A\wedge B,C)\quad {\mbox{متماثل مع}}\quad Hom(A,B\Rightarrow C)}

يمكن تفسير المنطق المجمع في فئات تمتلك بنيتين من هذا القبيل

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

يمكن تقديم مجموعة من النماذج التصنيفية باستخدام بناء داي لضرب الموتر . [ 8 ] بالإضافة إلى ذلك، تم إعطاء الجزء الاستلزامي من المنطق المجمع دلالات لعبة . [ 9 ]

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

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

النموذج الجبري للمنطق المجمع هو مجموعة مرتبة جزئياً تمثل جبر هيتينغ وتحمل بنية شبكية متبقية تبديلية إضافية (لنفس الشبكة الخاصة بجبر هيتينغ): أي، أحادي تبديلي مرتب مع استلزام مرتبط يحققأ*بجإذاأب-*ج{\displaystyle A*B\leq C\quad {\mbox{iff}}\quad A\leq B{-\!\!*}C}.

يحتوي الإصدار البولياني من المنطق المجمع على نماذج كما يلي.

النموذج الجبري للمنطق المجمع البولياني هو مجموعة مرتبة جزئياً تمثل جبرًا بوليانيًا وتحمل بنية أحادية تبديلية متبقية إضافية.

نظرية البرهان ونظرية الأنواع (مجموعات)

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

Γ،أبΓأ-*بΓ؛أبΓأب{\displaystyle {\frac {\Gamma ,A\vdash B}{\Gamma \vdash A{-\!\!*}B}}\qquad \qquad {\frac {\Gamma ;A\vdash B}{\Gamma \vdash A{\Rightarrow }B}}}

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

  • التركيب المضاعفΔ،Γ{\displaystyle \Delta ,\Gamma }ينكر القواعد الهيكلية للضعف والانكماش.
  • تركيبة مضافةΔ؛Γ{\displaystyle \Delta ;\Gamma } يسمح بإضعاف وانكماش الحزم بأكملها.

غالباً ما يتم تطبيق القواعد الهيكلية والعمليات الأخرى على المجموعات في عمق سياق الشجرة، وليس فقط على المستوى الأعلى: وبالتالي فهي بمعنى ما حساب للاستدلال العميق .

يُقابل منطق التجميع نظرية أنواع تحتوي على نوعين من أنواع الدوال . ووفقًا لتطابق كاري-هوارد ، فإن قواعد إدخال الاستلزام تُقابل قواعد إدخال أنواع الدوال.

Γ،x:أم:بΓλx.م:أ-*بΓ؛x:أم:بΓαx.م:أب{\displaystyle {\frac {\Gamma ,x:A\vdash M:B}{\Gamma \vdash \lambda xM:A{-\!\!*}B}}\qquad \qquad {\frac {\Gamma ;x:A\vdash M:B}{\Gamma \vdash \alpha xM:A{\Rightarrow }B}}}

يوجد هنا مجلدان مختلفان،λ{\displaystyle \lambda }وα{\displaystyle \alpha }واحد لكل نوع من أنواع الوظائف.

تستند نظرية إثبات المنطق التجميعي تاريخيًا إلى استخدام التجميعات في منطق الصلة. [ 10 ] ولكن يمكن اشتقاق البنية التجميعية، بمعنى ما، من الدلالات الفئوية والجبرية: لصياغة قاعدة إدخال لـ-*{\displaystyle {-\!\!*}}ينبغي أن نقلد*{\displaystyle *}على اليسار بالتسلسل، ولتقديم{\displaystyle \Rightarrow }ينبغي أن نقلد{\displaystyle \wedge }. هذا الاعتبار يؤدي إلى استخدام عاملين للدمج.

وقد قام جيمس براذرستون بعمل هام آخر على نظرية إثبات موحدة للمنطق المجمع ومتغيراته، [ 11 ] باستخدام مفهوم بيلناب لمنطق العرض . [ 12 ]

قدم كل من غالميش وميري وبيم معالجة شاملة للمنطق المجمع، بما في ذلك الاكتمال ونظرية ما وراء النظرية الأخرى، استنادًا إلى الجداول المصنفة . [ 13 ]

التطبيقات

التحكم في التداخل

في أول استخدامٍ لنظرية الأنواع البنيوية الفرعية للتحكم في الموارد، بيّن جون سي. رينولدز كيفية استخدام نظرية الأنواع الأفينية للتحكم في التداخل وأنواع أخرى من التداخل في لغات البرمجة الشبيهة بلغة ALGOL . [ 14 ] استخدم أوهيرن نظرية الأنواع المجمعة لتوسيع نظام رينولدز من خلال السماح بمزج التداخل وعدم التداخل بمرونة أكبر. [ 2 ] وقد حلّ هذا مشاكل مفتوحة تتعلق بالاستدعاء الذاتي والقفزات في نظام رينولدز.

منطق الفصل

منطق الفصل هو امتداد لمنطق هوار ، يُسهّل الاستدلال حول هياكل البيانات القابلة للتغيير التي تستخدم المؤشرات . وباتباع منطق هوار، تكون صيغ منطق الفصل على الشكل التالي: {Pرهـ}صرoزرأم{Posت}{\displaystyle \{ما قبل\}البرنامج\{ما بعد\}}لكن الشروط المسبقة واللاحقة عبارة عن صيغ تُفسَّر وفق نموذج منطق التجميع. وقد استندت النسخة الأصلية من هذا المنطق إلى نماذج على النحو التالي:

  • حهـأصs=لوV{\displaystyle Heaps=L\rightharpoonup _{f}V\qquad }( دوال جزئية محدودة من المواقع إلى القيم)
  • ح0ح1={\displaystyle h_{0}\bullet h_{1}=}اتحاد الأكوام ذات المجالات المنفصلة، ​​غير معرف عندما تتداخل المجالات.

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

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

{P1}ج1{سؤال1}{P2}ج2{سؤال2}{P1*P2}ج1ج2{سؤال1*سؤال2}$

يقسم ذلك مساحة التخزين التي يتم الوصول إليها بواسطة الخيوط المتوازية. [ 15 ]

لاحقًا، استُخدمت دلالات الموارد الأكثر عمومية: إذ يعمل إصدار مجرد من منطق الفصل مع ثلاثيات هوار حيث تكون الشروط المسبقة واللاحقة عبارة عن صيغ تُفسَّر على أحادي تبديلي جزئي عشوائي بدلًا من نموذج كومة محدد. [ 16 ] ومن خلال اختيار مناسب للأحادي التبديلي، وُجد بشكلٍ مفاجئ أنه يمكن استخدام قواعد إثبات الإصدارات المجردة من منطق الفصل المتزامن للاستدلال حول العمليات المتزامنة المتداخلة، على سبيل المثال عن طريق ترميز ضمان الاعتماد والاستدلال القائم على التتبع. [ 17 ] [ 18 ]

يُعد منطق الفصل أساسًا لعدد من الأدوات المستخدمة في الاستدلال التلقائي وشبه التلقائي حول البرامج، ويُستخدم في محلل البرامج Infer المُستخدم حاليًا في فيسبوك. [ 19 ]

الموارد والعمليات

تم استخدام المنطق المجمع بالاقتران مع حساب الموارد والعمليات (المتزامن) SCRP [ 4 ] [ 5 ] [ 6 ] من أجل إعطاء منطق (نمطي) يصف، بمعنى هينيسي - ميلنر ، البنية التركيبية للأنظمة المتزامنة.

تشتهر SCRP بقدرتها على تفسير...أ*ب{\displaystyle A*B}من حيث كل من التركيب المتوازي للأنظمة وتركيب مواردها المرتبطة بها. يؤكد البند الدلالي لمنطق عملية SCRP، الذي يتوافق مع قاعدة منطق الفصل للتزامن، أن الصيغةأ*ب{\displaystyle A*B}هذا صحيح في حالة الموارد والعملياتR{\displaystyle R}،هـ{\displaystyle E}تحسباً لأي تفكك محتمل للموردR=Sتي{\displaystyle R=S\bullet T}والمعالجة هـ{\displaystyle E}~F×جي{\displaystyle F\times G}حيث تشير ~ إلى التماثل الثنائي ، بحيثأ{\displaystyle A}ينطبق هذا على حالة الموارد والعملياتS{\displaystyle S}،F{\displaystyle F}وب{\displaystyle B}ينطبق هذا على حالة الموارد والعملياتتي{\displaystyle T}،جي{\displaystyle G}؛ إنهR،هـأ{\displaystyle R,E\models A}إذاS،Fأ{\displaystyle S,F\models A}وتي،جيب{\displaystyle T,G\models B}.

يعتمد نظام SCRP [ 4 ] [ 5 ] [ 6 ] مباشرةً على دلالات الموارد في المنطق المجمع؛ أي على أحاديات مرتبة لعناصر الموارد. ورغم أن هذا الخيار مباشر وجذاب بديهيًا، إلا أنه يُفضي إلى مشكلة تقنية محددة: إذ لا تنطبق نظرية هينيسي-ميلنر للاكتمال إلا على أجزاء من المنطق الموجه التي تستثني الاستلزام الضربي والطرائق الضربية. وقد حُلّت هذه المشكلة من خلال بناء حساب تفاضلي-عملية الموارد على دلالات موارد تُدمج فيها عناصر الموارد باستخدام مُركِّبين، أحدهما يُقابل التركيب المتزامن والآخر يُقابل الاختيار. [ 20 ]

المنطق المكاني

قام كارديلي، وكايرز، وغوردون، وآخرون بدراسة سلسلة من منطق حسابات العمليات، حيث يُفسَّر الاقتران من منظور التركيب المتوازي. وخلافًا لعمل بيم وآخرين في SCRP، فإنهم لا يُميّزون بين التركيب المتوازي للأنظمة وتركيب الموارد التي تصل إليها هذه الأنظمة.

تستند منطقاتهم إلى أمثلة من دلالات الموارد التي تُنتج نماذج من النوع البولياني للمنطق المُجمّع. ورغم أن هذه المنطقات تُنتج أمثلة من المنطق البولياني المُجمّع، إلا أنها تبدو وكأنها طُوّرت بشكل مستقل، وعلى أي حال، فهي تتضمن بنية إضافية هامة تتمثل في الوسائط والروابط. وقد اقتُرحت منطقات مشابهة لنمذجة بيانات XML .

انظر أيضاً

مراجع

  1. أوهيرن، بيتر؛ بيم، ديفيد (1999). "منطق الاستلزام المجمّع" (ملف PDF) . نشرة المنطق الرمزي . 5 (2): 215-244 . CiteSeerX 10.1.1.27.4742 . doi : 10.2307/421090 . JSTOR 421090. S2CID 2948552 .   
  2. 1 2 أوهيرن، بيتر (2003). "حول الكتابة المجمعة" (ملف PDF) . مجلة البرمجة الوظيفية . 13 (4): 747-796 . doi : 10.1017/S0956796802004495 .
  3. إشتياق، سامين؛ أوهيرن، بيتر (2001). "ذكاء الأعمال كلغة تأكيد لهياكل البيانات القابلة للتغيير" (ملف PDF) . إشعارات ACM SIGPLAN . العدد 28 (3): 14-26 . CiteSeerX 10.1.1.11.4925 . doi : 10.1145/373243.375719 . 
  4. 1 2 3 بايم، ديفيد؛ توفتس، كريس (2006). "حساب ومنطق الموارد والعمليات" (ملف PDF) . الجوانب الرسمية للحوسبة . 8 (4): 495-517 . doi : 10.1007/s00165-006-0018-z . S2CID 16623194 . 
  5. 1 2 3 كولينسون، ماثيو؛ بيم، ديفيد (2009). "الجبر والمنطق لنمذجة الأنظمة القائمة على الموارد". الهياكل الرياضية في علوم الحاسوب . 19 (5): 959-1027 . CiteSeerX 10.1.1.153.3899 . doi : 10.1017/S0960129509990077 . S2CID 14228156 .  
  6. 1 2 3 كولينسون، ماثيو؛ موناهان، برايان؛ بيم، ديفيد (2012). منهج في نمذجة الأنظمة الرياضية . لندن: منشورات الكلية. ISBN 978-1-904987-50-5.
  7. بايم، ديفيد؛ أوهيرن، بيتر؛ يانغ، هونغسوك (2004). "العوالم والموارد الممكنة: دلالات ذكاء الأعمال" . علوم الحاسوب النظرية . 315 (1): 257-305 . doi : 10.1016/j.tcs.2003.11.020 .
  8. داي، برايان (1970). "حول الفئات المغلقة للدوال" (ملف PDF) . تقارير ندوة الغرب الأوسط الرابعة حول الفئات . سلسلة محاضرات في الرياضيات. المجلد 137. سبرينغر. الصفحات 1-38 .  
  9. ماكوسكر، جاي؛ بيم، ديفيد (2007). "نموذج ألعاب للاستلزام المجمّع" (ملف PDF) . منطق علوم الحاسوب . سلسلة محاضرات في علوم الحاسوب. المجلد 4646. سبرينغر. 
  10. ريد، ستيفن (1989). المنطق ذو الصلة: دراسة فلسفية للاستدلال . وايلي-بلاك ويل.
  11. براذرستون، جيمس (2012). "عرض المنطق المجمع" (ملف PDF) . ستوديا لوجيكا . 100 (6): 1223-1254 . CiteSeerX 10.1.1.174.8777 . doi : 10.1007/s11225-012-9449-0 . S2CID 13634990 .  
  12. بيلناب، نويل (1982). "منطق العرض". مجلة المنطق الفلسفي . 11 (4): 375-417 . doi : 10.1007/BF00284976 . S2CID 41451176 . 
  13. ^ جالميش، ديدييه. ميري، دانيال. بيم، ديفيد (2005). “دلالات BI ولوحات الموارد”. الهياكل الرياضية في علوم الكمبيوتر . 15 (6): 1033-1088 . سايتسيركس 10.1.1.144.1421 . دوى : 10.1017/S0960129505004858 . S2CID 1700033 .  
  14. رينولدز، جون (1978). "التحكم النحوي في التداخل". وقائع الندوة الخامسة لجمعية ACM SIGACT-SIGPLAN حول مبادئ لغات البرمجة - POPL '78 . الصفحات 39-46 . doi : 10.1145/512760.512766 . ISBN  9781450373487. S2CID 18716926 . 
  15. أوهيرن، بيتر (2007). "الموارد، والتزامن، والاستدلال المحلي" (ملف PDF) . علوم الحاسوب النظرية . 375 ( 1-3 ): 271-307 . doi : 10.1016/j.tcs.2006.12.035 .
  16. كالكانيو، كريستيانو؛ أوهيرن، بيتر دبليو؛ يانغ، هونغسوك (2007). "الفعل المحلي ومنطق الفصل المجرد" (ملف PDF) . المؤتمر السنوي الثاني والعشرون لمعهد مهندسي الكهرباء والإلكترونيات حول المنطق في علوم الحاسوب (LICS 2007) . الصفحات 366-378 . CiteSeerX 10.1.1.66.6337 . doi : 10.1109/LICS.2007.30 . ISBN   978-0-7695-2908-0. S2CID 1044254 . 
  17. دينسديل-يونغ، توماس؛ بيركيدال، لارس؛ غاردنر، فيليبا؛ باركنسون، ماثيو؛ يانغ، هونغسوك (2013). "العروض: الاستدلال التركيبي للبرامج المتزامنة" (ملف PDF) . إشعارات ACM SIGPLAN . 48 : 287-300 . doi : 10.1145/2480359.2429104 .
  18. سيرجي، إيليا؛ نانفسكي، ألكسندر؛ بانيرجي، أنينديا (2015). "تحديد خوارزميات التزامن والتحقق منها باستخدام السجلات والذاتية" (ملف PDF) . المؤتمر الأوروبي الرابع والعشرون للبرمجة . arXiv : 1410.0306 . Bibcode : 2014arXiv1410.0306S .
  19. كالكانيو، كريستيانو؛ ديستيفانو، دينو؛ أوهيرن، بيتر (2015-06-11). "إتاحة فيسبوك إنفير كمصدر مفتوح: تحديد الأخطاء قبل النشر" .
  20. أندرسون، غابرييل؛ بيم، ديفيد (2015). "حساب ومنطق الموارد والعمليات المجمعة" . علوم الحاسوب النظرية . 614 : 63-96 . doi : 10.1016/j.tcs.2015.11.035 .