متغير جديد

في الاستدلال الصوري، ولا سيما في المنطق الرياضي ، والجبر الحاسوبي ، وإثبات النظريات الآلي ، يُعرَّف المتغير الجديد بأنه متغير لم يظهر في السياق المدروس حتى الآن. [ 1 ] وكثيراً ما يُستخدم هذا المفهوم دون شرح. [ 2 ]

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

مثال

على سبيل المثال، في إعادة صياغة المصطلحات ، قبل تطبيق قاعدةلر{\displaystyle l\to r}لمصطلح معينت{\displaystyle t}، كل متغير فيلر{\displaystyle l\to r}ينبغي استبدالها بنسخة جديدة لتجنب التعارضات مع المتغيرات التي تحدث فيت{\displaystyle t}بالنظر إلى القاعدة إلحاق(سلبيات(x،y)،z)سلبيات(x،إلحاق(y،z)){\displaystyle \operatorname {append} (\operatorname {cons} (x,y),z)\to \operatorname {cons} (x,\operatorname {append} (y,z))} والمصطلح إلحاق(سلبيات(x،سلبيات(y،نأنال))،سلبيات(3،نأنال))،{\displaystyle \operatorname {append} (\operatorname {cons} (x،\operatorname {cons} (y،\mathrm {nil} ))،\operatorname {cons} (3،\mathrm {nil} ))،} محاولة إيجاد بديل مطابق للجانب الأيسر من القاعدة،إلحاق(سلبيات(x،y)،z){\displaystyle \operatorname {append} (\operatorname {cons} (x,y),z)}، داخلإلحاق(سلبيات(x،سلبيات(y،نأنال))،سلبيات(3،نأنال)){\displaystyle \operatorname {append} (\operatorname {cons} (x,\operatorname {cons} (y,\mathrm {nil} )),\operatorname {cons} (3,\mathrm {nil} ))}سوف تفشل، لأنy{\displaystyle y}لا يمكن المطابقةسلبيات(y،نأنال){\displaystyle \operatorname {cons} (y,\mathrm {nil} )}ومع ذلك، إذا تم استبدال القاعدة بنسخة جديدة [ أ ]إلحاق(سلبيات(v1،v2)،v3)سلبيات(v1،إلحاق(v2،v3)){\displaystyle \operatorname {append} (\operatorname {cons} (v_{1},v_{2}),v_{3})\to \operatorname {cons} (v_{1},\operatorname {append} (v_{2},v_{3}))} في السابق، ستنجح عملية المطابقة مع استبدال الإجابة {v1x،v2سلبيات(y،نأنال)،v3سلبيات(3،نأنال)}.{\displaystyle \{v_{1}\mapsto x,\;v_{2}\mapsto \operatorname {cons} (y,\mathrm {nil} ),\;v_{3}\mapsto \operatorname {cons} (3,\mathrm {nil} )\}.}

ملحوظات

  1. أي، نسخة يتم فيها استبدال كل متغير بمتغير جديد بشكل متسق

مراجع

  1. كارمن بروني (2018). منطق المسند: الاستنتاج الطبيعي (ملف PDF) (شرائح المحاضرة). جامعة واترلو.هنا: الشريحة 13/26.
  2. مايكل فاربر (فبراير 2023). الدلالات التفسيرية ومترجم سريع لـ jq (تقرير فني). جامعة إنسبروك. arXiv : 2302.10576 .هنا: ص 4.
  3. غوردون، أندرو د.؛ ميلهام، توماس ف. (1996). "خمسة بديهيات للتحويل ألفا". في فون رايت، يواكيم؛ غروندي، جيم؛ هاريسون، جون (محررون). إثبات النظريات في منطق الرتبة العليا، المؤتمر الدولي التاسع، TPHOLs'96، توركو، فنلندا، 26-30 أغسطس 1996، وقائع المؤتمر . سلسلة محاضرات في علوم الحاسوب. المجلد 1125. سبرينغر. الصفحات 173-190 . doi : 10.1007/BFB0105404 . ISBN   978-3-540-61587-3.
  4. كوهين، إدوارد (1990). "الحلقات ب - حول استبدال الثوابت بمتغيرات جديدة". البرمجة في التسعينيات . دراسات في علوم الحاسوب. نيويورك: سبرينغر. ص 149-194 . doi : 10.1007/978-1-4613-9706-9 . ISBN  9781461397069. S2CID 1509875 .