एनिमेशन के साथ प्रिटियर प्रूफ की कोशिश करें । और चूंकि 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)
X
H(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)
अपने विचार को काम करने के लिए विचार करना चाहिए ।