एनिमेशन के साथ प्रिटियर प्रूफ की कोशिश करें । और चूंकि arsrs में किसी साइट के लिंक से अधिक होना चाहिए, यहां आपके प्रश्न का उत्तर है।
सबसे पहले, हमें याद दिलाएं कि हाल्टिंग ऑर्कल के गैर-अस्तित्व के प्रमाण कैसे काम करते हैं। हम साबित करते हैं कि किसी भी उम्मीदवार Hको हाल्टिंग ऑरेकल के लिए दिया गया , एक कार्यक्रम Pऔर एक इनपुट aहै जिसके Hलिए सही भविष्यवाणी करने में विफल रहता है कि क्या P(a)करता है।
प्रमेय: Let Hकिसी भी प्रोग्राम है जो लेता हो दो आदानों और हमेशा रिटर्न या तो haltया loop। उसके बाद एक प्रोग्राम Qऔर एक इनपुट मौजूद होता है , aजो कि Q(a)रुकता है, और केवल अगर, H(Q,a)वापस आता है loop।
प्रमाण। कार्यक्रम पर विचार करें
program P(y):
if H(y,y) = halt then
loop forever
else:
return
चलो Q = Pऔर a = P। या तो H(Q,a) = haltया H(Q,a) = loop:
- अगर
H(Q,a) = haltतब Q(a)(जो सिर्फ है P(P)) की परिभाषा से हमेशा के लिए चलता है P।
- अगर
H(Q,a) = loopतब के Q(a)पड़ाव से रुका है P।
QED
आपने पूछा कि हमने कुछ अन्य के H(P,P)बजाय क्यों माना । स्पष्ट उत्तर है "क्योंकि वही जो प्रमाण का काम करता है"! अगर आप कुछ मनमाना इस्तेमाल करते तो आप फंस जाते। वास्तव में, प्रमाण तब इस तरह दिखेगा:H(P,X)XH(P,P)H(P,X)X
टूटा हुआ प्रमाण। कार्यक्रम पर विचार करें
program P(y):
if H(y,y) = halt then
loop forever
else:
return
चलो Q = Pऔर a = Xकुछ मनमानी के लिए X। या तो H(Q,X) = haltया H(Q,X) = loop:
- मान लीजिए कि
H(Q,X) = haltहम यह नहीं बता सकते हैं कि क्या P(X)होता है, क्योंकि P(X)रुकाव क्या H(X,X)रिटर्न पर निर्भर करता है। हम फंसे हुए हैं। हालांकि, अगर हमें पता था कि P(X)और X(X)समान हैं, तो हम प्रगति कर सकते हैं। (इसलिए, हमें वास्तव में लेना चाहिए X = P)।
- यदि
H(Q,a) = loopतब हम फिर से फंस जाते हैं, और यदि हम अस्थिर होंगे X = P।
कोई QED नहीं।
मुझे उम्मीद है कि यह दिखाता है कि हमें H(P,P)अपने विचार को काम करने के लिए विचार करना चाहिए ।