以下使用元語言 敘述證明過程。讀者可以自己轉成以一階邏輯語言表達的正式證明。
對於
T
{\displaystyle T}
中有一完全自由變數
x
{\displaystyle x}
的合式公式
A
(
x
)
{\displaystyle {\mathcal {A}}(x)}
,我們定義函數
f
:
N
→
N
{\displaystyle f:\mathbb {N} \to \mathbb {N} }
為:
f
(
#
A
(
x
)
)
=
#
[
A
(
∘
#
A
(
x
)
)
]
{\displaystyle f(\#_{{\mathcal {A}}(x)})=\#[{\mathcal {A}}(^{\circ }\#_{{\mathcal {A}}(x)})]}
其他狀況下取
f
(
n
)
=
0
{\displaystyle f(n)=0}
。顯然函數
f
{\displaystyle f}
是可計算的,故根據假設,存在合式公式
A
f
(
x
,
y
)
{\displaystyle {\mathcal {A}}_{f}(x,\,y)}
使得
⊢
T
(
∀
y
)
{
A
f
(
∘
#
A
(
x
)
,
y
)
⇔
[
y
=
∘
f
(
#
A
(
x
)
)
]
}
{\displaystyle \vdash _{T}\,(\forall y)\{{\mathcal {A}}_{f}(^{\circ }\#_{{\mathcal {A}}(x)},\,y)\Leftrightarrow [y=^{\circ }f(\#_{{\mathcal {A}}(x)})]\}}
(
1
)
{\displaystyle (1)}
然後對具有自由變數
y
{\displaystyle y}
的合式公式
F
(
y
)
{\displaystyle {\mathcal {F}}(y)}
,定義
B
(
x
)
{\displaystyle {\mathcal {B}}(x)}
為:
B
(
x
)
:=
(
∀
y
)
[
A
f
(
x
,
y
)
⇒
F
(
y
)
]
{\displaystyle {\mathcal {B}}(x):=(\forall y)[{\mathcal {A}}_{f}(x,\,y)\Rightarrow {\mathcal {F}}(y)]}
注意到一階邏輯的公理模式 (參見量词公理 )
(
∀
y
)
D
(
y
)
⇒
D
(
S
)
{\displaystyle (\forall y){\mathcal {D}}(y)\Rightarrow {\mathcal {D}}(S)}
(
A
4
)
{\displaystyle (A4)}
D
(
S
)
{\displaystyle {\mathcal {D}}(S)}
是簡記
D
(
y
)
{\displaystyle {\mathcal {D}}(y)}
內所有自由的
y
{\displaystyle y}
被取代成項
S
{\displaystyle S}
所得到的新合式公式(而並非 代表
D
(
y
)
{\displaystyle {\mathcal {D}}(y)}
只有一個組成變數);而(A4)要成立,必須額外要求:若
s
i
{\displaystyle s_{i}}
是組成
S
{\displaystyle S}
的其中一個變數,則
D
(
y
)
{\displaystyle {\mathcal {D}}(y)}
內自由的
y
{\displaystyle y}
都不被
s
i
{\displaystyle s_{i}}
的量詞約束。(簡稱為項
S
{\displaystyle S}
對變數
y
{\displaystyle y}
於合式公式
D
(
y
)
{\displaystyle {\mathcal {D}}(y)}
是自由的)
(A4)配合(1)使用MP律 有
⊢
T
[
A
f
(
∘
#
A
(
x
)
,
y
)
]
⇔
[
y
=
∘
f
(
#
A
(
x
)
)
]
{\displaystyle \vdash _{T}\,[{\mathcal {A}}_{f}(^{\circ }\#_{{\mathcal {A}}(x)},\,y)]\Leftrightarrow [y=^{\circ }f(\#_{{\mathcal {A}}(x)})]}
所以從
B
(
x
)
{\displaystyle {\mathcal {B}}(x)}
的定義有
⊢
T
B
(
∘
#
A
(
x
)
)
⇔
(
∀
y
)
{
[
y
=
∘
f
(
#
A
(
x
)
)
]
⇒
F
(
y
)
}
{\displaystyle \vdash _{T}\,{\mathcal {B}}(^{\circ }\#_{{\mathcal {A}}(x)})\Leftrightarrow (\forall y)\{[y=^{\circ }f(\#_{{\mathcal {A}}(x)})]\Rightarrow {\mathcal {F}}(y)\}}
(
2
)
{\displaystyle (2)}
注意到從演绎定理 會有
D
1
⇒
(
D
2
⇒
D
3
)
,
D
2
⊢
T
D
1
⇒
D
3
{\displaystyle {\mathcal {D}}_{1}\Rightarrow ({\mathcal {D}}_{2}\Rightarrow {\mathcal {D}}_{3}),\,{\mathcal {D}}_{2}\vdash _{T}\,{\mathcal {D}}_{1}\Rightarrow {\mathcal {D}}_{3}}
(
D
)
{\displaystyle (D)}
D
1
⇒
D
2
,
D
2
⇒
D
3
⊢
T
D
1
⇒
D
3
{\displaystyle {\mathcal {D}}_{1}\Rightarrow {\mathcal {D}}_{2},\,{\mathcal {D}}_{2}\Rightarrow {\mathcal {D}}_{3}\vdash _{T}\,{\mathcal {D}}_{1}\Rightarrow {\mathcal {D}}_{3}}
(
D
′
)
{\displaystyle (D^{\prime })}
對定理(2)雙箭頭的後半部與公理模式(A4)使用MP律,然後套用(D')會有
⊢
T
B
(
∘
#
A
(
x
)
)
⇒
{
[
∘
f
(
#
A
(
x
)
)
=
∘
f
(
#
A
(
x
)
)
]
⇒
F
[
∘
f
(
#
A
(
x
)
)
]
}
{\displaystyle \vdash _{T}\,{\mathcal {B}}(^{\circ }\#_{{\mathcal {A}}(x)})\Rightarrow \{[^{\circ }f(\#_{{\mathcal {A}}(x)})=^{\circ }f(\#_{{\mathcal {A}}(x)})]\Rightarrow {\mathcal {F}}[^{\circ }f(\#_{{\mathcal {A}}(x)})]\}}
(
3
)
{\displaystyle (3)}
而從等號的性質(奠基於皮亞諾公理 ),對所有的項
S
{\displaystyle S}
有
⊢
T
S
=
S
{\displaystyle \vdash _{T}S=S}
故(3)配合(D)會有
⊢
T
B
(
∘
#
A
(
x
)
)
⇒
F
[
∘
f
(
#
A
(
x
)
)
]
{\displaystyle \vdash _{T}\,{\mathcal {B}}(^{\circ }\#_{{\mathcal {A}}(x)})\Rightarrow {\mathcal {F}}[^{\circ }f(\#_{{\mathcal {A}}(x)})]}
(
R
−
r
i
g
h
t
)
{\displaystyle (R-right)}
然後對等式和它的公理 (同樣奠基於皮亞諾公理 )施用兩次普遍化 ,然後與(A4)施用MP律兩次會有:
若項
S
{\displaystyle S}
和
U
{\displaystyle U}
都對變數
y
{\displaystyle y}
於
F
(
y
)
{\displaystyle {\mathcal {F}}(y)}
自由,則
⊢
T
(
S
=
U
)
⇒
[
F
(
S
)
⇒
F
(
U
)
]
{\displaystyle \vdash _{T}\,(S=U)\Rightarrow [{\mathcal {F}}(S)\Rightarrow {\mathcal {F}}(U)]}
(
E
)
{\displaystyle (E)}
所以從(D)和演绎定理有
⊢
T
F
[
∘
f
(
#
A
(
x
)
)
]
⇒
{
[
∘
f
(
#
A
(
x
)
)
=
y
]
⇒
F
(
y
)
}
{\displaystyle \vdash _{T}\,{\mathcal {F}}[^{\circ }f(\#_{{\mathcal {A}}(x)})]\Rightarrow \{[^{\circ }f(\#_{{\mathcal {A}}(x)})=y]\Rightarrow {\mathcal {F}}(y)\}}
(
4
)
{\displaystyle (4)}
然後注意到另條量詞的公理模式(若
y
{\displaystyle y}
於合式公式
D
{\displaystyle {\mathcal {D}}}
中完全不自由或不曾出現)
(
∀
y
)
(
D
⇒
E
)
⇒
[
D
⇒
(
∀
y
)
E
]
{\displaystyle (\forall y)({\mathcal {D}}\Rightarrow {\mathcal {E}})\Rightarrow [{\mathcal {D}}\Rightarrow (\forall y){\mathcal {E}}]}
(
A
5
)
{\displaystyle (A5)}
然後以普遍化 於定理(4)外面補上
∀
y
{\displaystyle \forall y}
,接著與(A5)一起套用MP律會有
⊢
T
F
[
∘
f
(
#
A
(
x
)
)
]
⇒
(
∀
y
)
{
[
∘
f
(
#
A
(
x
)
)
=
y
]
⇒
F
(
y
)
}
{\displaystyle \vdash _{T}\,{\mathcal {F}}[^{\circ }f(\#_{{\mathcal {A}}(x)})]\Rightarrow (\forall y)\{[^{\circ }f(\#_{{\mathcal {A}}(x)})=y]\Rightarrow {\mathcal {F}}(y)\}}
所以上面的定理和定理(2)配合(D')有
⊢
T
F
[
∘
f
(
#
A
(
x
)
)
]
⇒
B
(
∘
#
A
(
x
)
)
{\displaystyle \vdash _{T}\,{\mathcal {F}}[^{\circ }f(\#_{{\mathcal {A}}(x)})]\Rightarrow {\mathcal {B}}(^{\circ }\#_{{\mathcal {A}}(x)})}
(
R
−
l
e
f
t
)
{\displaystyle (R-left)}
總結(R-right)和(R-left),然後帶入函數
f
{\displaystyle f}
的值有
⊢
T
B
(
∘
#
A
(
x
)
)
⇔
F
{
∘
#
[
A
(
∘
#
A
(
x
)
)
]
}
{\displaystyle \vdash _{T}\,{\mathcal {B}}(^{\circ }\#_{{\mathcal {A}}(x)})\Leftrightarrow {\mathcal {F}}\{^{\circ }\#[{\mathcal {A}}(^{\circ }\#_{{\mathcal {A}}(x)})]\}}
(
5
)
{\displaystyle (5)}
注意
B
(
x
)
{\displaystyle {\mathcal {B}}(x)}
內變數
x
{\displaystyle x}
是完全自由的,故可以把前面推導中所有的
A
{\displaystyle {\mathcal {A}}}
換成
B
{\displaystyle {\mathcal {B}}}
,然後定義
C
:=
B
(
∘
#
B
(
x
)
)
{\displaystyle {\mathcal {C}}:={\mathcal {B}}(^{\circ }\#_{{\mathcal {B}}(x)})}
那我們可以從定理(5)得到
⊢
T
C
⇔
F
(
∘
#
C
)
{\displaystyle \vdash _{T}\,{\mathcal {C}}\Leftrightarrow {\mathcal {F}}(^{\circ }\#_{\mathcal {C}})}
至此引理完成證明。
◻
{\displaystyle \Box }
對角線引理跟可計算性理論 中的Kleene's recursion theorem有密切的聯繫,證明方法也相似。
這個定理之所以被冠以「對角線」,是因為它與康托爾 的對角論證法 的形式很相近。「對角線引理」或「不動點」的詞彙並未出現在哥德爾 1931年所發表的劃時代的論文中,也沒有出現在塔斯基 1936年的論文中。卡爾納普 是第一個人證明出:只要理論T滿足某些條件,那麼對於T中的任何式子ψ,都存在式子φ使得φ ↔ ψ(#(φ))在T中是可證的。由於在1934年尚未有可計算函數的概念,卡爾納普是以別的用詞去陳述該結論。Elliott Mendelson 認為是卡爾納普首先指出哥德爾的論證中隱含地運用了對角線引理,而哥德爾則是在1937年注意到卡爾納普的工作。[ 4]
^ See Boolos and Jeffrey (2002, sec. 15) and Mendelson (1997, Prop. 3.37 and Cor. 3.44 ).
^ Hinman 2005, p. 316
^ Smullyan (1991, 1994) are standard specialized references. The lemma is Prop. 3.34 in Mendelson (1997), and is covered in many texts on basic mathematical logic, such as Boolos and Jeffrey (1989, sec. 15) and Hinman (2005).
^ See Gödel's Collected Works, Vol. 1 , p. 363, fn 23.