الشفافية المرجعية
في الفلسفة التحليلية وعلوم الحاسوب ، تُعدّ الشفافية المرجعية والغموض المرجعي من خصائص البنى اللغوية، [ أ ] وبالتالي اللغات. تُسمى البنية اللغوية شفافة مرجعيًا عندما لا يؤدي استبدال تعبير فرعي بآخر يدل على القيمة نفسها في أي تعبير مُشتق منها [ ب ] إلى تغيير قيمة التعبير. [ 1 ] [ 2 ] وإلا، تُسمى مُبهمة مرجعيًا . يُشير كل تعبير مُشتق من بنية لغوية مُبهمة مرجعيًا إلى شيء ما يتعلق بتعبير فرعي، بينما يُشير كل تعبير مُشتق من بنية لغوية شفافة مرجعيًا إلى شيء لا يتعلق بتعبير فرعي، أي أن التعبيرات الفرعية "شفافة" بالنسبة للتعبير، وتعمل فقط كـ"مراجع" لشيء آخر. [ 3 ] على سبيل المثال، فإن التركيب اللغوي "_ كان حكيمًا" شفاف من الناحية المرجعية (على سبيل المثال، " كان سقراط حكيمًا" يعادل " كان مؤسس الفلسفة الغربية حكيمًا ") ولكن "_ قال _" مبهم من الناحية المرجعية (على سبيل المثال، "قال زينوفون "كان سقراط حكيمًا" لا يعادل " قال زينوفون "كان مؤسس الفلسفة الغربية حكيمًا" ).
تعتمد الشفافية المرجعية في لغات البرمجة على التكافؤ الدلالي بين دلالات التعبيرات، أو على التكافؤ السياقي للتعبيرات نفسها. أي أن الشفافية المرجعية تعتمد على دلالات اللغة. لذا، يمكن أن تحتوي كل من اللغات التصريحية واللغات الإجرائية على مواضع شفافة مرجعياً، أو مواضع مبهمة مرجعياً، أو (عادةً) كليهما، وفقاً للدلالات الممنوحة لها.
تكمن أهمية المواضع الشفافة مرجعيًا في أنها تُمكّن المبرمج والمترجم من فهم سلوك البرنامج كنظام إعادة كتابة عند تلك المواضع. وهذا يُساعد في إثبات صحة البرنامج ، وتبسيط الخوارزمية ، والمساعدة في تعديل الكود دون إتلافه، أو تحسين الكود من خلال التخزين المؤقت ، وحذف التعبيرات الفرعية المشتركة ، والتقييم الكسول ، وطي الثوابت ، أو المعالجة المتوازية .
تاريخ
نشأ المفهوم في كتاب ألفريد نورث وايتهيد وبرتراند راسل " برينسيبيا ماثيماتيكا" (1910-1913): [ 3 ]
القضية، بوصفها وسيلةً للتعبير عن الصدق أو الكذب، هي حدثٌ مُحدد، بينما القضية عند النظر إليها من منظور واقعي هي فئة من الأحداث المتشابهة. والقضية التي تُنظر إليها من منظور واقعي هي التي تظهر في عبارات مثل " أ يعتقد أن ص " و" ص يتعلق بـ أ ".
بالطبع، من الممكن الإدلاء بتصريحات حول حقيقة معينة مثل "سقراط يوناني". قد نقول كم يبلغ طوله بالسنتيمترات؛ قد نقول إنه أسود؛ وهكذا. لكن هذه ليست التصريحات التي يميل الفيلسوف أو المنطقي إلى الإدلاء بها.
عندما يُطرح ادعاء، فإنه يُصاغ بواسطة حقيقة معينة، وهي مثال على القضية المطروحة. لكن هذه الحقيقة المعينة، إن صح التعبير، "شفافة"؛ فلا يُقال عنها شيء، ولكن من خلالها يُقال شيء عن شيء آخر. هذه الصفة "الشفافة" هي التي تميز القضايا كما تظهر في دوال الصدق. وهي تنطبق على القضية p عندما تُطرح ، ولكنها لا تنطبق عندما نقول " p صحيحة".
وقد تم اعتماده في الفلسفة التحليلية في كتاب ويلارد فان أورمان كواين " الكلمة والموضوع" (1960): [ 1 ]
عندما يُستخدم مصطلح مفرد في جملة لتحديد مفعوله فقط، وتكون الجملة صحيحة بالنسبة لهذا المفعول، فإن الجملة ستظل صحيحة بالتأكيد عند استبداله بأي مصطلح مفرد آخر يدل على نفس المفعول. هنا لدينا معيار لما يمكن تسميته بالموقع المرجعي البحت : يجب أن يخضع الموقع لخاصية الاستبدال بالهوية .
[...]
تتعلق الشفافية المرجعية بالبنى (الفقرة 11)؛ وأنماط الاحتواء، وتحديدًا، المصطلحات أو الجمل المفردة داخل مصطلحات أو جمل مفردة. أُطلق على نمط الاحتواء φ اسم الشفافية المرجعية إذا كان، كلما كان ظهور مصطلح مفرد t مرجعيًا بحتًا في مصطلح أو جملة ψ ( t ) ، يكون مرجعيًا بحتًا أيضًا في المصطلح أو الجملة المحتوية φ ( ψ ( t )) .
ظهر المصطلح في استخدامه المعاصر في علوم الكمبيوتر في مناقشة المتغيرات في لغات البرمجة في مجموعة المحاضرات الأساسية لكريستوفر ستراشي بعنوان المفاهيم الأساسية في لغات البرمجة (1967): [ 2 ]
من أهم خصائص التعبيرات ما أسماه كواين [4] بالشفافية المرجعية . وهذا يعني ببساطة أنه إذا أردنا إيجاد قيمة تعبير يحتوي على تعبير فرعي، فإن كل ما نحتاج معرفته عن التعبير الفرعي هو قيمته. أما أي خصائص أخرى للتعبير الفرعي، مثل بنيته الداخلية، وعدد مكوناته وطبيعتها، وترتيب تقييمها، أو حتى لون الحبر المستخدم في كتابتها، فهي غير ذات صلة بقيمة التعبير الرئيسي.
التعريفات الرسمية
توجد ثلاث خصائص أساسية تتعلق بالاستبدال في اللغات الرسمية: الشفافية المرجعية، والتحديد، وقابلية الكشف. [ 4 ]
لنرمز إلى التكافؤ النحوي بـ ≡ والتكافؤ الدلالي بـ =.
الشفافية المرجعية
يُعرَّف الموضع بتسلسل من الأعداد الطبيعية. ويُرمز إلى التسلسل الفارغ بالرمز ε، وإلى مُنشئ التسلسل بالرمز '.' .
مثال. — الموضع 2.1 في التعبير (+ ( ∗ e 1 e 1 ) ( ∗ e 2 e 2 )) هو المكان الذي يشغله أول ظهور لـ e 2 .
يُرمز إلى التعبير e مع إدخال التعبير e′ في الموضع p بالرمز e [ e′ / p ] ويُعرَّف بواسطة
- e [ e′ /ε] ≡ e′
- e [ e′ / i . p ] ≡ <Ω e 1 … e i [ e′ / p ] … e n > إذا كان e ≡ <Ω e 1 … e i … e n > وإلا غير معرف، لجميع المعاملات Ω والتعبيرات e 1 ، … ، e n .
مثال. — إذا كان e ≡ (+ ( ∗ e 1 e 1 ) ( ∗ e 2 e 2 )) ثم e [ e 3 /2.1] ≡ (+ ( ∗ e 1 e 1 ) ( ∗ e 3 e 2 )) .
الموضع p هو موضع مرجعي بحت في التعبير e الذي يتم تعريفه بواسطة
- e 1 = e 2 يستلزم e [ e 1 / p ] = e [ e 2 / p ] ، لجميع التعبيرات e 1 ، e 2 .
بمعنى آخر، يكون الموضع مرجعيًا بحتًا في التعبير إذا وفقط إذا كان خاضعًا لخاصية الاستبدال للمساواة. ε مرجعي بحت في جميع التعبيرات.
يكون المؤثر Ω شفافًا مرجعيًا في المكان i المحدد بواسطة
- p مرجعي بحت في e i يستلزم i . p مرجعي بحت في e ≡ <Ω e 1 … e i … e n > ، لجميع المواضع p والتعبيرات e 1 ، …، e n .
وإلا فإن Ω يكون معتمًا مرجعيًا في المكان i .
يُعرَّف العامل بأنه شفاف مرجعيًا إذا كان شفافًا مرجعيًا في جميع المواضع. وإلا فإنه يكون معتمًا مرجعيًا .
تُعرَّف اللغة الرسمية بأنها شفافة مرجعياً إذا كانت جميع عواملها شفافة مرجعياً. وإلا فإنها تكون مبهمة مرجعياً .
مثال. — عامل التشغيل '_ يعيش في _' شفاف من الناحية المرجعية:
- هي تعيش في لندن.
في الواقع، يُعدّ الموقف الثاني مرجعياً بحتاً في العبارة، لأنّ استبدال " عاصمة المملكة المتحدة" بـ "لندن" لا يُغيّر من قيمة العبارة. وينطبق الأمر نفسه على الموقف الأول، فهو أيضاً مرجعي بحت لنفس السبب.
مثال. — إن عاملي '_ يحتوي على _' وعلامة الاقتباس غير واضحين من الناحية المرجعية:
- كلمة "لندن" تتكون من ستة أحرف.
في الواقع، لا يقتصر دور الموضع الأول في العبارة على الإشارة فقط، لأن استبدال " عاصمة المملكة المتحدة" بـ" لندن" يُغيّر قيمة العبارة والاقتباس. لذا، في الموضع الأول، يُؤدي استخدام "_ يحتوي على _" وعلامة الاقتباس إلى إلغاء العلاقة بين التعبير والقيمة التي يُشير إليها.
مثال. — إن عامل الإشارة '_ يشير إلى _' شفاف من الناحية المرجعية، على الرغم من غموض عامل الاقتباس من الناحية المرجعية:
- تشير كلمة "لندن" إلى أكبر مدينة في المملكة المتحدة.
في الواقع، يُعدّ الموضع الأول مرجعيًا بحتًا في العبارة، على عكس الاقتباس، لأن استبدال " عاصمة المملكة المتحدة" بـ "لندن" لا يُغيّر من قيمة العبارة. لذا، في الموضع الأول، يُعيد عامل "_ يشير إلى _" العلاقة بين التعبير والقيمة التي يُشير إليها. أما الموضع الثاني فهو مرجعي بحت أيضًا لنفس السبب.
الوضوح
اللغة الرسمية محددة، ويتم تعريفها من خلال جميع حالات ظهور متغير ما ضمن نطاقه والتي تشير إلى نفس القيمة.
مثال. — الرياضيات محددة:
- 3 × 2 + 2 × + 17
في الواقع، يشير ظهور x مرتين إلى نفس القيمة.
قابلية الفتح
تُعرَّف اللغة الرسمية القابلة للفك بأنها تلك التي تكون جميع تعبيراتها قابلة للاختزال بيتا .
مثال. — حساب لامدا قابل للطي:
- ((λ x . x + 1) 3) .
في الواقع، ((λ x . x + 1) 3) = ( x + 1)[3/ x ] .
العلاقات بين الخصائص
الشفافية المرجعية، والوضوح، وقابلية التفكيك، كلها خصائص مستقلة. ويستلزم الوضوح قابلية التفكيك فقط في اللغات الحتمية. أما اللغات غير الحتمية فلا يمكن أن تجمع بين الوضوح وقابلية التفكيك في آن واحد.
انظر أيضاً
ملحوظات
مراجع
- 1 2 كواين، ويلارد فان أورمان (1960). الكلمة والشيء ( الطبعة الأولى). كامبريدج، ماساتشوستس: مطبعة معهد ماساتشوستس للتكنولوجيا. ص 144. ISBN 978-0-262-17001-7.
{{cite book}}عدم توافق رقم ISBN / التاريخ ( مساعدة ) - 1 2 ستراشي، كريستوفر (1967). المفاهيم الأساسية في لغات البرمجة (تقرير فني). ملاحظات محاضرات للمدرسة الصيفية الدولية في برمجة الحاسوب في كوبنهاغن.أيضًا: ستراشي، كريستوفر (2000). "المفاهيم الأساسية في لغات البرمجة" . الحوسبة الرمزية والحسابات من الرتبة العليا . 13 ( 1-2 ): 11-49 . doi : 10.1023/A:1010000313106 . S2CID 14124601 .
- 1 2 وايتهيد، ألفريد نورث ؛ راسل، برتراند (1927). مبادئ الرياضيات . المجلد 1 ( الطبعة الثانية). كامبريدج: مطبعة جامعة كامبريدج. ص 665. ISBN 978-0-521-06791-1.
{{cite book}}عدم توافق رقم ISBN / التاريخ ( مساعدة ) - ↑ سوندرغارد، هارالد؛ سيستوفت، بيتر (1990). "الشفافية المرجعية، والوضوح، وقابلية الطي" (ملف PDF) . مجلة Acta Informatica . 27 (6): 505–517 . doi : 10.1007/bf00277387 .
روابط خارجية
- نظرية لغات البرمجة
