مقدمة في علوم الحاسوب النظرية › هل كل مبرهنة قابلة للإثبات؟ 13 / 26 السابق التالي

هل كل مبرهنة قابلة للإثبات؟ { #godelchap }

هل كل مبرهنة قابلة للإثبات؟

  • أمثلة أخرى على دوال غير قابلة للحساب ليست مرتبطة بالحساب ارتباطًا وثيقًا.
  • مبرهنة غودل في عدم الاكتمال (Gödel's incompleteness theorem) - نتيجة هزّت عالَم الرياضيات في مطلع القرن العشرين.

"خذ أي مسألة غير محلولة محدّدة، مثل ... وجود عدد لا نهائي من الأعداد الأولية من الشكل 2n+12^n + 1. مهما بدت هذه المسائل بعيدة المنال في أعيننا، ومهما كنّا عاجزين أمامها، فإننا مع ذلك نتملك يقينًا راسخًا بأن حلّها يجب أن ينبع من عدد منتهٍ من العمليات المنطقية المحضة..."
"...وهذا اليقين بإمكانية حلّ كل مسألة رياضية هو حافز قوي للعامل. نسمع في داخلنا النداء الأبدي: ها هي المسألة. ابحث عن حلّها. تستطيع أن تجده بالعقل المحض، فالرياضيات لا يوجد فيها ignorabimus.", ديفيد هيلبرت، 1900.

"معنى العبارة هو طريق التحقق منها.", موريتز شليك، 1938 (ما يُعرف بـ«مبدأ التحقق» (The verification principle) في الوضعية المنطقية)

المسائل التي بيّنا في الشمولية وغياب قابلية الحساب أنها غير قابلة للحساب، وعلى طبيعتها مهمة، فإنها كانت تتضمّن في تعريفاتها برامج NAND-TM أو آليات حوسبة أخرى بشكل وثيق. ربما يمكننا أن نأمل بأنه ما دمنا نبتعد عن الدوال التي تكون مداخلها برامج بذاتها، فسنستطيع تفادي «لعنة عدم قابلية الحساب». لكننا لسنا محظوظين بهذا.

في هذا الفصل سنرى مثالًا لمسألة طبيعية و«خالية من الحوسبة» ظاهريًا، لكنها مع ذلك تبيّن أنها غير قابلة للحساب: حلّ معادلات ديوفانطية (Diophantine equations). وبنتيجة تالية، سنرى إحدى أكثر نتائج الرياضيات في القرن العشرين إثارةً للدهشة: مبرهنة غودل في عدم الاكتمال، التي بيّنت أن هناك عبارات رياضية (بل في نظرية الأعداد تحديدًا) لا يمكن إثباتها بطبيعتها. سنبدأ في الواقع بالنتيجة الثانية، ثم نبيّن الأولى.

النتيجة الأبرز في هذا الفصل هي مبرهنة غودل في عدم الاكتمال، وهي تنص على أن لكل نظام برهنة توجد بعض العبارات حول الحساب (arithmetic) صادقة لكنها غير قابلة للإثبات في هذا النظام. ولكننا سنرى أكثر من ذلك: سنرى رابطًا عميقًا بين عدم قابلية الحساب و_عدم قابلية الإثبات_. فمثلًا، عدم قابلية حساب مشكلة التوقّف (Halting problem) يولّد فورًا وجود عبارات غير قابلة للإثبات عن آلات تورينج. ولكي نصيغ حتى مبرهنة غودل في عدم الاكتمال، سنحتاج إلى تعريف رسمي لمفهوم «نظام البرهنة». سنعطي تعريفًا شديد العمومية يشمل كل أنواع الأنظمة من الشكل «بديهيات + قواعد استنتاج» المستعملة في المنطق والرياضيات. سنبني بعد ذلك الآليات التي تتيح ترميز الحوسبة باستخدام الحساب، والتي ستمكّننا من إثبات مبرهنة غودل.

مخطّطٌ لنتائج هذا الفصل. إحدى صيغ مبرهنة عدم اكتمال غودل (Gödel's Incompleteness Theorem) نتيجةٌ مباشرةٌ لعدم قابلية حساب مسألة التوقّف. وللحصول على المبرهنة كما صُغِيت أوّلًا (فيما يخصّ الجمل حول الأعداد الصحيحة) نُثبت أوّلًا أنّ مسألة  — أي تحديد صحة الجمل المُكمَّلة التي تجمع بين الأعداد الصحيحة والنصوص — غير قابلة للحساب. ونفعل ذلك باستعمال مفهوم تكوينات آلات تورينج، لكنّ هناك مناهجَ بديلةً لذلك أيضًا، انظر alternativeproofs.

برنامج هيلبرت ومبرهنة غودل في عدم الاكتمال

"وماذا هذه… المقادير المتلاشية؟ إنها لا كميات منتهية، ولا كميات لانهائية الصغر، ولا هي لا شيء بعد. ألّا نسمّيها بأشباح مقادير رحلت؟", جورج بيركلي، أسقف كلاين، 1734.

كان القرن السابع عشر والثامن عشر زمنًا لاكتتشافات عظيمة في الرياضيات، وكذلك لعدة أزمات. فاكتشاف التفاضل والتكامل على يد نيوتن ولايبنتس في أواخر القرن السابع عشر قد فتحا عصرًا ذهبيًا في حل المسائل. وخضع كثير من التحديات الطويلة الأمد للأدوات الجديدة التي اكتُشفت، وأصبح الرياضيون أفضل بكثير في إنجاز حسابات مبهرة حقًا. غير أن الأسس الصارمة وراء هذه الحسابات كانت دون المستوى. كان الرياضيون يتعاملون بلا مبالاة مع الكميات اللانهائية الصغرى والمتتاليات اللانهائية، وإن كانوا في معظم الأوقات ينتهيبن بالنتائج الصحيحة، إلا أن هناك بضعة أمثلة غريبة (مثل محاولة حساب قيمة المتتالية اللانهائية 1−1+1−1+1+…1-1+1-1+1+\ldots) بدت تُعطي إجابات مختلفة بحسب طريقة الحساب. وهذا أدّى إلى تنامي الإحساس بالقلق تجاه أسس الميدان، وعولج ذلك في أعمال رياضيين مثل كوشي ووايرستراس وريمان، الذين وضعوا التحليل في النهاية على أسس أمتن، فنتج عن ذلك حدود ϵ\epsilon و δ\delta التي ما يزال الطلاب في دورات التفاضل والتكامل المتقدمة يصارعونها إلى هذا اليوم.

في مطلع القرن العشرين، كان هناك جهد لتكرار هذا الجهد، بصرامة أكبر، على جميع أبواب الرياضيات. كان الأمل أن نبيّن أن كل النتائج الصادقة في الرياضيات يمكن الحصول عليها انطلاقًا من عدد من البديهيات، واستنتاج مبرهنات منها باستعمال قواعد استنتاج منطقية. وكان هذا الجهد معروفًا بـ_برنامج هيلبرت_ (Hilbert program)، المسمّى نسبةً إلى الرياضيان المؤثر ديفيد هيلبرت.

لكن تبيّن أن النتائج التي رأيناها أوقعت ضربة قاضية لهذا البرنامج، كما بيّن كورت غودل سنة 1931:

مبرهنة — مبرهنة غودل في عدم الاكتمال: صيغة غير رسمية

لكل نظام برهنة VV سليم (sound) بما يكفي للتعبير عن عبارات رياضية غنية بما يكفي، هناك عبارة رياضية صادقة لكنها ليست قابلة للإثبات في VV.

تعريف «أنظمة البرهنة»

قبل إثبات مبرهنة — مبرهنة غودل في عدم الاكتمال: صيغة غير رسمية، نحتاج إلى تعريف «أنظمة البرهنة»، بل وإلى تعريف رسمي لمفهوم «العبارة الرياضية». في الهندسة وفي مجالات رياضية أخرى، تُعرَّف أنظمة البرهنة غالبًا بالبدء من بعض الافتراضات الأساسية أو البديهيات (axioms)، ثم استنتاج مزيد من العبارات باستعمال قواعد الاستنتاج (inference rules) مثل مذهب المقدمات الشهير، لكن ما البديهيات التي سنستعملها؟ وما القواعد؟ سنستعمل مفهومًا شديد العمومية لأنظمة البرهنة، ولا نقتصر حتى على الأنظمة التي تأخذ شكل بديهيات واستنتاج.

العبارات الرياضية. في أعلى المستويات، العبارة الرياضية ليست سوى قطعة نصّ، يمكننا التفكير فيها بوصفها سلسلة (string) x∈{0,1}∗x\in \{0,1\}^*. تحتوي العبارات الرياضية على دعاوى لا يعتمد صدقها على أي واقعة تجريبية، بل على خصائص الأجسام المجرّدة فحسب. مثلًا، العبارة الرياضية التالية هي كذلك:[1]

"العدد 22,696696,635635,869869,504504,783783,333333,238238,805805,675675,613613, 588588,278278,597597,832832,162162,617617,892892,474474,670670,798798,113113 عدد أولي (prime)".

لا يلزم أن تتضمّن العبارات الرياضية أعدادًا. إذ يمكنها أن تدّعي خصائص أي كائن رياضي آخر، بما في ذلك المجموعات والسلاسل والدوال والرسوم البيانية، بل وحتى البرامج. وعليه، فإن مثالًا آخر على عبارة رياضية هو ما يلي:[2]

اقتباس

دالة Python التالية تتوقّف عند كل عدد صحيح موجب n

def f(n):
    if n==1: return 1
    return f(3*n+1) if n % 2 else f(n//2)

\

أنظمة البرهنة. البرهان (proof) لعبارة x∈{0,1}∗x\in \{0,1\}^* هو قطعة نصّ أخرى w∈{0,1}∗w\in \{0,1\}^* تشهد على صدق العبارة المُدَّعاة في xx. شروط نظام برهنةٍ صالحة هي:

  1. (الفاعلية) (Effectiveness) معطى عبارة xx وبرهان ww، هناك خوارزمية تتحقق مما إذا كان ww برهانًا صالحًا لـ xx أم لا. (مثلًا، عبر المرور سطرًا سطرًا والتأكد من أن كل سطر يتبع الأسطر السابقة باستخدام إحدى قواعد الاستنتاج المسموح بها.)

  2. (التسليمية) (Soundness) إذا كان هناك برهان صالح ww لـ xx فإن xx صادقة.

هذه متطلبات في غاية البساطة لنظام البرهنة. المتطلّب 2 (التسليمية) هو تعريف نظام البرهنة بعينه: فلا ينبغي أن تستطيع إثبات أمور ليست صادقة. والمتطلّب 1 أساسي أيضًا. فإذا لم تكن هناك مجموعة قواعد (أي خوارزمية) للتحقق من صلاحية البرهان، فبأي معنى يكون نظام برهنة؟ يمكننا استبداله بنظام يكون فيه «البرهان» لعبارة xx هو «ثق بي: إنها صادقة».

نعرّف أنظمة البرهنة رسميًا بأنها خوارزمية VV حيث تتحقّق V(x,w)=1V(x,w)=1 إذا كانت السلسلة ww برهانًا صالحًا للعبارة xx. وحتى لو كانت xx صادقة، فلا يلزم أن تكون السلسلة ww برهانًا صالحًا لها (فهناك براهين خاطئة كثيرة للعبارات الصادقة مثل 4=2+2)، لكن إذا كانت ww برهانًا صالحًا لـ xx فيجب أن تكون xx صادقة.

تعريف — أنظمة البرهنة

ليكن T⊆{0,1}∗\mathcal{T} \subseteq \{0,1\}^* مجموعة ما (ونعتبرها العبارات «الصادقة»). نظام البرهنةِ (proof system) لـ T\mathcal{T} هو خوارزمية VV تحقق:

  1. (الفاعلية) (Effectiveness) لكل x,w∈{0,1}∗x,w \in \{0,1\}^*, تتوقّف V(x,w)V(x,w) وتُخرج إمّا 00 وإمّا 11.

  2. (التسليمية) (Soundness) لكل x∉Tx\not\in \mathcal{T} و w∈{0,1}∗w\in \{0,1\}^*, نحصل على V(x,w)=0V(x,w)=0.

العبارة الصادقة x∈Tx\in \mathcal{T} تكون غير قابلة للإثبات (unprovable) (بالنسبة إلى VV) إذا كان لكل w∈{0,1}∗w\in \{0,1\}^*, V(x,w)=0V(x,w)=0. نقول إن VV كاملة (complete) إذا لم توجد عبارة صادقة xx غير قابلة للإثبات بالنسبة إلى VV.

الـ_برهان_ (proof) ليس سوى سلسلة نصّ محتوَاها معناه يحدّده خوارزمية تحقّق (verification algorithm).

مبرهنة غودل في عدم الاكتمال: الصيغة الحاسوبية

صياغتنا الأولى لـ مبرهنة — مبرهنة غودل في عدم الاكتمال: صيغة غير رسمية تنطوي على عبارات عن آلات تورينج. ولنضع H\mathcal{H} لتكون مجموعة السلاسل x∈{0,1}∗x\in \{0,1\}^* التي تأخذ الشكل «آلة تورينج MM لا تتوقّف عند المدخل الصفري».

مبرهنة — مبرهنة غودل في عدم الاكتمال: الصيغة الحاسوبية

لا يوجد نظام برهنة كامل لـ H\mathcal{H}.

لو كان لدينا نظام برهنة كامل وسليم كهذا لأمكننا حل مسألة HALTONZEROHALTONZERO. فعلى مدخل آلة تورينج MM، نشغّل الآلة على المدخل صفر بالتوازي مع البحث في جميع البراهين المزعومة ww، ونُخرج 00 إذا وجدنا برهانًا لـ «MM لا تتوقّف عند الصفر». فإذا كان النظام سليمًا وكاملًا، فإن الآلة إما أن تتوقّف أو أننا سنجد برهانًا كهذا في النهاية، وسيزوّدنا عندها بالخرج الصحيح.

برهان

نفرض، طلبًا للتناقض، وجود نظام برهنة VV كهذا. سنستعمل VV لبناء خوارزمية AA تحسب HALTONZEROHALTONZERO، ومن ثمّ تناقض مبرهنة — التوقّف دون مدخل. وستعمل خوارزميتنا AA كما.

خوارزمية — Halting from proofs

INPUT: Turing machine $M$
OUTPUT:  $1$  $M$ -if halts on -input $0$;  $0$ otherwise.

for{$n=1,2,3,\ldots$}
    for{$w\in \{0,1\}^n$}
       if{$V($"$M$ does not halt on $0$"$,w)=1$}
         return $0$
       endif
       Simulate $M$ -for $n$ steps on $0$.
       if{$M$ halts}
         return $1$
       endif
    endfor
endfor

إذا كانت MM تتوقّف عند الصفر خلال NN خطوة، فإن تسليمية نظام البرهنة تعني أنه لن يوجد برهان لـ «MM لا تتوقّف عند 00»، ولن نُعيد 00 أبدًا. وعلولًا ما نصل في الحلقة إلى n=Nn=N، سنحاكي MM لـ NN خطوة، وبذلك نُعيد 11. ومن جهة أخرى، إذا لم تتوقّف MM عند 00، فلن نُعيد 11 أبدًا. ولأن نظام البرهنة كامل، يوجد ww يثبت هذه الحقيقة، لذا عندما تصل الخوارزمية AA إلى n=∣w∣n=|w| سنجد هذا ww في النهاية ونُخرج 00. وعليه، تحت افتراض أن نظام البرهنة كامل وسليم، تحلّ A(M)A(M) الدالة HALTONZEROHALTONZERO، مما ينتج تناقضًا.

ملاحظة — عبارة غودل (اختياري)

يمكن استخراج من برهان مبرهنة — مبرهنة غودل في عدم الاكتمال: الصيغة الحاسوبية إجراء يُنتج، لكل نظام برهنة VV، عبارة صادقة x∗x^* لا يمكن إثباتها في VV. لكن برهان غودل أعطى وصفًا صريحًا جدًا لمثل هذه العبارة x∗x^*، وهي وثيقة الصلة بـ«مفارقة الكذّاب». أي أن عبارة غودل x∗x^* صُمِّمت لتكون صادقة إذا وإلى إذا ∀w∈{0,1}∗V(x,w)=0\forall_{w\in \{0,1\}^*} V(x,w)=0. بعبارة أخرى، لقد استوفت الخاصية التالية

x∗ is true⇔x∗ does not have a proof in V x^* \text{ is true} \Leftrightarrow \text{$x^*$ does not have a proof in $V$}

يمكن ملاحظة أن إذا كانت x∗x^* صادقة فلا برهان لها، أما إذا كانت خاطئة (بافتراض أن نظام البرهنة سليم) فلا يمكن أن يكون لها برهان، وبالتالي يجب أن تكون x∗x^* في الوقت نفسه صادقة وغير قابلة للإثبات. قد يتساءل المرء كيف يمكن ابتكار x∗x^* تستوفي شرطًا مثل المعادلة حيث تظهر السلسلة نفسها x∗x^* في كلا طرفَي المعادلة. الفكرة أن برهان مبرهنة — مبرهنة غودل في عدم الاكتمال: الصيغة الحاسوبية يعطي طريقة لتحويل كل عبارة xx إلى عبارة F(x)F(x) صادقة إذا وإلى إذا لم يكن لـ xx برهان في VV. وعليه، يجب أن تكون x∗x^* نقطة ثابتة (fixed point) لـ FF: أي جملة بحيث x∗=F(x∗)x^* = F(x^*). ويبيّن الأمر أن يمكننا دائمًا إيجاد نقطة ثابتة كهذه لـ FF. لقد رأينا هذه الظاهرة من قبل في حساب λ\lambda، حيث يقابل المُشغِّل (combinator) YY كل FF بنقطة ثابتة YFY F من FF. وهذا مرتبط جدًا بفكرة البرامج القادرة على طباعة شيفرتها الخاصة. وفعلًا، يحب سكوت آرونسون أن يصف عبارة غودل كما يلي:

الجملة التالية، مكرّرة مرّتين والمرة الثانية بين علامتَي اقتباس، غير قابلة للإثبات في النظام الشكلي VV. «الجملة التالية، مكرّرة مرّتين والمرة الثانية بين علامتَي اقتباس، غير قابلة للإثبات في النظام الشكلي VV.»

في الحجة أعلاه بيّنا في الواقع أن x∗x^* صادقة، تحت افتراض أن VV سليم. ولأن x∗x^* صادقة وليس لها برهان في VV، فهذا يعني أننا لا نستطيع إجراء الحجة أعلاه داخل النظام VV، أي أن VV لا يستطيع إثبات تسليميته هو (بل ولا حتى اتساقه: أي أنه لا يوجد برهان لعبارة ولنفيها في الوقت نفسه). وباستعمال هذه الفكرة، ليس من الصعب استخراج مبرهنة غودل الثانية في عدم الاكتمال، التي تنص على أن كل VV غني بما يكفي لا يستطيع إثبات اتساقه هو. أي أن، إذا صرّفنا رسميًا العبارة c∗c^* التي صادقة إذا وإلى إذا كان VV متسقًا (أي أن VV لا يستطيع إثبات عبارة ونفيها في آن واحد)، فإن c∗c^* لا يمكن إثباتها في VV.

العبارات العددية المُكمَّمة

في مبرهنة — مبرهنة غودل في عدم الاكتمال: الصيغة الحاسوبية شيء غير مُرضٍ. نعم، فهو يبيّن أن هناك عبارات غير قابلة للإثبات، لكنها لا تبدو كعبارات رياضية «حقيقية». فهي تتحدث عن برامج بدل الأعداد أو المصفوفات أو المشتقات، أو أي شيء آخر يُدرَّس في مقرّرات الرياضيات. ويبيّن الأمر أننا يمكننا الحصول على نتيجة مماثلة لعبارات مثل «لا يوجد عددان صحيحان موجبان xx و yy بحيث x2−2=y7x^2 - 2 = y^7»، أو «يوجد أعداد صحيحة موجبة x,y,zx,y,z بحيث x2+y6=z11x^2 + y^6 = z^{11}»، وهي عبارات لا تتحدث إلا عن الأعداد الطبيعية. ولا يمكن أن تكون «رياضيات حقيقية» أكثر من هذا. وفعلًا، قال الرياضياتي في القرن التاسع عشر، ليبولد كرونِكر (Leopold Kronecker)، شهيرًا: «خلق الله الأعداد الصحيحة، وكل ما عداها من صنع الإنسان.» (وبالمناسبة، فإن حالة العبارتين أعلاه غير معروفة.)

ولنجعل هذا أدق، لنعرّف مفهوم العبارات العددية المُكمَّمة:

تعريف — العبارات العددية المُكمَّمة

العبارة العددية المُكمَّمة هي عبارة مصوغة صياغة سليمة، لا تحتوي متغيّرات غير مرتبطة، وتتضمّن أعدادًا صحيحة ومتغيّرات، والمعاملات >,<,×,+,−,=>,<,\times,+,-,=, والعمليات المنطقية ¬\neg (NOT) و ∧\wedge (AND) و ∨\vee (OR)، وكذلك كمّيات من الشكل ∃x∈N\exists_{x\in\N} و ∀y∈N\forall_{y\in\N} حيث x,yx,y أسماء متغيّرات.

نحن نهتم كثيرًا بتحديد صدق العبارات العددية المُكمَّمة. مثلًا، يمكن صياغة العبارة القائلة إن نظرية فيرما الأخيرة صادقة من أجل n=3n=3 على أنها العبارة العددية المُكمَّمة

¬∃a∈N∃b∈N∃c∈N(a>0)∧(b>0)∧(c>0)∧(a×a×a+b×b×b=c×c×c)  . \neg \exists_{a\in\N} \exists_{b\in\N} \exists_{c\in\N} (a>0) \wedge (b>0) \wedge (c>0) \wedge \left( a\times a \times a + b \times b \times b = c\times c \times c \right) \;.

أما حدس الأعداد الأولية التوأم، الذي ينص على أن هناك عددًا لا نهائيًا من الأعداد pp بحيث يكون pp و p+2p+2 أوليين معًا، فيمكن صياغته على أنه العبارة العددية المُكمَّمة ∀n∈N∃p∈N(p>n)∧PRIME(p)∧PRIME(p+2) \forall_{n\in\N} \exists_{p\in\N} (p>n) \wedge PRIME(p) \wedge PRIME(p+2) حيث نستبدل أي ورود لـ PRIME(q)PRIME(q) بالعبارة (q>1)∧∀a∈N∀b∈N(a=1)∨(a=q)∨¬(a×b=q)(q>1) \wedge \forall_{a\in \N} \forall_{b\in \N} (a=1) \vee (a=q) \vee \neg (a\times b =q).

أما الادّعاء المذكور في اقتباس هيلبرت أعلاه، بأنه يوجد عدد لا نهائي من الأعداد الأولية من الشكل p=2n+1p=2^n+1، فيمكن صياغته كما يلي:

∀n∈N∃p∈N(p>n)∧PRIME(p)∧(∀k∈N(k≠2  ∧  PRIME(k))⇒¬DIVIDES(k,p−1)) \begin{gathered} \forall_{n\in\N}\exists_{p\in\N} (p>n) \wedge PRIME(p) \wedge \\ \left(\forall_{k\in\N} (k \neq 2 \; \wedge \; PRIME(k)) \Rightarrow \neg DIVIDES(k,p-1)\right) \end{gathered}

حيث DIVIDES(a,b)DIVIDES(a,b) هي العبارة ∃c∈Nb×c=a\exists_{c\in\N} b\times c = a. وبالعربية، يقابل هذا الادّعاء أن لكل nn يوجد p>np>n بحيث يكون كل العوامل الأولية لـ p−1p-1 مساويًا للعدد 22.

ملاحظة — السكر النحوي في العبارات العددية المُكمَّمة

لجعل عباراتنا أكثر قابلية للقراءة، نستخدم غالبًا «السكر النحوي»، فنكتب x≠yx \neq y اختصارًا لـ ¬(x=y)\neg(x=y)، وهكذا. وبالمثل، فإن «عامل الاستلزام» a⇒ba \Rightarrow b هو «سكر نحوي» أو اختصار لـ ¬a∨b\neg a \vee b، و«عامل التكافؤ» a⇔a \Leftrightarrow هو اختصار لـ (a⇒b)∧(b⇒a(a \Rightarrow b) \wedge (b \Rightarrow a. وسنسمح لأنفسنا أيضًا باستعمال «الماكرو» (macros): أي إحلال عبارة عددية مُكمَّمة داخل أخرى، كما فعلنا مع DIVIDESDIVIDES و PRIMEPRIME أعلاه.

يهتم جزء كبير من نظرية الأعداد بتحديد صدق العبارات العددية المُكمَّمة. ولأن خُبرتنا تُظهر أن الإنسان، متى توافر له وقت كافٍ (قد يكون أحيانًا عدة قرون)، تمكّن من ذلك للعبارات التي اهتم بها إلى هذا الحد، فيمكن للمرء (كما فعل هيلبرت) أن يرجو أن نتمكّن في النهاية من إثبات كل هذه العبارات أو نفيها. لكن تبيّن أن هذا مستحيل:

مبرهنة — مبرهنة غودل في عدم الاكتمال للعبارات العددية المُكمَّمة

ليكن V:{0,1}∗→{0,1}V:\{0,1\}^* \rightarrow \{0,1\} إجراء تحقّق محسوبًا مزعومًا للعبارات العددية المُكمَّمة. إذن، إمّا:

  • أن VV غير سليم: يوجد عبارة خاطئة xx وسلسلة w∈{0,1}∗w\in \{0,1\}^* بحيث V(x,w)=1V(x,w)=1.

أو

  • أن VV غير كامل: يوجد عبارة صادقة xx بحيث لكل w∈{0,1}∗w\in \{0,1\}^*, V(x,w)=0V(x,w)=0.

مبرهنة — مبرهنة غودل في عدم الاكتمال للعبارات العددية المُكمَّمة نتيجةٌ مباشرةٌ للاستنتاج التالي، تمامًا كما كان مبرهنة — مبرهنة غودل في عدم الاكتمال: الصيغة الحاسوبية نتيجةً مباشرةً لعدم قابلية حساب HALTONZEROHALTONZERO:

مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة

ليكن QIS:{0,1}∗→{0,1}QIS:\{0,1\}^* \rightarrow \{0,1\} الدالة التي، معطى تمثيل (سلسليًا) لعبارة عددية مُكمَّمة، تُخرج 11 إذا كانت صادقة و 00 إذا كانت خاطئة. إذن QISQIS غير قابلة للحساب.

ولأن العبارة العددية المُكمَّمة ليست سوى تتابع من الرموز، يمكننا تمثيلها بسهولة في صورة سلسلة. ولأغراض التبسيط، سنفترض أن كل سلسلة تمثّل عبارة عددية مُكمَّمة ما، بأن نُسق السلاسل التي لا تقابل عبارة من هذا النوع إلى عبارة اعتباطية مثل ∃x∈Nx=1\exists_{x\in \N} x=1.

توقّف وتأمّل

من فضلك توقّف هنا وتأكّد من أنك تفهم سبب أن عدم قابلية حساب QISQIS (أي مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة) يعني أنه لا يوجد نظام برهنة سليم وكامل لإثبات العبارات العددية المُكمَّمة (أي مبرهنة — مبرهنة غودل في عدم الاكتمال للعبارات العددية المُكمَّمة). وهذا يتبع بالطريقة نفسها التي تبع بها مبرهنة — مبرهنة غودل في عدم الاكتمال: الصيغة الحاسوبية من عدم قابلية حساب HALTONZEROHALTONZERO، لكن اشتقاق التفاصيل تمرينًا ممتازًا (انظر تمرين — مبرهنة غودل من عدم قابلية حساب QIS)

في بقية هذا الفصل، سنبيّن برهان مبرهنة — مبرهنة غودل في عدم الاكتمال للعبارات العددية المُكمَّمة، متبعين المخطط الموضَّح في الشكل التوضيحي.

معادلات ديوفانطية ومبرهنة MRDP

تضمنت كثير من الدوال التي أراد الناس حسابها على مر السنين حلّ معادلات. وتاريخها أطول بكثير من تاريخ الحواسيب الميكانيكية. كان البابليون يعرفون من قبل عام 2000 ق.م. كيفية حلّ بعض المعادلات التربيعية، والصيغة التي تعمّ كل المعادلات التربيعية ترد في مخطوطة بخشالي التي أُلّفت في الهند نحو القرن الثالث. وفي عصر النهضة، اكتشف الرياضيون الإيطاليون تعميمات لهذه الصيغ على المعادلات التكعيبية والرباعية (الدرجتين 33 و 44). وعمل كثير من أعظم العقول في القرنين السابع عشر والثامن عشر، ومنهم أويلر ولاغرانج ولايبنتز وغاوس، على مشكلة إيجاد صيغة كهذه للمعادلات الخُماسية دون جدوى، إلى أن بيّن روفيني وأبيل وغالوا في القرن التاسع عشر أنه لا توجد صيغة من هذا النوع، وهو ما أنجب في الطريق نظرية الزمر (group theory).

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

معادلات دوفانتي (Diophantine equations) مثل إيجاد حلٍّ صحيحٍ موجَب للمعادلة  (المُصوَّرة بأسلوبٍ أكثر اختصارًا ومرحًا في الأعلى) قد تكون صعبةً بشكلٍ مدهش. هناك معادلاتٌ كثيرةٌ لا نعرف إن كان لها حلّ، ولا توجد خوارزمية لحلّها بشكلٍ عامّ. وأصغر حلٍّ لهذه المعادلة يحوي  رقمًا! انظر هذا السؤال على Quora لمزيدٍ من المعلومات، بما في ذلك إسناد هذه الصورة.

لكن هناك بعض المعادلات التي لا نعرف ببساطة كيف نحُلّها بأي وسيلة. مثلًا، استغرق الأمر أكثر من 200 سنة حتى نجح الناس في إثبات أن المعادلة a11+b11=c11a^{11} + b^{11} = c^{11} لا حلّ لها في الأعداد الصحيحة.[3] وحفّزت الصعوبة الشهيرة لمّا تُسمى المعادلات ديوفانطية (أي إيجاد جذور صحيحة لكثيرة حدود) الرياضياتي ديفيد هيلبرت سنة 1900 على إدراج مسألة إيجاد إجراء عام لحلّ هذه المعادلات في قائمته الشهيرة المكوّنة من ثلاث وعشرين مسألة مفتوحة لرياضيات القرن العشرين. لا أظن أن هيلبرت شكّ في وجود مثل هذا الإجراء. فبعد كل شيء، كان تاريخ الرياضيات بأكمله حتى هذه اللحظة متضمّنًا اكتشاف طرق أقوى وأقوى، بل إن نتائج الاستحالة، مثل استحالة ثلث زاوية بالمسطرة والفرجار، أو عدم وجود صيغة جبرية للمعادلات الخُماسية، لم تكن إلا تشير إلى الحاجة إلى استعمال طرق أكثر عمومية.

لكن تبيّن أن الأمر لم يكن كذلك بالنسبة للمعادلات ديوفانطية. وفي سنة 1970، بيّن يوري ماتْياسيفتش (Yuri Matiyasevich)، مبنيًا على سلسلة أعمال دامت عقودًا لكل من مارتن ديفيز وهيلاري باتنام وجوليا روبنسون، أنه لا يوجد ببساطة أي طريقة لحلّ هذه المعادلات عمومًا:

مبرهنة — مبرهنة MRDP

ليكن DIO:{0,1}∗→{0,1}DIO:\{0,1\}^* \rightarrow \{0,1\} الدالة التي تأخذ كمدخل سلسلة تصف متعددة حدود P(x0,…,x99)P(x_0,\ldots,x_{99}) ذات معاملات صحيحة و 100100 متغيّرًا، وتُخرج 11 إذا وإلى إذا كان هناك z0,…,z99∈Nz_0,\ldots,z_{99} \in \N بحيث P(z0,…,z99)=0P(z_0,\ldots,z_{99})=0.

إذن DIODIO غير قابلة للحساب.

وكما هو معتاد، نفترض طريقة قياسية ما للتعبير عن الأعداد والنصوص في صورة سلاسل ثنائية. والعدد 100100 بطبيعة الحال اعتباطي؛ فالمسألة معروفة بأنها غير قابلة للحساب حتى ومتعددات حدود من الدرجة الرابعة وبحد أقصى 58 متغيّرًا. وفعلًا يمكن تقليل عدد المتغيّرات إلى تسعة، على حساب ارتفاع درجة متعددة الحدود (لكنها تبقى ثابتة). انظر ورقة جونز لمزيد من التفاصيل حول هذه المسألة.

ملاحظة — الشيفرة الفعّالة في مقابل البيانات الساكنة

إن صعوبة إيجاد طريقة للتمييز بين «الشيفرة» مثل برامج NAND-TM وبين «المحتوى الساكن» مثل متعددات الحدود ليست سوى مظهر آخر من مظاهر الظاهرة التي تقول إن الشيفرة هي نفسها البيانات. ولأن حلًا لا يُخطئ في التمييز بين الأمرين مستحيل بطبيعته، فإن إيجاد قواعد استدلال (heuristics) تؤدّي عملًا مقبولًا يبقي مصنّعي جدران الحماية ومضادات الفيروسات مشغولين جدًا (وكذلك إيجاد طرق لتجاوز هذه الأدوات يبقي المخترقين مشغولين أيضًا).

صعوبة العبارات العددية المُكمَّمة

لن نبرهن على مبرهنة MRDP (مبرهنة — مبرهنة MRDP). غير أنه، كما ذكرنا، سنبرهن على عدم قابلية حساب QISQIS (أي مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة)، وهي حالة خاصة من مبرهنة MRDP. والسبب أن المعادلة ديوفانطية هي حالة خاصة من عبارة عددية مُكمَّمة لا يتضمّن كمّيتها إلا ∃\exists. وهذا يعني أن تحديد صدق العبارات العددية المُكمَّمة مسألة أصعب من حلّ المعادلات ديوفانطية، ولذلك قد يكون إثبات عدم قابلية حساب QISQIS أسهل.

توقّف وتأمّل

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

سيجري برهاننا لعدم قابلية حساب QISQIS (أي مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة)، كما هو معتاد، عبر الاختزال من مشكلة التوقّف، ولكننا سنفعل ذلك في خطوتين:

  1. سنستعمل أولًا اختزالًا من مشكلة التوقّف لنبيّن أن تحديد صدق العبارات المُكمَّمة المختلطة (quantified mixed statements) غير قابل للحساب. وتتضمّن العبارات المُكمَّمة المختلطة السلاسل والأعداد الصحيحة معًا. ولأن العبارات المُكمَّمة المختلطة مفهوم أعمّ من العبارات العددية المُكمَّمة، فإن إثبات عدم قابلية حساب تحديد صدقها هو أسهل.

  2. سنختزل بعدها مسألة العبارات المُكمَّمة المختلطة إلى العبارات العددية المُكمَّمة.

الخطوة 1: العبارات المُكمَّمة المختلطة وسجلّات الحساب

نعرّف العبارات المُكمَّمة المختلطة بأنها عبارات لا تتضمّن الأعداد الصحيحة والمعاملات الحسابية المعتادة فحسب، بل تتضمّن أيضًا متغيّرات سلاسل (string variables).

تعريف — العبارات المُكمَّمة المختلطة

العبارة المُكمَّمة المختلطة هي عبارة مصوغة صياغة سليمة، لا تحتوي متغيّرات غير مرتبطة، وتتضمّن أعدادًا صحيحة، ومتغيّرات، والمعاملات >,<,×,+,−,=>,<,\times,+,-,=, والعمليات المنطقية ¬\neg (NOT) و ∧\wedge (AND) و ∨\vee (OR)، وكذلك كمّيات من الشكل ∃x∈N\exists_{x\in\N} و ∃a∈{0,1}∗\exists_{a\in\{0,1\}^*} و ∀y∈N\forall_{y\in\N} و ∀b∈{0,1}∗\forall_{b\in\{0,1\}^*} حيث x,y,a,bx,y,a,b أسماء متغيّرات. وهي تتضمّن أيضًا المعامل ∣a∣|a| الذي يُعيد طول المتغيّر aa الذي يأخذ قيمة سلسلة، وكذلك المعامل aia_i حيث aa متغيّر يأخذ قيمة سلسلة و ii تعبير يأخذ قيمة عدد صحيح، ويكون صادقًا إذا كان ii أصغر من طول aa وكان التناسق ithi^{th} في aa يساوي 11، ويكون خاطئًا بغير ذلك.

مثلًا، العبارة الصادقة القائلة إن لكل سلسلة aa هناك سلسلة bb تقابل aa بترتيب معكوس يمكن صياغتها على أنها العبارة المُكمَّمة المختلطة التالية ∀a∈{0,1}∗∃b∈{0,1}∗(∣a∣=∣b∣)∧(∀i∈Ni<∣a∣⇒(ai⇔b∣a∣−i))  . \forall_{a\in\{0,1\}^*} \exists_{b\in \{0,1\}^*} (|a|=|b|) \wedge (\forall_{i\in\N} i < |a| \Rightarrow (a_i \Leftrightarrow b_{|a|-i})) \;.

العبارات المُكمَّمة المختلطة أعمّ من العبارات العددية المُكمَّمة، ولذلك فإن النظرية التالية قد تكون أسهل في البرهان من مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة:

مبرهنة — عدم قابلية حساب العبارات المُكمَّمة المختلطة

ليكن QMS:{0,1}∗→{0,1}QMS:\{0,1\}^* \rightarrow \{0,1\} الدالة التي، معطى تمثيل (سلسليًا) لعبارة مُكمَّمة مختلطة، تُخرج 11 إذا كانت صادقة و 00 إذا كانت خاطئة. إذن QMSQMS غير قابلة للحساب.

الفكرة وراء البرهان تشبه الفكرة المستعملة في إظهار أن الآلات الخلوية أحادية البعد تامة تورينجيًا (مبرهنة — الآليات أحادية البعد كاملة بحسب تورينج)، وكذلك في إظهار أن التكافؤ (بل حتى «الاكتمال») لقواعد النحو الحرّة السياق غير قابل للحساب (مبرهنة — كتمال قواعد CFG غير قابل للحساب). نستعمل مفهوم التهيّؤ (configuration) لبرنامج NAND-TM كما في تعريف — تكوين آلة تورينج.. يمكن التفكير في هذا التهيّؤ بأنه سلسلة α\alpha على أبجدية كبيرة لكنها منتهية Σ\Sigma، تصف حالته الحالية، بما في ذلك قيم جميع المصفوفات والقيم المُفردة ومتغيّر الفهرسة i. ويمكن إظهار أن إذا كان α\alpha هو التهيّؤ عند خطوة معيّنة من التنفيذ و β\beta هو التهيّؤ عند الخطوة التالية، فإن βj=αj\beta_j = \alpha_j لكل jj خارج {i−1,i,i+1}\{i-1,i,i+1\} حيث ii هي قيمة i. وبخاصة، فإن كل قيمة βj\beta_j هي ببساطة دالة لـ αj−1,j,j+1\alpha_{j-1,j,j+1}. وباستعمال هذه الملاحظات يمكننا كتابة عبارة مُكمَّمة مختلطة NEXT(α,β)NEXT(\alpha,\beta) تصدق إذا وإلى إذا كان β\beta هو التهيّؤ الذي يرمّز الخطوة التالية بعد α\alpha. ولأن البرنامج PP يتوقّف عند المدخل xx إذا وإلى إذا كان هناك تتابع من التهيّؤات α0,…,αt−1\alpha^0,\ldots,\alpha^{t-1} (المعروف بـ_سجلّ الحساب_ (computation history)) يبدأ بالتهيّؤ الابتدائي الذي يحمل المدخل xx وينتهي في تهيّؤ توقّف، يمكننا تعريف عبارة مُكمَّمة مختلطة تحدّد ما إذا كان هناك مثل هذا التتابع، بأن نأخذ كمّية كونية على جميع السلاسل HH (من أجل السجلّ (history)) التي ترمّز الثنائي (α0,α1,…,αt−1)(\alpha^0,\alpha^1,\ldots,\alpha^{t-1})، ثم نتحقّق من أن α0\alpha^0 و αt−1\alpha^{t-1} تهيّؤا بداية وتوقّف صالحان، وأن NEXT(αj,αj+1)NEXT(\alpha^j,\alpha^{j+1}) صادقة لكل j∈{0,…,t−2}j\in \{0,\ldots,t-2\}.

برهان

يحصل البرهان عبر اختزال من مشكلة التوقّف. وبالتحديد، سنستعمل مفهوم التهيّؤ لآلات تورينج (تعريف — تكوين آلة تورينج.) الذي رأيناه في سياق البرهان على أن الآلات الخلوية أحادية البعد تامة تورينجيًا. نحتاج إلى الحقائق التالية عن التهيّؤات:

  • لكل آلة تورينج MM، هناك أبجدية منتهية Σ\Sigma، و_تهيّؤ_ لـ MM هو سلسلة α∈Σ∗\alpha \in \Sigma^*.

  • يرمّز التهيّؤ α\alpha حالة البرنامج كلها عند تكرارٍ معيّن، بما في ذلك متغيّرات المصفوفات والقيم المُفردة والفهرسة.

  • إذا كان α\alpha تهيّؤًا، فإن β=NEXTP(α)\beta = NEXT_P(\alpha) يدل على تهيّؤ الحساب بعد تكرارٍ آخر. و β\beta سلسلة على Σ\Sigma طولها ∣α∣|\alpha| أو ∣α∣+1|\alpha|+1، وكل تناسق من تناسقات β\beta هو دالة لثلاثة تناسقات فقط في α\alpha. أي أن، لكل j∈{0,…,∣β∣−1}j\in \{0,\ldots,|\beta|-1\}، βj=MAPP(αj−1,αj,αj+1)\beta_j = MAP_P(\alpha_{j-1},\alpha_j,\alpha_{j+1}) حيث MAPP:Σ3→ΣMAP_P:\Sigma^3 \rightarrow \Sigma دالة ما تعتمد على PP.

  • هناك شروط بسيطة للتحقّق مما إذا كانت سلسلة α\alpha تهيّؤ بداية صالحًا يقابل مدخلًا xx، وكذلك للتحقّق مما إذا كانت سلسلة α\alpha تهيّؤ توقّف. وبخاصة، يمكن صياغة هذه الشروط في صورة عبارات مُكمَّمة مختلطة.

  • يتوقّف البرنامج MM عند المدخل xx إذا وإلى إذا كان هناك تتابع من التهيّؤات H=(α0,α1,…,αT−1)H = (\alpha^0,\alpha^1,\ldots,\alpha^{T-1}) بحيث (i) α0\alpha^0 تهيّؤ بداية صالح لـ MM عند المدخل xx، و (ii) αT−1\alpha^{T-1} تهيّؤ توقّف صالح للبرنامج PP، و (iii) αi+1=NEXTP(αi)\alpha^{i+1} = NEXT_P(\alpha^i) لكل i∈{0,…,T−2}i\in \{0,\ldots,T-2\}.

يمكننا ترميز تتابع التهيّؤات HH من هذا النوع في صورة سلسلة ثنائية. ولأغراض التوضيح، نضع ℓ=⌈log⁡(∣Σ∣+1)⌉\ell = \lceil \log (|\Sigma|+1) \rceil ونرمّز كل رمز σ\sigma في Σ∪{";"}\Sigma \cup \{ ";" \} بسلسلة في {0,1}ℓ\{0,1\}^\ell. نستعمل «;;» كرمز «فاصل»، وبذلك نرمّز H=(α0,α1,…,αT−1)H = (\alpha^0,\alpha^1,\ldots,\alpha^{T-1}) بلصق ترميزات كل تهيّؤ، مستعملين «;;» لفصل ترميز αi\alpha^i عن ترميز αi+1\alpha^{i+1} لكل i∈[T]i\in [T]. وبخاصة، لكل آلة تورينج MM، تتوقّف MM عند المدخل 00 إذا وإلى إذا كانت العبارة التالية φM\varphi_M صادقة

∃H∈{0,1}∗H encodes halting configuration sequence starting with input 0  . \exists_{H \in \{0,1\}^*} \text{$H$ encodes halting configuration sequence starting with input $0$} \;.

إذا استطعنا ترميز العبارة φM\varphi_M في صورة عبارة مُكمَّمة مختلطة، فإن φM\varphi_M صادقة إذا وإلى إذا كان HALTONZERO(M)=1HALTONZERO(M)=1، وهذا يختزل مهمة حساب HALTONZEROHALTONZERO في مهمة حساب QMSQMS، ومن ثمّ يستنتج (باستعمال مبرهنة — التوقّف دون مدخل) أن QMSQMS غير قابلة للحساب، وبذلك يكتمل البرهان. وفعلًا، يمكن ترميز φM\varphi_M في صورة عبارة مُكمَّمة مختلطة للأسباب التالية:

  1. ليكن α,β∈{0,1}∗\alpha,\beta \in \{0,1\}^* سلسلتين ترمّزان تهيّؤَي MM. يمكننا تعريف مسند مُكمَّم مختلط NEXT(α,β)NEXT(\alpha,\beta) يصدق إذا وإلى إذا كان β=NEXTM(α)\beta = NEXT_M(\alpha) (أي أن β\beta يرمّز التهيّؤ الناتج عن الانتقال من α\alpha بخطوة حسابية واحدة). وفعلًا، NEXT(α,β)NEXT(\alpha,\beta) تصدق إذا لكل i∈{0,…,∣β∣}i \in \{0,\ldots,|\beta|\} يقبل القسمة على ℓ\ell، βi,…,i+ℓ−1=MAPM(αi−ℓ,⋯ ,i+2ℓ−1)\beta_{i,\ldots,i+\ell-1} = MAP_M(\alpha_{i-\ell,\cdots,i+2\ell-1}) حيث MAPM:{0,1}3ℓ→{0,1}ℓMAP_M:\{0,1\}^{3\ell} \rightarrow \{0,1\}^\ell هي الدالة المنتهية السابقة (مع تطابق عناصر Σ\Sigma مع ترميزاتها في {0,1}ℓ\{0,1\}^\ell). ولأن MAPMMAP_M دالة منتهية، يمكننا التعبير عنها باستعمال العمليات المنطقية ANDAND و OROR و NOTNOT (مثلًا بحساب MAPMMAP_M ببوابات NANDNAND).

  2. وباستعمال ما سبق يمكننا الآن كتابة الشرط القائل إنه لكل جزئية (substring) من HH تأخذ الشكل αENC(;)β\alpha ENC(;) \beta مع α,β∈{0,1}ℓ\alpha,\beta \in \{0,1\}^\ell و ENC(;)ENC(;) ترميز الفاصل «;;»، يتحقّق أن NEXT(α,β)NEXT(\alpha,\beta) صادقة.

  3. وأخيرًا، إذا كانت α0\alpha^0 سلسلة ثنائية ترمّز التهيّؤ الابتدائي لـ MM عند المدخل 00، يمكن التعبير عن التحقّق من أن أول ∣α0∣|\alpha^0| بتًا من HH تساوي α0\alpha_0 باستعمال ANDAND و OROR و NOTNOT. وبالمثل، يمكن التعبير عن التحقّق من أن آخر تهيّؤ يرمّزه HH يقابل حالة تتوقّف فيها MM على هيئة عبارة مُكمَّمة أيضًا.

ويؤدّي ما سبق مجتمعةً إلى إجراء محسوب يحوّل كل آلة تورينج MM إلى عبارة مُكمَّمة مختلطة φM\varphi_M بحيث HALTONZERO(M)=1HALTONZERO(M)=1 إذا وإلى إذا كان QMS(φM)=1QMS(\varphi_M)=1. وهذا يختزل حساب HALTONZEROHALTONZERO في حساب QMSQMS، ومن ثمّ فإن عدم قابلية حساب HALTONZEROHALTONZERO يستلزم عدم قابلية حساب QMSQMS.

ملاحظة — براهين بديلة

هناك طرق أخرى عدّة لإظهار أن QMSQMS غير قابلة للحساب. مثلًا، يمكننا التعبير عن الشرط القائل إن كانت آلة خلوية أحادية البعد تكتب في النهاية «11» في خلية معيّنة انطلاقًا من تهيّؤ ابتدائي معيّن، في صورة عبارة مُكمَّمة مختلطة على سلسلة ترمّز سجلّ جميع التهيّؤات. يمكننا بعدها استعمال الحقيقة القائلة إن الآلات الخلوية تستطيع محاكاة آلات تورينج (مبرهنة — الآليات أحادية البعد كاملة بحسب تورينج) لاختزال مشكلة التوقّف في QMSQMS. ويمكننا أيضًا استعمال مسائل غير قابلة للحساب معروفة جيدًا أخرى، مثل مسألة التبليط أو مسألة مطابقة البريد. يستعرض تمرين — مسألة مطابقة البريد و تمرين — عدم قابلية حساب مسألة الألغاز برهانين بديلين لـ مبرهنة — عدم قابلية حساب العبارات المُكمَّمة المختلطة.

الخطوة 2: اختزال العبارات المختلطة إلى عبارات عددية

سنبيّن الآن كيف نبرهن على مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة باستعمال مبرهنة — عدم قابلية حساب العبارات المُكمَّمة المختلطة. والفكرة أيضًا هي البرهان بالاختزال. سنبيّن تحويلًا لكل عبارة مُكمَّمة مختلطة φ\varphi إلى عبارة عددية مُكمَّمة ξ\xi لا تستعمل متغيّرات تأخذ قيم سلاسل، بحيث φ\varphi صادقة إذا وإلى إذا كانت ξ\xi صادقة.

ولإزالة المتغيّرات التي تأخذ قيم سلاسل من عبارة، نرمّز كل سلسلة بزوج من الأعداد الصحيحة. سنبيّن أنه يمكننا ترميز سلسلة x∈{0,1}∗x\in \{0,1\}^* بزوج من الأعداد (X,n)∈N(X,n)\in \N بحيث

  • n=∣x∣n=|x|

  • هناك عبارة عددية مُكمَّمة COORD(X,i)COORD(X,i) تصدق لكل i<ni<n إذا كان xi=1x_i=1 وتكون خاطئة بغير ذلك.

وهذا يعني أننا نستطيع استبدال كمّية «لكل» على السلاسل مثل ∀x∈{0,1}∗\forall_{x\in \{0,1\}^*} بزوج من الكمّيات على الأعداد الصحيحة من الشكل ∀X∈N∀n∈N\forall_{X\in \N}\forall_{n\in\N} (وبالمثل استبدال كمّية وجود من الشكل ∃x∈{0,1}∗\exists_{x\in \{0,1\}^*} بزوج من الكمّيات ∃X∈N∃n∈N\exists_{X\in \N}\exists_{n\in\N}). يمكننا بعدها استبدال كل استدعاء لـ ∣x∣|x| بـ nn وكل استدعاء لـ xix_i بـ COORD(X,i)COORD(X,i). وهذا يعني أن إذا استطعنا تعريف COORDCOORD عبر عبارة عددية مُكمَّمة، فإننا سنحصل على برهان لـ مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة، لأننا نستطيع استعمالها لإسقاط كل عبارة مُكمَّمة مختلطة φ\varphi على عبارة عددية مُكمَّمة مكافئة ξ\xi بحيث ξ\xi صادقة إذا وإلى إذا كانت φ\varphi صادقة، ومن ثمّ QMS(φ)=QIS(ξ)QMS(\varphi)=QIS(\xi). وهذا الإجراء يعني أن مهمة حساب QMSQMS تختزل في مهمة حساب QISQIS، وهو ما يعني أن عدم قابلية حساب QMSQMS تستلزم عدم قابلية حساب QISQIS.

يبيّن ما سبق أن برهان مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة ينحصر كله في إيجاد الترميز المناسب للسلاسل في صورة أعداد صحيحة، وفي الطريقة الصحيحة لتنفيذ COORDCOORD في هيئة عبارة عددية مُكمَّمة. ولتحقيق ذلك نستعمل النتيجة الفنية التالية:

لمّة — متتالية أولية قابلة للبناء

هناك متتالية من الأعداد الأولية p0<p1<p2<⋯p_0 < p_1 < p_2 < \cdots بحيث هناك عبارة عددية مُكمَّمة PSEQ(p,i)PSEQ(p,i) تصدق إذا وإلى إذا كان p=pip=p_i.

باستعمال لمّة — متتالية أولية قابلة للبناء يمكننا ترميز x∈{0,1}∗x\in\{0,1\}^* بالأعداد (X,n)(X,n) حيث X=∏xi=1piX = \prod_{x_i=1} p_i و n=∣x∣n=|x|. يمكننا بعدها تعريف العبارة COORD(X,i)COORD(X,i) على النحو COORD(X,i)=∃p∈NPSEQ(p,i)∧DIVIDES(p,X) COORD(X,i) = \exists_{p\in\N} PSEQ(p,i) \wedge DIVIDES(p,X) حيث DIVIDES(a,b)DIVIDES(a,b)، كما سبق، معرَّفة بأنها ∃c∈Na×c=b\exists_{c\in\N} a\times c = b. ولاحظ أن فعلًا إذا كان X,nX,n يرمّزان السلسلة x∈{0,1}∗x\in \{0,1\}^*، فإن لكل i<ni<n نحصل على COORD(X,i)=xiCOORD(X,i)=x_i، لأن pip_i يقسم XX إذا وإلى إذا كان xi=1x_i=1.

وعليه، لم يبقَ لإتمام برهان مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة سوى إثبات لمّة — متتالية أولية قابلة للبناء، وهو ما سنقوم به الآن.

برهان

متتالية الأعداد الأولية التي سننظر فيها هي التالية: نثبّت CC لتكون ثابتًا كبيرًا بما يكفي (C=2234C=2^{2^{34}} تكفي)، ونعرّف pip_i بأنه أصغر عدد أولي يقع في الفترة [(i+C)3+1,(i+C+1)3−1][(i+C)^3+1,(i+C+1)^3-1]. ومن المعلوم أن مثل هذا العدد الأولي موجود لكل i∈Ni\in\N. وبهذا، فإن تعريف PSEQ(p,i)PSEQ(p,i) بسيط: (p>(i+C)×(i+C)×(i+C))∧(p<(i+C+1)×(i+C+1)×(i+C+1)∧PRIME(p)∧(∀p′¬PRIME(p′)∨(p′≤(i+C)×(i+C)×(i+C))∨(p′≥p))  , (p > (i+C)\times(i+C)\times(i+C)) \wedge (p < (i+C+1)\times(i+C+1)\times(i+C+1) \wedge PRIME(p) \wedge \left(\forall_{p'} \neg PRIME(p') \vee (p' \leq (i+C)\times(i+C)\times(i+C)) \vee (p' \geq p) \right) \;, ونترك للقارئ التحقّق من أن PSEQ(p,i)PSEQ(p,i) صادقة إذا وإلى إذا كان p=pip=p_i.

ولإيجاز، فقد بيّنا أن لكل عبارة مُكمَّمة مختلطة φ\varphi يمكننا حساب عبارة عددية مُكمَّمة ξ\xi بحيث QMS(φ)=1QMS(\varphi)=1 إذا وإلى إذا كان QIS(ξ)=1QIS(\xi)=1. وعليه، فإن عدم قابلية حساب QMSQMS (مبرهنة — عدم قابلية حساب العبارات المُكمَّمة المختلطة) تستلزم عدم قابلية حساب QISQIS، وبذلك يكتمل برهان مبرهنة — عدم قابلية حساب العبارات العددية المُكمَّمة، وكذلك برهان مبرهنة غودل في عدم الاكتمال للعبارات العددية المُكمَّمة (مبرهنة — مبرهنة غودل في عدم الاكتمال للعبارات العددية المُكمَّمة).

خلاصة

  • تشمل الدوال غير القابلة للحساب أيضًا دوالًا تبدو وكأن لا علاقة لها ببرامج NAND-TM أو بنماذج حوسبة أخرى، مثل تحديد قابلية إشباع المعادلات ديوفانطية.
  • وهذا يعني أيضًا أن لكل نظام برهنة سليم (بل وبخاصة كل نظام بديهي منته (finite axiomatic system)) SS، توجد عبارات مهمة XX (أي من الشكل «F(x)=0F(x)=0» لدالة غير قابلة للحساب FF) بحيث لا يستطيع SS إثبات XX ولا نفيها.

التمارين

تمرين — أنظمة البرهنة وعدم قابلية الحساب

ليكن FINDPROOF:{0,1}∗→{0,1}FINDPROOF:\{0,1\}^* \rightarrow \{0,1\} الدالة التالية. فعلى مدخل آلة تورينج VV (التي نعتبرها خوارزمية التحقّق لنظام برهنة) وسلسلة x∈{0,1}∗x\in \{0,1\}^*، نحصل على FINDPROOF(V,x)=1FINDPROOF(V,x)=1 إذا وإلى إذا كان هناك w∈{0,1}∗w\in \{0,1\}^* بحيث V(x,w)=1V(x,w)=1.

  1. برهن أن FINDPROOFFINDPROOF غير قابلة للحساب.

  2. برهن أن هناك آلة تورينج VV بحيث VV تتوقّف عند كل مدخل x,vx,v لكن الدالة FINDPROOFVFINDPROOF_V المعرَّفة بـ FINDPROOFV(x)=FINDPROOF(V,x)FINDPROOF_V(x) = FINDPROOF(V,x) غير قابلة للحساب. انظر الحاشية للتلميح.[4]

تمرين — تعبير عن الجزء الصحيح

ليكن FSQRT(n,m)=∀j∈N((j×j)>m)∨(j≤n)FSQRT(n,m) = \forall_{j \in \N} ((j \times j)>m) \vee (j \leq n). برهن أن FSQRT(n,m)FSQRT(n,m) صادقة إذا وإلى إذا كان n=⌊m⌋n =\floor{\sqrt{m}}.

تمرين — أنظمة البرهنة البديهية

لكل تمثيل للعبارات المنطقية في صورة سلاسل، يمكننا تعريف نظام برهنة بديهي بأنه يتألف من مجموعة منتهية من السلاسل AA ومجموعة منتهية من القواعد I0,…,Im−1I_0,\ldots,I_{m-1} مع Ij:({0,1}∗)kj→{0,1}∗I_j: (\{0,1\}^*)^{k_j} \rightarrow \{0,1\}^* بحيث يكون البرهان (s1,…,sn)(s_1,\ldots,s_n) على أن sns_n صادقة صالحًا إذا كان لكل ii، إما si∈As_i \in A أو يوجد j∈[m]j\in [m] و i1,…,ikj<ii_1,\ldots,i_{k_j} < i بحيث si=Ij(si1,…,ikj)s_i = I_j(s_{i_1},\ldots,i_{k_j}). النظام سليم (sound) إذا لم يكن هناك ss خاطئة بحيث يوجد برهان على أن ss صادقة. برهن أن لكل دالة غير قابلة للحساب F:{0,1}∗→{0,1}F:\{0,1\}^* \rightarrow \{0,1\} ولكل نظام برهنة بديهي سليم SS (الذي يتميّز بعدد منتهٍ من البديهيات وقواعد الاستنتاج)، يوجد مدخل xx لا يستطيع عنده نظام البرهنة SS إثبات أن F(x)=0F(x)=0 ولا أن F(x)≠0F(x) \neq 0.

في مشكلة الألغاز (puzzle problem)، يمكن اعتبار المدخل مجموعةً محدودة  من أنواع قطع الألغاز، والهدف هو معرفة ما إذا كان بالإمكان ترتيب قطعٍ من هذه الأنواع في مستطيل. ونُنمذج المدخل رسميًا كزوجٍ من الدالتين  بحيث  (وما يكافئه  ) إذا كانت القطعتان متوافقين حين تُوضَعان في موضعيهما المحدَّدين. ونفترض أنّ  تحوي رمزًا خاصًّا  يقابل غياب القطعة، ويُنمذج ترتيب قطع الألغاز في مستطيل  بنصٍّ  تكون فيه «الإحداثيات الخارجية» ، ويتحقّق أنّ لكلّ  تحقّق  و.

تمرين — مسألة مطابقة البريد

في مسألة مطابقة البريد يكون المدخل مجموعة S={(α0,β0),…,(βc−1,βc−1)}S = \{ (\alpha^0,\beta^0), \ldots, (\beta^{c-1},\beta^{c-1}) \} حيث كل αi\alpha^i و βj\beta^j سلسلة في {0,1}∗\{0,1\}^*. نقول إن PCP(S)=1PCP(S)=1 إذا وإلى إذا كان هناك قائمة (α0,β0),…,(αm−1,βm−1)(\alpha_0,\beta_0),\ldots,(\alpha_{m-1},\beta_{m-1}) من الأزواج في SS بحيث α0α1⋯αm−1=β0β1⋯βm−1  . \alpha_0 \alpha_1 \cdots \alpha_{m-1} = \beta_0 \beta_1 \cdots \beta_{m-1} \;. (يمكننا التفكير في كل زوج (α,β)∈S(\alpha,\beta) \in S على أنه «بلاطة دومينو»، والسؤال هو ما إذا كان بإمكاننا تكديس قائمة من هذه البلاطات بحيث ينتج الحدّ الأعلى والحدّ الأسفل السلسلة نفسها.) يمكن إظهار أن PCPPCP غير قابلة للحساب ببرهان مباشر إلى حد كبير وإن كان مُملًّا بعض الشيء (انظر مثلًا صفحة ويكيبيديا لمسألة مطابقة البريد أو القسم 5.2 في [@SipserBook]).

استعمل هذه الحقيقة لتقديم برهان مباشر على أن QMSQMS غير قابلة للحساب، بحيث تُظهر أن هناك دالة محسوبة R:{0,1}∗→{0,1}∗R:\{0,1\}^* \rightarrow \{0,1\}^* بحيث PCP(S)=QMS(R(S))PCP(S) = QMS(R(S)) لكل سلسلة SS ترمّز نموذجًا من مسألة مطابقة البريد.

تمرين — عدم قابلية حساب مسألة الألغاز

لتكن PUZZLE:{0,1}∗→{0,1}PUZZLE:\{0,1\}^* \rightarrow \{0,1\} مسألةَ تحديد، معطى مجموعة منتهية من أنواع «قطع الألغاز»، ما إذا كان من الممكن تركيبها معًا في مستطيل، انظر الشكل التوضيحي. رسميًا، نفترض أن المجموعة من هذا النوع هي مجموعة منتهية Σ\Sigma (انظر الشكل التوضيحي). ونمذج معايير «التوافق» بين القطع بزوج من الدوال المنتهية match↕,match↔:Σ2→{0,1}match_{\updownarrow}, match_{\leftrightarrow}:\Sigma^2 \rightarrow \{0,1\} بحيث تناسب قطعة aa فوق قطعة bb إذا وإلى إذا كان match↕(a,b)=1match_{\updownarrow}(a,b)=1، وتَناسب قطعة cc يسار قطعة dd إذا وإلى إذا كان match↔(c,d)=1match_{\leftrightarrow}(c,d)=1. ولنمذجة قطع «الحافة المستقيمة» التي يمكن وضعها بجوار «مكان فارغ»، نفترض أن Σ\Sigma تحتوي الرمز ∅\varnothing وتُعرَّف دوال المطابقة وفقًا لذلك. التبليط المربّع (square tiling) لـ Σ\Sigma هو سلسلة x∈Σmnx \in \Sigma^{mn} طولها m×nm\times n، بحيث لكل i∈{1,…,m−2}i\in \{1,\ldots,m-2 \} و j∈{1,…,n−2}j\in \{1,\ldots,n-2 \}، match(xi,j,xi−1,j,xi+1,j,xi,j−1,xi,j+1)=1match(x_{i,j},x_{i-1,j},x_{i+1,j},x_{i,j-1},x_{i,j+1})=1 (أي أن كل «قطعة داخلية» تناسب القطع المجاورة لها). كما نشترط أن تكون كل «القطع الخارجية» (أي xi,jx_{i,j} حيث i∈{0,m−1}i\in \{0,m-1\} أو j∈{0,n−1}j\in \{0,n-1\}) «فارغة» أو مساوية لـ ∅\varnothing. تأخذ الدالة PUZZLEPUZZLE كمدخل سلسلة تصف المجموعة Σ\Sigma والدالة matchmatch، وتُخرج 11 إذا وإلى إذا كان هناك تبليط مربّع لـ Σ\Sigma: أي سلسلة x∈Σmnx\in \Sigma^{mn} ليست كلّها فارغة، وتستوفي الشرط أعلاه.

  1. برهن أن PUZZLEPUZZLE غير قابلة للحساب.

  2. اعطِ اختزالًا من PUZZLEPUZZLE إلى QMSQMS.

تمرين — تمرين MRDP

تنص مبرهنة MRDP على أن مسألة تحديد، معطى متعددة حدود pp ذات معاملات صحيحة في kk متغيّرًا، ما إذا كان هناك أعداد صحيحة x0,…,xk−1x_0,\ldots,x_{k-1} بحيث p(x0,…,xk−1)=0p(x_0,\ldots,x_{k-1})=0، هي مسألة غير قابلة للحساب. ولنفكّر في مسألة المعادلات العددية التربيعية التالية: يكون المدخل قائمة من متعددات الحدود p0,…,pm−1p_0,\ldots,p_{m-1} على kk متغيّرات ذات معاملات صحيحة، حيث درجة كل واحدة منها على الأكثر اثنتان (أي أنها دالة تربيعية). والهدف هو تحديد ما إذا كان هناك أعداد صحيحة x0,…,xk−1x_0,\ldots,x_{k-1} تحلّ المعادلات p0(x)=⋯=pm−1(x)=0p_0(x)= \cdots = p_{m-1}(x)=0.

استعمل مبرهنة MRDP لإثبات أن هذه المسألة غير قابلة للحساب. أي، بيّن أن الدالة QUADINTEQ:{0,1}∗→{0,1}QUADINTEQ:\{0,1\}^* \rightarrow \{0,1\} غير قابلة للحساب، حيث تأخذ هذه الدالة كمدخل سلسلة تصف متعددات الحدود p0,…,pm−1p_0,\ldots,p_{m-1} (كل منها ذات معاملات صحيحة ودرجة على الأكثر اثنتين)، وتُخرج 11 إذا وإلى إذا كان هناك x0,…,xk−1∈Zx_0,\ldots,x_{k-1} \in \mathbb{Z} بحيث لكل i∈[m]i\in [m]، pi(x0,…,xk−1)=0p_i(x_0,\ldots,x_{k-1})=0. انظر الحاشية للتلميح[5]

تمرين — مسألة القندس الانشغال

في هذا السؤال نعرّف الصيغة البديلة من دالة القندس الانشغال على NAND-TM.

  1. نعرّف الدالة T:{0,1}∗→NT:\{0,1\}^* \rightarrow \mathbb{N} كما يلي: لكل سلسلة P∈{0,1}∗P\in \{0,1\}^*، إذا كانت PP تمثّل برنامج NAND-TM بحيث، عند تنفيذ PP على المدخل 00 (أي السلسلة التي طولها 1 وهي 00 ببساطة)، يُنفَّذ ما مجموعه MM سطرًا قبل أن يتوقّف البرنامج، فإن T(P)=MT(P)=M. وبغير ذلك (إذا لم تكن PP تمثّل برنامج NAND-TM، أو كانت برنامجًا لا يتوقّف عند 00)، فإن T(P)=0T(P)=0. برهن أن TT غير قابلة للحساب.

  2. ليكن TOWER(n)TOWER(n) العدد 222⋯2⏟n times\underbrace{2^{2^{2^{{\cdots}^2}}}}_{n\text{ times}} (أي «برج من قوى الاثنين» ارتفاعه nn). ولإعطاء إحساس بمدى سرعة نمو هذه الدالة، TOWER(1)=2TOWER(1)=2، TOWER(2)=22=4TOWER(2)=2^2=4، TOWER(3)=222=16TOWER(3)=2^{2^2}=16، TOWER(4)=216=65536TOWER(4) = 2^{16} = 65536 و TOWER(5)=265536TOWER(5) = 2^{65536} وهو نحو 102000010^{20000}. أما TOWER(6)TOWER(6) فهو عدد كبير جدًا بحيث يتعذّر كتابته حتى بالترميز العلمي. عرّف NBB:N→NNBB:\mathbb{N} \rightarrow \mathbb{N} (من أجل «القندس الانشغال في NAND-TM») لتكون الدالة NBB(n)=max⁡P∈{0,1}nT(P)NBB(n) = \max_{P\in \{0,1\}^n} T(P) حيث T:N→NT:\mathbb{N} \rightarrow \mathbb{N} هي الدالة المعرَّفة في البند 1. برهن أن NBBNBB تنمو أسرع من TOWERTOWER، بالمعنى أن TOWER(n)=o(NBB(n))TOWER(n) = o(NBB(n)) (أي أن لكل ϵ>0\epsilon>0، يوجد n0n_0 بحيث لكل n>n0n>n_0، TOWER(n)<ϵ⋅NBB(n)TOWER(n) < \epsilon \cdot NBB(n).).[6]

ملاحظات ببليوغرافية

كما ذكرنا من قبل، فإن كتاب غودل وإشر وباخ (Gödel, Escher, Bach) [@hofstadter1999] كتابٌ موصى به بدرجة عالية يتناول مبرهنة غودل. ومن الكتب الكلاسيكية في العلوم الشائعة عن نظرية فيرما الأخيرة هو [@singh1997fermat].

تُستعمل براهين كانتور في مبرهني تورينج وغودل معًا. ومن المفارقة، باستعمال تقنيات أصلت من أعمال غودل وتورينج، بيّن بول كوهين سنة 1963 أن فرضية الاستمرار (Continuum Hypothesis) عند كانتور مستقلة عن بديهيات نظرية المجموعات، أي أنه لا يمكن إثباتها ولا نفيها من هذه البديهيات، ولذلك يمكن بمعنى من المعاني اعتبارها «لا صادقة ولا خاطئة» (انظر [@cohen2008set]). فرضية الاستمرار هي الحدس القائل إن لكل مجموعة جزئية SS من R\mathbb{R}، إمّا يوجد دالة تقابل (bijection) بين SS و N\N، وإمّا يوجد دالة تقابل بين SS و R\mathbb{R}. وقد حدسها كانتور وأدرجها هيلبرت سنة 1900 ضمن أهم المسائل في الرياضيات. وانظر أيضًا استعراض شلاه غير التقليدي [@shelah2003logical]. وانظر هنا للتقدّم الأخير في مسألة ذات صلة.

شكرًا لأليكس لومباردي على تنبيهه إلى خطأ محرج في وصف نظرية فيرما الأخيرة. (لقد قلت إنها كانت مفتوحة للأسّ 11 قبل عمل وايلز.)


  1. ومعلوم أنها عبارة خاطئة. ↩︎

  2. من غير المُعروف ما إذا كانت هذه العبارة صادقة أم خاطئة. ↩︎

  3. هذه حالة خاصة مما يُعرف بـ«نظرية فيرما الأخيرة» التي تنص على أن an+bn=cna^n + b^n = c^n لا حلّ لها في الأعداد الصحيحة من أجل n>2n>2. وقد افترضها بيير دو فيرما سنة 1637، لكن لم يثبتها أندرو وايلز إلا في سنة 1991. أما الحالة n=11n=11 (مع كل ما يُسمى «أسّات الأعداد الأولية المنتظمة») فقد أثبتها كومر سنة 1850. ↩︎

  4. تلميح: تخيّل xx على أنها تقول «آلة تورينج MM تتوقّف عند المدخل uu»، و ww برهان على العدد من الخطوات التي ستستغرقها حدوث ذلك. هل تستطيع إيجاد VV تتوقّف دائمًا وتتحقّق من مثل هذه العبارات؟ ↩︎

  5. يمكنك استبدال المعادلة y=x4y=x^4 بزوج المعادلتين y=z2y=z^2 و z=x2z=x^2. ويمكنك أيضًا استبدال المعادلة w=x6w = x^6 بثلاث معادلات w=yuw=yu و y=x4y = x^4 و u=x2u=x^2. ↩︎

  6. لن تحتاج في هذا التمرين إلى استعمال خصائص دقيقة جدًا للدالة TOWERTOWER. فمثلًا، NBB(n)NBB(n) تنمو أيضًا أسرع من دالة أكرمان. ولعلك تجد مقالة آرونسون في مدونته عن الموضوع نفسه مثيرة للاهتمام وذات صلة بهذا الكتاب ككل. فإن أعجبتك، فقد تستمتع أيضًا بهذه المقالة لتيرنس تاو. ↩︎