CoLF Logic Programming as Infinitary Proof Exploration
Chen, Pfenning
Logical Frameworks such as Automath [de Bruijn, 1968] or LF [Harper et al., 1993] were originally conceived as metalanguages for the specification of foundationally uncommitted deductive systems, yielding generic proof checkers. Their high level of abstraction was soon exploited to also express algorithms over deductive systems such as theorem provers, type-checkers, evaluators, compilers, proof transformers, etc. in the paradigm of computation-as-proof-construction. This has been realized in languages such as $λ$-Prolog [Miller et al., 1991] or Elf [Pfenning, 1991] based on backward chaining, and LolliMon [Lopez et al., 2005] or Celf [Schack-Nielsen and Schuermann, 2008], which integrated forward chaining. None of these early frameworks supported the direct expression of infinitary objects or proofs, which are available in the recently developed CoLF$^Ï$ [Chen, 2023]. In this work-in-progress report, we sketch an approach to computation-as-proof-construction over the first-order fragment of CoLF$^Ï$ (called CoLF$^Ï_1$ ) that already includes infinitary objects and proofs. A key idea is the interpretation of logic variables as communication channels and computation as concurrent message-passing. This is realized in a concrete compiler from CoLF$^Ï_1$ to Sax, a proof-theoretically inspired parallel programming language based on the proof-reduction in the semi-axiomatic sequent calculus [DeYoung et al., 2020].
تستكشف هذه الورقة طريقة لتنفيذ "الحساب كبناء إثبات" على القطاع من الدرجة الأولى من CoLF^ω (CoLF^ω_1)، وهو قطاع يحتوي بالفعل على كائنات وإثباتات لا نهائية. الفكرة الأساسية هي تفسير المتغيرات المنطقية كقنوات اتصال وتفسير الحساب كنقل رسائل متزامن. يتم تجسيد هذه الفكرة من خلال تطبيق مترجم ملموس يترجم CoLF^ω_1 إلى Sax—لغة برمجة متوازية مستوحاة من نظرية الإثبات تعتمد على اختزال الإثبات في حساب التسلسل شبه البديهي.
قيود الأطر المنطقية التقليدية: الأطر المنطقية المبكرة مثل Automath و LF، على الرغم من نجاحها في تنفيذ نموذج "الحساب كبناء إثبات"، لم تدعم التعبير المباشر عن الكائنات أو الإثباتات اللا نهائية
مشاكل التطبيقات الموجودة: يواجه البحث عن الإثبات القائم على التراجع صعوبات متعددة في الإعدادات اللا نهائية:
مشاكل الإنهاء عندما تكون المدخلات لا نهائية
مشاكل التفاعل بين الكائنات اللا نهائية والتراجع (قد لا تفشل بشكل صريح أبداً)
تضمن خوارزميات التوحيد الإنهاء فقط على الحدود العقلانية (الدورية)، لكن العديد من الكائنات أو الإثباتات في التطبيقات ليست عقلانية
اقتراح لغة برمجة منطقية CoLF^ω_1: تدعم الإثباتات ذات تمثيل الحدود اللا نهائية، بناء الإثبات بدون تراجع، تقييم المقدمات المتوازية باستخدام المتغيرات المنطقية المشتركة للاتصال
نموذج حساب مبتكر: تفسير المتغيرات المنطقية كقنوات اتصال وتفسير الحساب كنقل رسائل متزامن
تطبيق مترجم: تطبيق مترجم ملموس من CoLF^ω_1 إلى Sax
نظام أمثلة غني: يتضمن تطبيقات معالجة التدفقات وسلسلة فيبوناتشي والعمليات المتكاملة وغيرها من العلاقات المعقدة
يتم ضمان عدم التراجع من خلال فحص فرادة ثابت يضمن أن هناك إجراء واحد على الأكثر في كل نقطة برنامج، مما يلغي الحاجة إلى التراجع في البرمجة المنطقية التقليدية.
omega : conat = s omega.
main : stream = repeat omega.
النتيجة:
(cons (s (s (s (s ...))))
(cons (s (s (s ...)))
(cons (s (s ...))
(cons (s ...)
(cons ...)))))
تستشهد الورقة بالأدبيات المهمة في مجالات الأطر المنطقية ونظرية الإثبات والحساب المتوازي، بما في ذلك:
نظام Automath لـ de Bruijn
إطار LF لـ Harper وآخرين
λ-Prolog لـ Miller وآخرين
حساب التسلسل شبه البديهي لـ DeYoung وآخرين
التقييم الشامل: هذه ورقة بحثية مبتكرة في علوم الحاسوب النظرية، تقدم للمرة الأولى دعم الكائنات اللا نهائية في إطار منطقي، وتقترح نموذج حساب متزامن جديد. على الرغم من أنها كتقرير تقدم قد تحتاج إلى تعمق نظري أكثر، فإن أفكارها الأساسية وتطبيقها الأولي يفتحان اتجاهاً بحثياً جديداً في هذا المجال.