이것은 흥미로운 질문입니다. 분명히 하나는 각각 결정하는 프로그램이 기대할 수 없다 여부 이 중단 문제를 결정하는 것처럼, 보유 여부를. 이미 언급했듯이 증거를 계산적으로 해석하는 몇 가지 방법이 있습니다. Curry-Howard의 확장, 실현 가능성, 방언 등. 그러나 그들은 모두 당신이 언급 한 정리를 다음과 같은 방식으로 계산적으로 해석 할 것입니다.∀ k T ( e , k )e∀kT(e,k)
단순화를 위해 동등한 고전 정리를 고려하십시오.
(1)∃i∀j(¬T(e,j)→¬T(e,i))
이 때문에 주어진 한 것과 등가 (보강) 인 우리가 결정할 수 보유하거나 단순히의 값을 확인하여 . 만약 가 있으면 그리고 따라서 입니다. 반면에 가 (1)에 의해 않으면 가 .∀ k는 T ( 즉 , K ) ¬ T를 ( E , I ) ¬ T ( E , I ) ∃ I ¬ T ( 즉 , 나 ) ¬ ∀ I T ( E , I ) ¬ T ( E , I ) ∀ J ( ¬ T ( e , j ) → ⊥ )i∀kT(e,k)¬T(e,i)¬T(e,i)∃i¬T(e,i)¬∀iT(e,i)¬T(e,i)∀j(¬T(e,j)→⊥)∀jT(e,j)
이제 다시 Halting Problem을 해결하기 때문에 주어진 각 에 대해 (1)에서 를 계산할 수 없습니다 . 위에서 언급 한 모든 해석은 동등한 정리를 보는 것입니다.전자ie
(2)∀f∃i′(¬T(e,f(i′))→¬T(e,i′))
함수 를 Herbrand 함수라고합니다. 주어진 각 잠재적 인 증인 대한 카운터 예제 를 계산하려고 시도합니다 . (1)과 (2)는 동일하다는 것이 분명합니다. 왼쪽에서 오른쪽으로 이것은 건설적입니다. 간단히 (2)에서 를 취하십시오 . 여기서 는 (1)의 가정 된 증인입니다. 오른쪽에서 왼쪽으로 고전적으로 추론해야합니다. (1)이 사실이 아니라고 가정합니다. 그때,j i i ' = i ifjii′=ii
(3)∀i∃j¬(¬T(e,j)→¬T(e,i))
하자 함수가이 목격 될, 즉,f′
(4)∀i¬(¬T(e,f′(i))→¬T(e,i))
이제 (2)에서 를 취 하면 일부 대해 있습니다. 그러나 (4)에서 를 취 하면 우리는 그 모순의 부정을 얻습니다. 따라서 (2)는 (1)을 의미합니다. ( ¬ T ( e , f ′ ( i ′ ) ) → ¬f=f′i ′ i = i ′(¬T(e,f′(i′))→¬T(e,i′))i′i=i′
따라서 우리는 (1)과 (2)가 고전적으로 동등하다는 것을 알 수 있습니다. 그러나 흥미로운 점은 (2) 이제 매우 단순한 건설적인 증거를 가지고 있다는 것입니다. 간단히 취할 경우 보유하지 않고, 다음 (2)의 체결이 사실로 인해; 또는 유지 되면 취합니다. 이 유지되지 않고 (2)의 전제가 거짓이므로 다시 참이되기 때문입니다.T ( e , f ( 0 ) ) i ′ = 0 T (i′=f(0)T(e,f(0))i′=0¬ T ( e , f ( 0 ) )T(e,f(0))¬T(e,f(0))
따라서 (1)과 같은 고전 정리를 계산적으로 해석하는 방법은 우리의 경우 (2)에서 건설적으로 입증 될 수있는 (클래식) 등가 공식을 보는 것입니다.
위에서 언급 한 다른 해석은 함수 가 나타나는 방식에 따라 다릅니다 . 실현 가능성과 방언 해석의 경우, 이것은 어떤 형태의 부정적인 번역 (예 : Goedel-Gentzen 's)과 결합 될 때 해석에 의해 명시 적으로 제공됩니다. call-cc 및 연속 연산자가있는 Curry-Howard 확장의 경우 함수 는 프로그램이 특정 값 (이 경우 )이 사용되는 방법을 "알아낼"수 있다는 사실에서 발생합니다 . 따라서 는 연속입니다 가 계산 되는 지점 주변의 프로그램 .f i f iffifi
또 다른 중요한 점은 (1)에서 (2) 로의 통과가 "모듈 식"이되기를 원한다는 것입니다. 즉 (1)을 (1 ')을 증명하는 데 사용하는 경우 해석 (2)를 비슷한 방식으로 사용해야합니다. (1 ')의 해석을 증명하기 위해 (2')라고 말하십시오. Goedel-Gentzen 부정적인 번역을 포함하여 위에서 언급 한 모든 해석이 그렇게합니다.