컴퓨터 과학의 블랙홀처럼. 우리는 그것들이 존재한다는 것을 알 수 있지만 그들 중 하나가있을 때 우리는 그것이 그들 중 하나라는 것을 절대 알 수 없습니다.
if T is true
하시겠습니까?
For each string S in the (countable) universe of possible strings: If S is a syntactically valid proof of T, halt.
컴퓨터 과학의 블랙홀처럼. 우리는 그것들이 존재한다는 것을 알 수 있지만 그들 중 하나가있을 때 우리는 그것이 그들 중 하나라는 것을 절대 알 수 없습니다.
if T is true
하시겠습니까?
For each string S in the (countable) universe of possible strings: If S is a syntactically valid proof of T, halt.
답변:
실제로 이와 같은 프로그램이 있습니다. 이를 증명하기 위해 정지하지 않는 모든 기계에 대해 정지하지 않았다는 증거가 있다고 가정합시다.
이 증거는 우리가보다 적은 길이의 모든 증거를 열거 할 수 있습니다, 유한 길이의 문자열 일부 정수 의 .
그런 다음이를 사용하여 정지 문제를 다음과 같이 해결할 수 있습니다. Turing Machine 과 입력 x가 주어지면 다음 알고리즘을 사용합니다.
s := 0
while (True)
test if machine M halts on input x in s steps
look at all proofs of length s and see if they prove M doesn't halt on input x
set s := s + 1
경우 입력에 정지하는 X , 다음은 일부 단계에서 한정된 수의 정지 의 알고리즘이 종료되도록.
경우 입력에 정지하지 않는 X , 다음 우리의 가정에 의해, 일부 증거 길이 거기 의 하는 증거가 어디 M이 정지를하지 않는가. 따라서이 경우 알고리즘은 항상 종료됩니다.
따라서 항상 종료되는 Halting 문제를 결정하는 알고리즘이 있습니다. 그러나 우리는 이것이 존재할 수 없다는 것을 알고 있으므로 정지하지 않는 증거가 항상 있다는 가정은 거짓이어야합니다.
좀 더 구체적인 예를 들어, 증명을 위해 사용하는 이론은 다음과 같은 특징이 있다고 가정합니다.
이러한 가정을 통해 다음 프로그램은 중단되지 않지만 중단하지 않는 것으로 증명할 수는 없습니다 (우리가 사용하는 이론의 범위 내에서).
let k := 0;
repeat:
let k := k + 1;
let s := binary expansion of k, excluding leading 1 bit;
while s does not encode a proof of a contradiction;
halt.
여기서 중요한 세부 사항은 위의 첫 번째 가정, 즉 우리가 증명에 사용하는 이론이 일관성이 있다는 것입니다. 분명히, 우리는 우리의 증거는 아무 것도 가치가있을 때까지,이 가정해야하지만 괴델의 두 번째 불완전 성 정리는 합리적으로 표현하고 효과적으로 axiomatized 이론, 그 말한다, 우리가 실제로 이것을 증명할 수 (일부 아마도 제외시켰다 다른 그 다음 일관성 우리를, 이론 등을 가정해야 함).
if T is true then halt else loop forever