一阶逻辑 是使用于数学 、哲学 、语言学 及电脑科学 中的一种形式系统 ,也可以称为:一阶断言演算 、低阶断言演算 、量化理论 或谓词逻辑 。一阶逻辑和命题逻辑 的不同之处在于,一阶逻辑包含量词 。
高阶逻辑 和一阶逻辑不同之处在于,高阶逻辑的断言符号可以有断言符号或函数符号当做引数 ,且容许断言量词或函数量词[ 1] 。在一阶逻辑的语义 中,断言被解释为关系 。而高阶逻辑的语义里,断言则会被解释为集合的集合。
在通常的语义下,一阶逻辑是可靠 (所有可证的叙述皆为真)且完备 (所有为真的叙述皆可证)的。虽然一阶逻辑的逻辑归结只是半可判定性 的,但还是有许多用于一阶逻辑上的自动定理证明 。一阶逻辑也符合一些使其能通过证明论 分析的元逻辑 定理,如勒文海姆–斯科伦定理 及紧致性定理 。
一阶逻辑是数学基础 中很重要的一部份。许多常见的公理系统,如一阶皮亚诺公理 、冯诺伊曼-博内斯-哥德尔集合论 和策梅洛-弗兰克尔集合论 都是一阶理论。然而一阶逻辑不能控制其无穷模型的基数 大小,因根据勒文海姆–斯科伦定理和康托尔定理 ,可以构造出一种“病态”集合论模型,使整个模型可数,但模型内却会觉得自己有“不可数集”。类似地,可以证明实数系的普通一阶理论既有可数模型又有不可数模型。这类的悖论被称为斯科伦悖论 。但一阶的直觉主义逻辑 里,勒文海姆–斯科伦定理不可证明[ 2] ,故不会有以上之现象。
命题逻辑顾名思义,会将“苏格拉底是哲学家”、“柏拉图是哲学家”之类直观上有真有假 的叙述简记为
p
{\displaystyle p}
及
q
{\displaystyle q}
(也就是有真有假的命题 ),然后讨论
¬
p
{\displaystyle \neg p}
(非p)、
p
⇒
q
{\displaystyle p\Rightarrow q}
(若p则q)、
p
∧
q
{\displaystyle p\wedge q}
(p且q)与
p
∨
q
{\displaystyle p\vee q}
(p或q)之间的推理关系。
但一阶逻辑尝试从一些比较基础的词汇去建构“句子”,比如说,可用符号
Phil
(
x
)
{\displaystyle {\text{Phil}}(x)}
代表 “ x 是哲学家”,也就是赋予断言符号 “
Phil
(
x
)
{\displaystyle {\text{Phil}}(x)}
”语意的解释。 这个解释预设一个“所有人类的群体”(也就是下面标准语义 一节会说到的论域 ),并将变数
x
{\displaystyle x}
对应为自群体中取出来的某人。
以此类推,断言符号可以包含一个以上的变数。例如:可以将
Cp
(
x
,
y
)
{\displaystyle {\text{Cp}}(x,\,y)}
解释为“ x 与 y 是夫妻”。
一阶逻辑类似于命题逻辑,可以将断言符号与
¬
{\displaystyle \neg }
(非)、
⇒
{\displaystyle \Rightarrow }
(则)、
∧
{\displaystyle \wedge }
(且)和
∨
{\displaystyle \vee }
(或)组成更复杂的叙述,例如:把断言符号
Schol
(
x
)
{\displaystyle {\text{Schol}}(x)}
解释成“
x
{\displaystyle x}
是学者”,那“若 x 为哲学家,则 x 为学者”可表示为:
Phil
(
x
)
⇒
Schol
(
x
)
{\displaystyle {\text{Phil}}(x)\Rightarrow {\text{Schol}}(x)\,}
但相较之下,一阶逻辑又加入了描述“所有”与“存在”的量词,比如说“对所有 x ,若 x 为哲学家,则 x 为学者”可记为:
∀
x
[
Phil
(
x
)
⇒
Schol
(
x
)
]
{\displaystyle \forall x[{\text{Phil}}(x)\Rightarrow {\text{Schol}}(x)]}
也就是自左方开始阅读,将
∀
x
{\displaystyle \forall x}
解释成“对所有 x 有…”。
∀
{\displaystyle \forall }
这个符号被称为全称量词 。
而对于“有 x 是哲学家”这一叙述,一阶逻辑则引入另一种量词:
∃
x
[
Phil
(
x
)
]
{\displaystyle \exists x[{\text{Phil}}(x)]}
也就是自左方开始阅读,将
∃
x
{\displaystyle \exists x}
解释成“存在
x
{\displaystyle x}
使…”。
∃
{\displaystyle \exists }
这个符号被称为存在量词 。
顺带一提“并非所有 x 不是哲学家”等价于“有 x 是哲学家”;且“不存在 x 不是学者”也等价于“所有的 x 是学者”。所以可以用“否定”和“全称量词”来组合出“存在量词”。换句话说,可作以下的符号定义(
A
{\displaystyle {\mathcal {A}}}
代表一段“叙述”):
∃
x
A
:=
¬
[
∀
x
(
¬
A
)
]
{\displaystyle \exists x{\mathcal {A}}:=\neg [\forall x(\neg {\mathcal {A}})]}
一阶逻辑也考虑到“相等”这个概念在叙述中的重要性,例如想表达“若所有
x
{\displaystyle x}
是哲学家,那
x
{\displaystyle x}
的长子也会是哲学家”,可先把
Son
(
x
)
{\displaystyle {\text{Son}}(x)}
解释为 “ x 的长子”,那么这段叙述可记为:
∀
x
Phil
(
x
)
⇒
Phil
[
Son
(
x
)
]
{\displaystyle \forall x{\text{Phil}}(x)\Rightarrow {\text{Phil}}[{\text{Son}}(x)]}
换句话说,
Son
(
x
)
{\displaystyle {\text{Son}}(x)}
被解释成“与
x
{\displaystyle x}
有特定且唯一对应关系”的某对象(被称为函数符号 )。换句话话说,只要“
x
{\displaystyle x}
就是
y
{\displaystyle y}
”,那“
x
{\displaystyle x}
的长子也会是
y
{\displaystyle y}
的长子”。换句话说:
(
x
=
y
)
⇒
[
Son
(
x
)
=
Son
(
y
)
]
{\displaystyle (x=y)\Rightarrow [{\text{Son}}(x)={\text{Son}}(y)]}
这些性质被一阶逻辑视为“理所当然”。
类似地,叙述中也有一些“不变的实体”,如苏格拉底 ,表示这些“实体”的符号被称为常数符号。例如将
s
{\displaystyle s}
解释为苏格拉底 ,那“苏格拉底 为哲学家”就可以写成:
Phil
(
s
)
{\displaystyle {\text{Phil}}(s)}
所谓的“不变”隐含的代表:
“苏格拉底就是苏格拉底”
“对所有x,对所有y,如果x就是苏格拉底,且y就是苏格拉底,那x就是y”
换句话说
(
s
=
s
)
{\displaystyle (s=s)}
∀
x
∀
y
{
[
(
x
=
s
)
∧
(
y
=
s
)
]
⇒
(
x
=
y
)
}
{\displaystyle \forall x\forall y\{[(x=s)\wedge (y=s)]\Rightarrow (x=y)\}}
这两个性质也被一阶逻辑视为“理所当然”。
一阶逻辑的形式理论 可分成几个部份:
语法 :决定哪些符号组合是合式公式 。(直观上的“文法无误的叙述”)
推理规则:由合式公式符号组合出新合式公式的规则(直观上的“推理”)
公理:一套合式公式(直观上的基本假设)
一套理论能容许多少符号,取决于人类能运用物理定律 来塑造多少符号,但目前无法确知宇宙是不是有限,或是以可无限制地分割。虽然所有的公理化集合论 都以量词的形式隐晦的承认跟自然数 一样多的无穷(如ZF集合论的无穷公理 ),甚至以这样的可数无穷为基础,去建构出不可数 的实数,但将抽象的理论对应到现实时,还是需要回答物理上有没有可数或不可数的无穷。所以谨慎起见,如果没有特别申明的话,以下各种类符号的数目上限都是有限的。
一阶逻辑通常拥有以下的符号:
量化符号
∀
{\displaystyle \forall }
及
∃
{\displaystyle \exists }
某些作者[ 3] 会把
∃
{\displaystyle \exists }
符号定义为
∃
x
A
:=
¬
[
∀
x
(
¬
A
)
]
{\displaystyle \exists x{\mathcal {A}}:=\neg [\forall x(\neg {\mathcal {A}})]}
,如此便只需要
∀
{\displaystyle \forall }
做为基础符号。
逻辑联结词 :以下为可能的表示符号(关于波兰表示法下的逻辑连接词,请参见逻辑运算的波兰记法 ):
否定 :
¬
{\displaystyle \neg }
或
∼
{\displaystyle \sim }
或-
条件 :
⇒
{\displaystyle \Rightarrow }
或
→
{\displaystyle \rightarrow }
或
⊃
{\displaystyle \supset }
且 :
∧
{\displaystyle \land }
或
&
{\displaystyle \&}
或 :
∨
{\displaystyle \lor }
或 ||
双条件 :
⇔
{\displaystyle \Leftrightarrow }
或
↔
{\displaystyle \leftrightarrow }
某些作者[ 4] 会作如下的符号定义:
A
∧
B
:=
¬
(
A
⇒
(
¬
B
)
)
,
{\displaystyle {\mathcal {A}}\wedge {\mathcal {B}}:=\neg ({\mathcal {A}}\Rightarrow (\neg {\mathcal {B}})),}
A
∨
B
:=
(
¬
A
)
⇒
B
,
{\displaystyle {\mathcal {A}}\vee {\mathcal {B}}:=(\neg {\mathcal {A}})\Rightarrow {\mathcal {B}},}
A
⇔
B
:=
(
A
⇒
B
)
∧
(
B
⇒
A
)
,
{\displaystyle {\mathcal {A}}\Leftrightarrow {\mathcal {B}}:=({\mathcal {A}}\Rightarrow {\mathcal {B}})\wedge ({\mathcal {B}}\Rightarrow {\mathcal {A}}),}
如此一来只需要否定 和条件 做为基础符号。
标点符号:括号、逗号及其他,依作者的喜好有所不同。
为了更有效的将括号做配对,通常还会采用大括号{ } 跟中括号[ ] 。
至多跟自然数 一样多的变数 ,通常标记为英文字母末端的小写字母x 、y 、z 、…,也常会使用下标(或上标、上下标兼有)来区别不同的变数:x 0 、x 1 、x 2 、…(特别注意c有时候会被当成常数符号而引起混淆)。
等式符号:
=
{\displaystyle =}
有作者会因为语义上对“相等”的不同解释,而将等式符号视为双元断言符号、甚至是某种合式公式 的简写。
符号相等:
≍
{\displaystyle \asymp }
某些作者[ 5] 会额外采用这个符号来表示符号辨识上的等同 以便与等式符号作区别。
并非所有的符号都不可或缺的,像谢费尔竖线 “
|
{\displaystyle |}
”(或异或 )可以用来定义量词以外的所有逻辑符号,换句话说:
符号定义 —
(
¬
A
)
:=
(
A
|
A
)
{\displaystyle (\neg {\mathcal {A}}):=({\mathcal {A}}|{\mathcal {A}})}
(
A
⇒
B
)
:=
A
|
(
B
|
B
)
{\displaystyle ({\mathcal {A}}\Rightarrow {\mathcal {B}}):={\mathcal {A}}|({\mathcal {B}}|{\mathcal {B}})}
(
A
∧
B
)
:=
[
(
A
|
B
)
|
(
A
|
B
)
]
{\displaystyle ({\mathcal {A}}\wedge {\mathcal {B}}):=[\,({\mathcal {A}}|{\mathcal {B}})|({\mathcal {A}}|{\mathcal {B}})\,]}
(
A
∨
B
)
:=
[
(
A
|
A
)
|
(
B
|
B
)
]
{\displaystyle ({\mathcal {A}}\vee {\mathcal {B}}):=[\,({\mathcal {A}}|{\mathcal {A}})|({\mathcal {B}}|{\mathcal {B}})\,]}
另外,一些作者不区分语义解释 和形式理论 ,所以会将表示真值的符号纳入形式理论里,也就是说,用 T 、Vpq 或
⊤
{\displaystyle \top }
来表示“真”,并用 F 、 Opq 或
⊥
{\displaystyle \bot }
来表示“假”。
“他们两人是夫妻”,是一个关于两个“对象”的断言,而“他是人”、“三点共线”则表明断言容许一个或者多个对象。所以对于自然数
n
{\displaystyle n}
、
j
{\displaystyle j}
约定:
A
j
n
(
x
1
,
x
2
,
.
.
.
,
x
n
)
{\displaystyle A_{j}^{n}(x_{1},\,x_{2},\,...,\,x_{n})}
为一阶逻辑的合法词汇。它在直观上表示一个有
n
{\displaystyle n}
个“对象”的断言,称为
n
{\displaystyle n}
元断言符号 。下标的自然数
j
{\displaystyle j}
只是拿来和其他同为
n
{\displaystyle n}
元的断言符号作区别。
实用上只要有申明,不至于和其他词汇引起混淆的话,可以用任意的形式简写一个断言符号。如:公理化集合论 里的双元断言符号
A
1
2
(
x
,
y
)
{\displaystyle A_{1}^{2}(x,\,y)}
也可以表示为
x
∈
y
{\displaystyle x\in y}
。
“物体的颜色”、“夫妻的长子”这种断言说明了一组对象所唯一 对应的对象。但不同的夫妻有不同的长子;不同的物体有不同的颜色。据此,形式上对于自然数
n
{\displaystyle n}
、
j
{\displaystyle j}
约定:
f
j
n
(
x
1
,
x
2
,
.
.
.
,
x
n
)
{\displaystyle f_{j}^{n}(x_{1},\,x_{2},\,...,\,x_{n})}
为一阶逻辑的合法词汇,直观上表示
n
{\displaystyle n}
个“对象”所对应到的东西,称它为
n
{\displaystyle n}
元函数符号 。需要特别注意 ,这种“唯一对应”的直观想法,必须配上关于“等式”的性质(详见下面的等式定理 章节),才能在形式理论中被实现。
与断言符号一样,只要不引起混淆,就可以用任何的形式简写函数符号。如:公理化集合论 里的
x
∪
y
{\displaystyle x\cup y}
是依据联集公理 而定义的新函数符号(请参见下面函数符号与唯一性 章节),也可以冗长的表记为
f
j
2
(
x
,
y
)
{\displaystyle f_{j}^{2}(x,\,y)}
。
“刻度0”、“原点”、“苏格拉底 ”是直观上"唯一不变"的对象。据此,对自然数
j
{\displaystyle j}
约定
c
j
{\displaystyle c_{j}}
为一阶逻辑的合法词汇,直观上表示一个“唯一不变”的对象,称为常数符号 。同样的。“常数的不变性”需配上等式的性质(详见下面等式定理 )才能被实现。
为了不和变数的表记混淆,常数符号一样可以用任何的形式简写,如公理化集合论 里的
∅
{\displaystyle \varnothing }
是根据空集公理 和函数符号与唯一性 ,而定义的新常数符号。亦可冗长的表示为
c
j
{\displaystyle c_{j}}
。
和自然语言(如英语 )不同,一阶逻辑的语言以明确的递回 定义判断一个给定的词汇是否合法。大致上来说,一阶逻辑以“项”代表讨论的对象,而对“项”的断言组成了最基本的原子(合式)公式 ;而原子公式和逻辑符号组成了更复杂的合式公式 (也就是“叙述”)。
“那对夫妻的长子的职业”、“
(
x
+
y
)
×
z
{\displaystyle (x+y)\times z}
”、“
x
∪
∅
{\displaystyle x\cup \varnothing }
”代表变数可以与函数符号组成更一般的物件。据此形式,递回地规定一类合法词汇——项 为:
递回定义 —
变数 和常数 是项。
若
T
1
,
.
.
.
.
,
T
n
{\displaystyle T_{1},\,....,\,T_{n}}
全都是项,那么
f
j
n
(
T
1
,
.
.
.
.
,
T
n
)
{\displaystyle f_{j}^{n}(T_{1},\,....,\,T_{n})}
也是项。
项只能通过以上两点,于有限步骤内建构出来。
习惯上以大写的西方字母(如英文 字母、希伯来 字母、希腊字母 )代表项,如果变数不得不采用大写字母,而可能跟项引起混淆的话,需额外规定分辨的办法。
为了比较简洁地规定甚么是合式公式 ,先规定原子公式 为:(若
T
1
,
.
.
.
.
,
T
n
{\displaystyle T_{1},\,....,\,T_{n}}
是项)
A
j
n
(
T
1
,
.
.
.
.
,
T
n
)
{\displaystyle A_{j}^{n}(T_{1},\,....,\,T_{n})}
这样的形式。
一阶逻辑的合式公式 (简称公式或
w
f
{\displaystyle wf}
)以下面的规则递回地定义:
另外成对的中括弧跟大括弧,符号辨识上视为成对的小括弧,而草书的大写西方字母 为公式的代号。
举例来说,
{
(
∀
y
)
A
1
2
[
x
,
f
1
1
(
y
)
]
}
{\displaystyle \{(\forall y)A_{1}^{2}[x,\,f_{1}^{1}(y)]\}}
是公式而
∀
x
x
⇒
{\displaystyle \forall x\,x\Rightarrow }
则不是公式。
而接下来只要对任意公式
A
{\displaystyle {\mathcal {A}}}
、
B
{\displaystyle {\mathcal {B}}}
与变数
x
{\displaystyle x}
,做以下符号定义
符号定义 —
(
A
∧
B
)
:=
{
¬
[
A
⇒
(
¬
B
)
]
}
{\displaystyle ({\mathcal {A}}\wedge {\mathcal {B}}):=\{\neg [{\mathcal {A}}\Rightarrow (\neg {\mathcal {B}})]\}}
(
A
∨
B
)
:=
[
(
¬
A
)
⇒
B
]
{\displaystyle ({\mathcal {A}}\vee {\mathcal {B}}):=[(\neg {\mathcal {A}})\Rightarrow {\mathcal {B}}]}
(
A
⇔
B
)
:=
[
(
A
⇒
B
)
∧
(
B
⇒
A
)
]
{\displaystyle ({\mathcal {A}}\Leftrightarrow {\mathcal {B}}):=[({\mathcal {A}}\Rightarrow {\mathcal {B}})\wedge ({\mathcal {B}}\Rightarrow {\mathcal {A}})]}
(
∃
x
A
)
:=
{
¬
[
∀
x
(
¬
A
)
]
}
{\displaystyle (\exists x{\mathcal {A}}):=\{\neg [\forall x(\neg {\mathcal {A}})]\}}
(同样美观起见
(
∃
x
)
A
:=
∃
x
A
{\displaystyle (\exists x){\mathcal {A}}:=\exists x{\mathcal {A}}}
)
这样所有的逻辑连接词与量词就纳入了合式公式的规范。
所谓的施用 /作用 ,是以下公式形式的口语说法:(其中
A
{\displaystyle {\mathcal {A}}}
与
B
{\displaystyle {\mathcal {B}}}
都是公式)
(
¬
A
)
{\displaystyle (\neg {\mathcal {A}})}
称为
¬
{\displaystyle \neg }
施用于
A
{\displaystyle {\mathcal {A}}}
上。
(
A
⇒
B
)
{\displaystyle ({\mathcal {A}}\Rightarrow {\mathcal {B}})}
称为
⇒
{\displaystyle \Rightarrow }
施用于
A
{\displaystyle {\mathcal {A}}}
和
B
{\displaystyle {\mathcal {B}}}
上。
(
A
∧
B
)
{\displaystyle ({\mathcal {A}}\wedge {\mathcal {B}})}
称为
∧
{\displaystyle \wedge }
施用于
A
{\displaystyle {\mathcal {A}}}
和
B
{\displaystyle {\mathcal {B}}}
上。
(
A
∨
B
)
{\displaystyle ({\mathcal {A}}\vee {\mathcal {B}})}
称为
∨
{\displaystyle \vee }
施用于
A
{\displaystyle {\mathcal {A}}}
和
B
{\displaystyle {\mathcal {B}}}
上。
(
A
⇔
B
)
{\displaystyle ({\mathcal {A}}\Leftrightarrow {\mathcal {B}})}
称为
⇔
{\displaystyle \Leftrightarrow }
施用于
A
{\displaystyle {\mathcal {A}}}
和
B
{\displaystyle {\mathcal {B}}}
上。
(
∀
x
A
)
{\displaystyle (\forall x{\mathcal {A}})}
称为
∀
x
{\displaystyle \forall x}
施用于
A
{\displaystyle {\mathcal {A}}}
上。
(
∃
x
A
)
{\displaystyle (\exists x{\mathcal {A}})}
称为
∃
x
{\displaystyle \exists x}
施用于
A
{\displaystyle {\mathcal {A}}}
上。
就类似于运算子作用在它们身上。
量词所施用的公式被称为量词的范围 (scope)。同一个变数在公式一般来说不只出现一次,若变数
x
{\displaystyle x}
出现在
∀
x
{\displaystyle \forall x}
的范围内,称这样出现的
x
{\displaystyle x}
为不自由 /被约束的
x
{\displaystyle x}
(not free/bounded);反过来说,不出现在
∀
x
{\displaystyle \forall x}
的范围内的某个
x
{\displaystyle x}
被称为自由的
x
{\displaystyle x}
。
例如,对于公式:
{
(
∀
x
)
[
A
1
1
(
x
)
⇒
A
2
1
(
y
)
]
}
{\displaystyle \{(\forall x)[A_{1}^{1}(x)\Rightarrow A_{2}^{1}(y)]\}}
[
A
1
1
(
x
)
⇒
A
2
1
(
y
)
]
{\displaystyle [A_{1}^{1}(x)\Rightarrow A_{2}^{1}(y)]}
就是量词
∀
x
{\displaystyle \forall x}
的范围;而
A
1
1
(
x
)
{\displaystyle A_{1}^{1}(x)}
里的
x
{\displaystyle x}
就是不自由的;反之
A
2
1
(
y
)
{\displaystyle A_{2}^{1}(y)}
里的
y
{\displaystyle y}
就是自由的。
说
x
{\displaystyle x}
于公式
A
{\displaystyle {\mathcal {A}}}
完全自由,意为于
A
{\displaystyle {\mathcal {A}}}
出现的
x
{\displaystyle x}
都是自由的;反之,说
x
{\displaystyle x}
于公式
A
{\displaystyle {\mathcal {A}}}
完全不自由/完全被约束,意为
A
{\displaystyle {\mathcal {A}}}
内根本没有
x
{\displaystyle x}
,或是
A
{\displaystyle {\mathcal {A}}}
内没有自由的
x
{\displaystyle x}
。若
A
{\displaystyle {\mathcal {A}}}
内所有的变数都完全不自由,
A
{\displaystyle {\mathcal {A}}}
特称为封闭公式/句子 (closed formula/sentence)。
括弧是为了保证语意解释符合预期,但太多的括弧书写不易,为此规定以下的“重构法”(反过来就是“简写法”),从表面上不合法的一串符号找出作者原来想表达的公式:
若整串符号的括弧不成对,直接视为无法重构 。
以
¬
,
∧
,
∨
,
∀
,
∃
,
⇒
,
⇔
{\displaystyle \lnot ,\,\land ,\,\lor ,\,\forall ,\,\exists ,\,\Rightarrow ,\,\Leftrightarrow }
(左至右)的施用顺序重构括弧。
相邻的逻辑连接词或量词无法决定施用顺序的话,以右边为先。
重构施用的顺序,以被成对括弧包住的部分为优先施用,其次才是落单的断言符号。
举例来说
¬
[
∀
x
A
1
1
(
x
)
]
⇒
∃
x
¬
A
2
1
(
x
)
{\displaystyle \lnot [\forall xA_{1}^{1}(x)]\Rightarrow \exists x\lnot A_{2}^{1}(x)}
的重构过程如下
{
¬
[
∀
x
A
1
1
(
x
)
]
}
⇒
∃
x
[
¬
A
2
1
(
x
)
]
{\displaystyle \{\lnot [\forall xA_{1}^{1}(x)]\}\Rightarrow \exists x[\lnot A_{2}^{1}(x)]}
(优先施用
¬
{\displaystyle \lnot }
)
{
¬
[
∀
x
A
1
1
(
x
)
]
}
⇒
{
∃
x
[
¬
A
2
1
(
x
)
]
}
{\displaystyle \{\lnot [\forall xA_{1}^{1}(x)]\}\Rightarrow \{\exists x[\lnot A_{2}^{1}(x)]\}}
(施用
∃
{\displaystyle \exists }
)
{
{
¬
[
∀
x
A
1
1
(
x
)
]
}
⇒
{
∃
x
[
¬
A
2
1
(
x
)
]
}
}
{\displaystyle \{\{\lnot [\forall xA_{1}^{1}(x)]\}\Rightarrow \{\exists x[\lnot A_{2}^{1}(x)]\}\}}
(最后施用
⇒
{\displaystyle \Rightarrow }
)
可以被重构为公式的一串符号则宽松的认定为“合式公式”。(最明显的例子就是合式公式最外层的括弧可以省略)
波兰表示法 将逻辑连接词前置于被施用的公式 而非传统的中间。如果沿用以上的"施用顺序",这个表示法允许舍弃所有括弧。如公式
∀
x
∀
y
{
A
1
1
[
f
1
1
(
x
)
]
⇒
¬
{
A
1
1
(
x
)
⇒
A
1
3
[
f
1
1
(
y
)
,
x
,
z
]
}
}
{\displaystyle \forall x\forall y\{A_{1}^{1}[f_{1}^{1}(x)]\Rightarrow \neg \{A_{1}^{1}(x)\Rightarrow A_{1}^{3}[f_{1}^{1}(y),x,z]\}\}}
转成波兰表示法的过程如下
∀
x
∀
y
⇒
A
1
1
f
1
1
x
¬
⇒
A
1
1
x
A
1
3
f
1
1
y
x
z
{\displaystyle \forall x\forall y\Rightarrow A_{1}^{1}f_{1}^{1}x\neg \Rightarrow A_{1}^{1}xA_{1}^{3}f_{1}^{1}yxz}
(转成波兰表示法的顺序)
Π
x
Π
y
C
A
1
1
f
1
1
x
N
C
A
1
1
x
A
1
3
f
1
1
y
x
z
{\displaystyle \Pi x\Pi y{\text{C}}A_{1}^{1}f_{1}^{1}x{\text{N}}{\text{C}}A_{1}^{1}xA_{1}^{3}f_{1}^{1}yxz}
(逻辑连结词的符号转换)
一阶逻辑通常只有以下的推理规则(因为将普遍化 视为推理规则会有不直观的限制)
直观意义非常明显,就是p =>q 且p 可以推出q 。
在只以谢费尔竖线 “
|
{\displaystyle |}
”为基础逻辑连接词的公理系统 里,MP律 会被改写成
它们实际上是公理模式 ,代表著“跟自然数一样多”条的公理。
在有(A1)与(A2)的前提下,(A3)等价于以下的公理模式:(证明请参见下面否定 一节。)
(T1) —
[
(
¬
B
)
⇒
(
¬
C
)
]
⇒
(
B
⇒
C
)
{\displaystyle [\,(\neg {\mathcal {B}})\Rightarrow (\neg {\mathcal {C}})\,]\Rightarrow ({\mathcal {B}}\Rightarrow {\mathcal {C}})}
另外,在只以谢费尔竖线 “
|
{\displaystyle |}
”为基础逻辑连接词的公理系统 里,上面三条公理模式等价于下面这条公理模式[ 3] :
公理 — 如果
B
{\displaystyle {\mathcal {B}}}
、
C
{\displaystyle {\mathcal {C}}}
、
D
{\displaystyle {\mathcal {D}}}
、
E
{\displaystyle {\mathcal {E}}}
和
F
{\displaystyle {\mathcal {F}}}
都是公式,则:
[
B
|
(
C
|
D
)
]
|
{
[
E
|
(
E
|
E
)
]
|
{
(
F
|
C
)
|
[
(
B
|
F
)
|
(
B
|
F
)
]
}
}
{\displaystyle [\,{\mathcal {B}}|({\mathcal {C}}|{\mathcal {D}})\,]|{\big \{}\,[\,{\mathcal {E}}|({\mathcal {E}}|{\mathcal {E}})\,]|\{\,({\mathcal {F}}|{\mathcal {C}})|[\,({\mathcal {B}}|{\mathcal {F}})|({\mathcal {B}}|{\mathcal {F}})\,]\,\}\,{\big \}}}
都是公理。
它们实际上也是公理模式 。
根据不同作者的看法,甚至是理论本身的需求,“等式”在形式理论里可能是断言符号或是一段公式(如 a 等于 b 可定义为对所有的 x , x 属于 a 等价于 x 属于 b )。而如何刻划直观上“等式的性质”,有一开始就将“等式的性质”视为公理(模式),但也有视为元定理 的另一套处理方法,以下暂且以公理模式 的方式处理。以元定理处理的方法会在等式定理 详述。
事实上这两个公理模式也确保了函数符号“唯一对应”和常数符号的“唯一性”,但证明这些性质需要一些元定理 ,简便起见合并于下面的等式定理 一节讲述。
一阶逻辑的标准语义 源于波兰逻辑学家阿尔弗雷德·塔斯基 所著《On the Concept of Truth in Formal Languages》 。根据上面语法 一节,公式是由原子公式递回地添加逻辑连结词而来的,而原子公式是由断言符号与项所构成的。所以要检验一条公式在特定的论域下正不正确,就要规定项的取值 ,然后检验这样的取值会不会落在断言符号所对应的关系 里。由此延伸出所有公式的“真假值“。
也就是一套一阶逻辑的语义解释,要包含
变数取值的论域
如何解释函数符号(为论域中的某个函数)与常数符号(为论域中的某特定元素),以便从特定的变数取值得出项的取值。
如何将断言符号与论域里的某关系做对应。
通常一套解释方法(简称为解释 )会以代号
M
{\displaystyle M}
表示。
量词的解释 需要指明变数取值范围的论域 ——也就是一个集合
D
{\displaystyle D}
。而变数可能跟自然数一样多,换句话说,所有变数在论域
D
{\displaystyle D}
取的值可以依序以自然数标下标——也就是一个在
D
{\displaystyle D}
取值的数列 。如果以
x
1
,
x
2
,
x
3
,
⋯
{\displaystyle x_{1},\,x_{2},\,x_{3},\,\cdots }
的代号(不一定是变数本身的表示符号)来列举变数,那么从
D
{\displaystyle D}
的某套变数取值就以
⟨
a
k
⟩
k
∈
N
{\displaystyle \left\langle a_{k}\right\rangle _{k\in \mathbb {N} }}
或较直观的符号
⟨
a
1
,
a
2
,
a
3
,
⋯
⟩
{\displaystyle \left\langle a_{1},\,a_{2},\,a_{3},\,\cdots \right\rangle }
来表示。
一套解释
M
{\displaystyle M}
会将
n
{\displaystyle n}
元函数符号
f
i
n
{\displaystyle f_{i}^{n}}
解释成某个
(
f
i
n
)
M
:
D
n
→
D
{\displaystyle {(f_{i}^{n})}^{M}:D^{n}\to D}
的
n
{\displaystyle n}
元函数 ;而常数符号
c
l
{\displaystyle c_{l}}
解释成特定的
c
l
M
∈
D
{\displaystyle {c_{l}}^{M}\in D}
(亦称为
c
l
{\displaystyle c_{l}}
的取值为
c
l
M
{\displaystyle {c_{l}}^{M}}
),这样就可以用上面语法 一节定义项的方式,递回地规定项的取值 :
元定义 — 在解释
M
{\displaystyle M}
下的某套变数取值下,一列项
T
1
,
⋯
,
T
n
{\displaystyle T_{1},\,\cdots ,\,T_{n}}
的取值分别为
T
1
M
,
⋯
,
T
n
M
{\displaystyle {T_{1}}^{M},\,\cdots ,\,{T_{n}}^{M}}
,则这套变数取值下,项
f
i
n
(
T
1
,
⋯
,
T
n
)
{\displaystyle f_{i}^{n}(T_{1},\,\cdots ,\,T_{n})}
的取值规定为
(
f
i
n
)
M
(
T
1
M
,
⋯
,
T
n
M
)
{\displaystyle {(f_{i}^{n})}^{M}({T_{1}}^{M},\,\cdots ,\,{T_{n}}^{M})}
直观上要解释关系最直接的方法,就是列举所有符合关系的对象;例如如果想说明夫妻关系 ,可以列举所有(老公, 老婆)的双元有序对 ,但并非所有的人类有序对都会在这个关系中。
以此为基础,若以
D
m
{\displaystyle D^{m}}
代表所有以
m
{\displaystyle m}
个
D
{\displaystyle D}
中的元素构成的
m
{\displaystyle m}
元有序对的集合(也就是
m
{\displaystyle m}
元笛卡儿积 ) ,那一套解释
M
{\displaystyle M}
会将
m
{\displaystyle m}
元断言符号
A
j
m
{\displaystyle A_{j}^{m}}
解释为一个
(
A
j
m
)
M
⊆
D
m
{\displaystyle {(A_{j}^{m})}^{M}\subseteq D^{m}}
的
m
{\displaystyle m}
元有序对 子集合。
这样就可以依据语法的递回定义,以下面的规则对每条公式赋予真值。(这种赋值方式称为T-模式 ,取名于逻辑学家阿尔弗雷德·塔斯基)
元定义 — 在一套解释
M
{\displaystyle M}
下:
在一套特定的变数取值下,一列项
T
1
,
⋯
,
T
m
{\displaystyle T_{1},\,\cdots ,\,T_{m}}
的取值为
T
1
M
,
⋯
,
T
m
M
{\displaystyle {T_{1}}^{M},\,\cdots ,\,{T_{m}}^{M}}
,那
A
j
m
(
T
1
,
⋯
,
T
m
)
{\displaystyle A_{j}^{m}(T_{1},\,\cdots ,\,T_{m})}
为真定义为
(
T
1
M
,
⋯
,
T
m
M
)
∈
(
A
j
m
)
M
{\displaystyle ({T_{1}}^{M},\,\cdots ,\,{T_{m}}^{M})\in {(A_{j}^{m})}^{M}}
反之
(
T
1
M
,
⋯
,
T
m
M
)
∉
(
A
j
m
)
M
{\displaystyle ({T_{1}}^{M},\,\cdots ,\,{T_{m}}^{M})\notin {(A_{j}^{m})}^{M}}
则定义为假。
在一套特定的变数取值下,“
(
¬
B
)
{\displaystyle (\neg {\mathcal {B}})}
为真” 等价于 “
B
{\displaystyle {\mathcal {B}}}
为假”。
在一套特定的变数取值下,
(
B
⇒
C
)
{\displaystyle ({\mathcal {B}}\Rightarrow {\mathcal {C}})}
为真,意为“
B
{\displaystyle {\mathcal {B}}}
为假或是
C
{\displaystyle {\mathcal {C}}}
为真。” (p =>q 为假只有p 为真且q 为假的状况)
在变数取值
⟨
a
k
⟩
k
∈
N
{\displaystyle \left\langle a_{k}\right\rangle _{k\in \mathbb {N} }}
下,
(
∀
x
i
B
)
{\displaystyle (\forall x_{i}{\mathcal {B}})}
为真,意为“对所有的
d
∈
D
{\displaystyle d\in D}
,
B
{\displaystyle {\mathcal {B}}}
于变数取值
⟨
a
1
,
⋯
,
a
i
−
1
,
d
,
a
i
+
1
,
⋯
⟩
{\displaystyle \left\langle a_{1},\,\cdots ,\,a_{i-1},\,d,\,a_{i+1},\,\cdots \right\rangle }
下为真”。(也就是把变数
x
i
{\displaystyle x_{i}}
的取值换为论域的任意元素仍然为真)
更进一步的来说
另一种一阶逻辑语义的方法可经由命题逻辑的林登鲍姆-塔斯基代数 扩展而成。有如下几种类型:
这些代数 都是纯粹扩展两元素布林代数 而成的格 。
塔斯基和葛范德于1987年证明,没有超过包在三个以上的量化内的原子句子 的部份一阶逻辑,其表示力和关系代数 相同。上述部份一阶逻辑令人十分地感到有兴趣,因为它已足够表示皮亚诺算术 和公理化集合论 ,包括典型的ZFC 。他们亦证明了,具有简单有序对的一阶逻辑和具有两个有序的投影函数 的关系代数等价。
上述的语义解释都要求论域为非空集合。但在如自由逻辑 之中,设定空论域是被允许的。甚至代数结构的类包含一个空结构(如空偏序集 ),当允许空论域时,这个类只能是一阶逻辑中的一个基本类,不然就要将空结构由类中移除。
不过,空论域存在著一些难点:
许多常见的推理规则只在论域被要求是非空时才为有效的。一个例子为,当x 不是
ϕ
{\displaystyle \phi \,}
内的自由变数时,
ϕ
∨
∃
x
ψ
{\displaystyle \phi \lor \exists x\psi }
会蕰涵
∃
x
(
ϕ
∨
ψ
)
{\displaystyle \exists x(\phi \lor \psi )}
。这个用来将公式写成前束范式 的规则在非空论域中是可靠的,但在允许空论域时则是不可靠的。
在使用变数赋值函数的解释中,真值的定义不能和空论域一起运作,因为不存在范围为空的变数赋值函数。(相似地,也无法将解释赋予上常数符号。)在甚至是原子公式的真值可被定义之前,都必须选定一个变数赋值函数。然后一个句子的真值即可在任一个变数赋值之下定义出其真值,且可证明其真值不依选定的赋值而变。这个做法在赋值函数不存在时不能运作;除非将其改成配上空论域。
因此,若空论域是被允许的,通常也必须被视成特例。不过,大多数的作家会简单地将空论域由定义中排除。
以下介绍一些基本用语和符号
口语上会称公式
A
{\displaystyle {\mathcal {A}}}
(或
⊢
L
A
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {A}}}
) 为
L
{\displaystyle {\mathcal {L}}}
下的定理 (theorem)。而这列
C
i
(
1
≤
i
≤
n
)
{\displaystyle {\mathcal {C}}_{i}\,\,(1\leq i\leq n)}
会称为
⊢
L
A
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {A}}}
的证明 。
例如定理
(
I
)
{\displaystyle (I)}
⊢
L
B
⇒
B
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {B}}\Rightarrow {\mathcal {B}}}
的证明:
以上其实是蕴含了无限多定理的元定理 的证明(因为没有给出合式公式的明确形式)。方便起见,这种元定理 还是会称为定理并以同样的形式来表达。
直观上的证明,总是会有一些“前提假设”,对此,若以
Γ
{\displaystyle \Gamma }
代表一列有限数目的公式,那
这样称
C
i
(
1
≤
i
≤
n
)
{\displaystyle {\mathcal {C}}_{i}\,\,(1\leq i\leq n)}
为在前提
Γ
{\displaystyle \Gamma }
下,
A
{\displaystyle {\mathcal {A}}}
的证明 ;或是说
A
{\displaystyle {\mathcal {A}}}
是
Γ
{\displaystyle \Gamma }
的推论结果 。
若要特别凸显
Γ
{\displaystyle \Gamma }
里的一条"前提条件"
B
{\displaystyle {\mathcal {B}}}
对"证明过程"的重要性,可以用
Γ
,
B
⊢
L
A
{\displaystyle \Gamma ,\,{\mathcal {B}}\vdash _{\mathcal {L}}{\mathcal {A}}}
的符号去特别凸显。若
Γ
{\displaystyle \Gamma }
里的公式列举出来有
B
1
,
.
.
.
,
B
n
{\displaystyle {\mathcal {B}}_{1},...,{\mathcal {B}}_{n}}
,那亦可表示为
B
1
,
.
.
.
,
B
n
⊢
L
A
{\displaystyle {\mathcal {B}}_{1},...,{\mathcal {B}}_{n}\vdash _{\mathcal {L}}{\mathcal {A}}}
证明过程没有被引用的公式尽可能不写出来。另一方面从以上对于证明定义可以发现,依怎样的顺序列举前提条件,对于证明本身是不会有任何影响的。
本节所介绍的符号,在引用哪个理论很显然的情况下,
⊢
L
{\displaystyle \vdash _{\mathcal {L}}}
的下标
L
{\displaystyle {\mathcal {L}}}
可以省略。
实际的证明常常会"引用"别的(元)定理,严格来说,就是照抄(元)定理的证明过程,然后作一些修改使符号一致。为了节省证明的篇幅,引用时只会单单列出配合引用(元)定理所得出的公式(形式),并在后面注明引用的(元)定理代号。
从公理(A1)和(A2)会得出不但直观且实用的演绎元定理 :
因为
Γ
{\displaystyle \Gamma }
代表的是有限条公式,所以透过演绎元定理可以将证明过程必要的前提条件递回地移到
⊢
{\displaystyle \vdash }
后,直到不需要任何前提为止;然后由MP律可以知道,若有
Γ
⊢
L
B
⇒
C
{\displaystyle \Gamma \vdash _{\mathcal {L}}{\mathcal {B}}\Rightarrow {\mathcal {C}}}
,则有
Γ
,
B
⊢
L
C
{\displaystyle \Gamma ,{\mathcal {B}}\vdash _{\mathcal {L}}{\mathcal {C}}}
,如此一来透过演绎元定理搬到推论结果的合式公式,也可以任意的搬回来。所以
Γ
⊢
L
B
{\displaystyle \Gamma \vdash _{\mathcal {L}}{\mathcal {B}}}
等价于某定理
⊢
L
C
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {C}}}
。因此也会将
Γ
⊢
L
B
{\displaystyle \Gamma \vdash _{\mathcal {L}}{\mathcal {B}}}
称为一个定理 。
而从演绎元定理和MP律,会有以下直观且实用的元定理
元定理 —
(D1)
D
1
⇒
D
2
,
D
2
⇒
D
3
⊢
D
1
⇒
D
3
{\displaystyle {\mathcal {D}}_{1}\Rightarrow {\mathcal {D}}_{2},\,{\mathcal {D}}_{2}\Rightarrow {\mathcal {D}}_{3}\vdash \,{\mathcal {D}}_{1}\Rightarrow {\mathcal {D}}_{3}}
(D2)
D
1
⇒
(
D
2
⇒
D
3
)
,
D
2
⊢
D
1
⇒
D
3
{\displaystyle {\mathcal {D}}_{1}\Rightarrow ({\mathcal {D}}_{2}\Rightarrow {\mathcal {D}}_{3}),\,{\mathcal {D}}_{2}\vdash \,{\mathcal {D}}_{1}\Rightarrow {\mathcal {D}}_{3}}
以下如果需要将引用的定理以演绎元定理进行"搬移",会省略掉搬移的过程并在搬移后得到的结果后标注(D)。如果引用以上的(D1)和(D2)也会省略过程,单有结果和代号标注。
以下的证明会分成使用(A3)的部分跟将公理(A3)取代为(T1)的部分,用以证明两者的等价性。
(DNe) Double negation, elimination —
⊢
¬
¬
A
⇒
A
{\displaystyle \vdash \neg \neg {\mathcal {A}}\Rightarrow {\mathcal {A}}}
证明(使用A3)
(1)
(
¬
A
⇒
¬
¬
A
)
⇒
[
(
¬
A
⇒
¬
A
)
⇒
A
]
{\displaystyle (\neg {\mathcal {A}}\Rightarrow \neg \neg {\mathcal {A}})\Rightarrow [(\neg {\mathcal {A}}\Rightarrow \neg {\mathcal {A}})\Rightarrow {\mathcal {A}}]}
(A3)
(2)
¬
A
⇒
¬
A
{\displaystyle \neg {\mathcal {A}}\Rightarrow \neg {\mathcal {A}}}
(I)
(3)
(
¬
A
⇒
¬
¬
A
)
⇒
A
{\displaystyle (\neg {\mathcal {A}}\Rightarrow \neg \neg {\mathcal {A}})\Rightarrow {\mathcal {A}}}
(D2 with 1, 2)
(4)
¬
¬
A
⇒
(
¬
A
⇒
¬
¬
A
)
{\displaystyle \neg \neg {\mathcal {A}}\Rightarrow (\neg {\mathcal {A}}\Rightarrow \neg \neg {\mathcal {A}})}
(A1)
(5)
¬
¬
A
⇒
A
{\displaystyle \neg \neg {\mathcal {A}}\Rightarrow {\mathcal {A}}}
(D1 with 3, 4)
证明(使用T1)
(1)
¬
¬
A
⇒
(
¬
¬
¬
¬
A
⇒
¬
¬
A
)
{\displaystyle \neg \neg {\mathcal {A}}\Rightarrow (\neg \neg \neg \neg {\mathcal {A}}\Rightarrow \neg \neg {\mathcal {A}})}
(A1)
(2)
¬
¬
A
{\displaystyle \neg \neg {\mathcal {A}}}
(Hyp)
(3)
¬
¬
¬
¬
A
⇒
¬
¬
A
{\displaystyle \neg \neg \neg \neg {\mathcal {A}}\Rightarrow \neg \neg {\mathcal {A}}}
(MP with 2, 1)
(4)
¬
A
⇒
¬
¬
¬
A
{\displaystyle \neg {\mathcal {A}}\Rightarrow \neg \neg \neg {\mathcal {A}}}
(MP with 3, T1)
(5)
¬
¬
A
⇒
A
{\displaystyle \neg \neg {\mathcal {A}}\Rightarrow {\mathcal {A}}}
(MP with 4, T1)
(6)
A
{\displaystyle {\mathcal {A}}}
(MP with 2, 5)
(DNi) Double negation, introduction —
⊢
A
⇒
¬
¬
A
{\displaystyle \vdash {\mathcal {A}}\Rightarrow \neg \neg {\mathcal {A}}}
证明(使用A3)
(1)
(
¬
¬
¬
A
⇒
¬
A
)
⇒
[
(
¬
¬
¬
A
⇒
A
)
⇒
¬
¬
A
]
{\displaystyle (\neg \neg \neg {\mathcal {A}}\Rightarrow \neg {\mathcal {A}})\Rightarrow [(\neg \neg \neg {\mathcal {A}}\Rightarrow {\mathcal {A}})\Rightarrow \neg \neg {\mathcal {A}}]}
(A3)
(2)
(
¬
¬
¬
A
⇒
A
)
⇒
¬
¬
A
{\displaystyle (\neg \neg \neg {\mathcal {A}}\Rightarrow {\mathcal {A}})\Rightarrow \neg \neg {\mathcal {A}}}
(MP with DNe, 1)
(3)
A
⇒
(
¬
¬
¬
A
⇒
A
)
{\displaystyle {\mathcal {A}}\Rightarrow (\neg \neg \neg {\mathcal {A}}\Rightarrow {\mathcal {A}})}
(A1)
(4)
A
⇒
¬
¬
A
{\displaystyle {\mathcal {A}}\Rightarrow \neg \neg {\mathcal {A}}}
(D1 with 2,3)
证明(使用T1)
(1)
¬
¬
¬
A
⇒
¬
A
{\displaystyle \neg \neg \neg {\mathcal {A}}\Rightarrow \neg {\mathcal {A}}}
(DNe)
(2)
A
⇒
¬
¬
A
{\displaystyle {\mathcal {A}}\Rightarrow \neg \neg {\mathcal {A}}}
(MP with 1, T1)
上面两定理表达了双否定推理上等价于于原公式,引用两者任一会都以(DN)简写。
(T1) Transposition-1 —
¬
A
⇒
¬
B
⊢
B
⇒
A
{\displaystyle \neg {\mathcal {A}}\Rightarrow \neg {\mathcal {B}}\vdash {\mathcal {B}}\Rightarrow {\mathcal {A}}}
证明(使用A3)
(1)
(
¬
A
⇒
¬
B
)
⇒
[
(
¬
A
⇒
B
)
⇒
A
]
{\displaystyle (\neg {\mathcal {A}}\Rightarrow \neg {\mathcal {B}})\Rightarrow [(\neg {\mathcal {A}}\Rightarrow {\mathcal {B}})\Rightarrow {\mathcal {A}}]}
(A3)
(2)
¬
A
⇒
¬
B
{\displaystyle \neg {\mathcal {A}}\Rightarrow \neg {\mathcal {B}}}
(Hyp)
(3)
(
¬
A
⇒
B
)
⇒
A
{\displaystyle (\neg {\mathcal {A}}\Rightarrow {\mathcal {B}})\Rightarrow {\mathcal {A}}}
(MP with 1, 2)
(4)
B
⇒
(
¬
A
⇒
B
)
{\displaystyle {\mathcal {B}}\Rightarrow (\neg {\mathcal {A}}\Rightarrow {\mathcal {B}})}
(A1)
(5)
B
⇒
A
{\displaystyle {\mathcal {B}}\Rightarrow {\mathcal {A}}}
(D1 with 3, 4)
(T2) Transposition-2 —
B
⇒
A
⊢
¬
A
⇒
¬
B
{\displaystyle {\mathcal {B}}\Rightarrow {\mathcal {A}}\vdash \neg {\mathcal {A}}\Rightarrow \neg {\mathcal {B}}}
证明(使用T1)
(1)
¬
¬
B
⇒
B
{\displaystyle \neg \neg {\mathcal {B}}\Rightarrow {\mathcal {B}}}
(DN)
(2)
B
⇒
A
{\displaystyle {\mathcal {B}}\Rightarrow {\mathcal {A}}}
(Hyp)
(3)
¬
¬
B
⇒
A
{\displaystyle \neg \neg {\mathcal {B}}\Rightarrow {\mathcal {A}}}
(D with 1, 2)
(4)
A
⇒
¬
¬
A
{\displaystyle {\mathcal {A}}\Rightarrow \neg \neg {\mathcal {A}}}
(DN)
(5)
¬
¬
B
⇒
¬
¬
A
{\displaystyle \neg \neg {\mathcal {B}}\Rightarrow \neg \neg {\mathcal {A}}}
(D1 with 3,4)
(6)
(
¬
¬
B
⇒
¬
¬
A
)
⇒
(
¬
A
⇒
¬
B
)
{\displaystyle (\neg \neg {\mathcal {B}}\Rightarrow \neg \neg {\mathcal {A}})\Rightarrow (\neg {\mathcal {A}}\Rightarrow \neg {\mathcal {B}})}
(T1, D)
(7)
¬
A
⇒
¬
B
{\displaystyle \neg {\mathcal {A}}\Rightarrow \neg {\mathcal {B}}}
(MP with 5, 6)
注意到(T2)的证明引用了(T1)+(DN),但之前已经证明了(A1)+(A2)+(A3)可以推出(T1);还有(A1)+(A2)+(T1)也可以推出(DN),所以注明使用(T1)即可。
以上二定理说明
B
⇒
A
{\displaystyle {\mathcal {B}}\Rightarrow {\mathcal {A}}}
推理上等价于
¬
A
⇒
¬
B
{\displaystyle \neg {\mathcal {A}}\Rightarrow \neg {\mathcal {B}}}
,引用这两个定理中任一都以(T)表示。
至此,已经可以证明(A1)+(A2)+(T1)可以推出(A3):
(T1)可推出(A3)的证明
由MP律 显然有
¬
B
,
(
¬
B
⇒
B
)
⊢
B
{\displaystyle \neg {\mathcal {B}},\,(\neg {\mathcal {B}}\Rightarrow {\mathcal {B}})\vdash {\mathcal {B}}}
(1)
¬
B
⇒
[
(
¬
B
⇒
B
)
⇒
B
]
{\displaystyle \neg {\mathcal {B}}\Rightarrow [\,(\neg {\mathcal {B}}\Rightarrow {\mathcal {B}})\Rightarrow {\mathcal {B}}\,]}
(对上面的定理使用两次演绎元定理)
(2)
¬
B
⇒
[
¬
B
⇒
¬
(
¬
B
⇒
B
)
]
{\displaystyle \neg {\mathcal {B}}\Rightarrow [\,\neg {\mathcal {B}}\Rightarrow \neg (\neg {\mathcal {B}}\Rightarrow {\mathcal {B}})\,]}
(D1 with 1, T2)
(3)
(
¬
B
⇒
¬
B
)
⇒
[
¬
B
⇒
¬
(
¬
B
⇒
B
)
]
{\displaystyle (\neg {\mathcal {B}}\Rightarrow \neg {\mathcal {B}})\Rightarrow [\,\neg {\mathcal {B}}\Rightarrow \neg (\neg {\mathcal {B}}\Rightarrow {\mathcal {B}})\,]}
(MP with A2, 2)
(4)
¬
B
⇒
¬
(
¬
B
⇒
B
)
{\displaystyle \neg {\mathcal {B}}\Rightarrow \neg (\neg {\mathcal {B}}\Rightarrow {\mathcal {B}})}
(MP with I, 3)
(5)
(
¬
B
⇒
B
)
⇒
B
{\displaystyle (\neg {\mathcal {B}}\Rightarrow {\mathcal {B}})\Rightarrow {\mathcal {B}}}
(MP with T1, 4)
(6)
(
¬
B
)
⇒
(
¬
C
)
{\displaystyle (\neg {\mathcal {B}})\Rightarrow (\neg {\mathcal {C}})}
(Hyp)
(7)
¬
B
⇒
C
{\displaystyle \neg {\mathcal {B}}\Rightarrow {\mathcal {C}}}
(Hyp)
(8)
¬
C
⇒
¬
¬
B
{\displaystyle \neg {\mathcal {C}}\Rightarrow \neg \neg {\mathcal {B}}}
(MP with T2, 7)
(9)
¬
B
⇒
¬
¬
B
{\displaystyle \neg {\mathcal {B}}\Rightarrow \neg \neg {\mathcal {B}}}
(D1 with 6, 8)
(10)
¬
B
⇒
B
{\displaystyle \neg {\mathcal {B}}\Rightarrow {\mathcal {B}}}
(D1 with DN, 9)
(11)
B
{\displaystyle {\mathcal {B}}}
(MP with 5, 10)
所以综合以上所述,在有(A1)+(A2)的前提下,公理(T1)等价于公理(A3)。
由(T)可以得到类似于公理(A3)的定理
(A3') —
A
⇒
B
,
¬
A
⇒
B
⊢
B
{\displaystyle {\mathcal {A}}\Rightarrow {\mathcal {B}},\neg {\mathcal {A}}\Rightarrow {\mathcal {B}}\vdash {\mathcal {B}}}
证明
(1)
(
¬
B
⇒
¬
¬
A
)
⇒
[
(
¬
B
⇒
¬
A
)
⇒
B
]
{\displaystyle (\neg {\mathcal {B}}\Rightarrow \neg \neg {\mathcal {A}})\Rightarrow [(\neg {\mathcal {B}}\Rightarrow \neg {\mathcal {A}})\Rightarrow {\mathcal {B}}]}
(A3)
(2)
(
¬
A
⇒
B
)
⇒
(
¬
B
⇒
¬
¬
A
)
{\displaystyle (\neg {\mathcal {A}}\Rightarrow {\mathcal {B}})\Rightarrow (\neg {\mathcal {B}}\Rightarrow \neg \neg {\mathcal {A}})}
(T, D)
(3)
¬
A
⇒
B
{\displaystyle \neg {\mathcal {A}}\Rightarrow {\mathcal {B}}}
(Hyp)
(4)
¬
B
⇒
¬
¬
A
{\displaystyle \neg {\mathcal {B}}\Rightarrow \neg \neg {\mathcal {A}}}
(MP with 2, 3)
(5)
(
¬
B
⇒
¬
A
)
⇒
B
{\displaystyle (\neg {\mathcal {B}}\Rightarrow \neg {\mathcal {A}})\Rightarrow {\mathcal {B}}}
(MP with 1, 4)
(6)
(
A
⇒
B
)
⇒
(
¬
B
⇒
¬
A
)
{\displaystyle ({\mathcal {A}}\Rightarrow {\mathcal {B}})\Rightarrow (\neg {\mathcal {B}}\Rightarrow \neg {\mathcal {A}})}
(T, D)
(7)
A
⇒
B
{\displaystyle {\mathcal {A}}\Rightarrow {\mathcal {B}}}
(Hyp)
(8)
¬
B
⇒
¬
A
{\displaystyle \neg {\mathcal {B}}\Rightarrow \neg {\mathcal {A}}}
(MP with 6, 7)
(9)
B
{\displaystyle {\mathcal {B}}}
(MP with 5, 8)
以下的定理重现了实质条件 的直观理解。
(M0)material condition —
¬
A
,
A
⊢
B
{\displaystyle \neg {\mathcal {A}},{\mathcal {A}}\vdash {\mathcal {B}}}
(也就是
¬
A
⊢
A
⇒
B
{\displaystyle \neg {\mathcal {A}}\vdash {\mathcal {A}}\Rightarrow {\mathcal {B}}}
)
证明
(1)
¬
A
{\displaystyle \neg {\mathcal {A}}}
(Hyp)
(2)
A
{\displaystyle {\mathcal {A}}}
(Hyp)
(3)
(
¬
B
⇒
¬
A
)
⇒
[
(
¬
B
⇒
A
)
⇒
B
]
{\displaystyle (\neg {\mathcal {B}}\Rightarrow \neg {\mathcal {A}})\Rightarrow [(\neg {\mathcal {B}}\Rightarrow {\mathcal {A}})\Rightarrow {\mathcal {B}}]}
(A3)
(4)
¬
A
⇒
(
¬
B
⇒
¬
A
)
{\displaystyle \neg {\mathcal {A}}\Rightarrow (\neg {\mathcal {B}}\Rightarrow \neg {\mathcal {A}})}
(A1)
(5)
¬
B
⇒
¬
A
{\displaystyle \neg {\mathcal {B}}\Rightarrow \neg {\mathcal {A}}}
(MP with 4, 1)
(6)
A
⇒
(
¬
B
⇒
A
)
{\displaystyle {\mathcal {A}}\Rightarrow (\neg {\mathcal {B}}\Rightarrow {\mathcal {A}})}
(A1)
(7)
¬
B
⇒
A
{\displaystyle \neg {\mathcal {B}}\Rightarrow {\mathcal {A}}}
(MP with 6, 2)
(8)
(
¬
B
⇒
A
)
⇒
B
{\displaystyle (\neg {\mathcal {B}}\Rightarrow {\mathcal {A}})\Rightarrow {\mathcal {B}}}
(MP with 3,5)
(9)
B
{\displaystyle {\mathcal {B}}}
(MP with 8,7)
(M1)material condition —
A
,
¬
B
⊢
¬
(
A
⇒
B
)
{\displaystyle {\mathcal {A}},\neg {\mathcal {B}}\vdash \neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})}
证明
首先注意到
A
,
A
⇒
B
⊢
B
{\displaystyle {\mathcal {A}},{\mathcal {A}}\Rightarrow {\mathcal {B}}\vdash {\mathcal {B}}}
(MP)
(1)
A
⇒
[
(
A
⇒
B
)
⇒
B
]
{\displaystyle {\mathcal {A}}\Rightarrow [({\mathcal {A}}\Rightarrow {\mathcal {B}})\Rightarrow {\mathcal {B}}]}
(0, D)
(2)
[
(
A
⇒
B
)
⇒
B
]
⇒
{
¬
B
⇒
[
¬
(
A
⇒
B
)
]
}
{\displaystyle [({\mathcal {A}}\Rightarrow {\mathcal {B}})\Rightarrow {\mathcal {B}}]\Rightarrow \{\neg {\mathcal {B}}\Rightarrow [\neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})]\}}
(T)
(3)
A
{\displaystyle {\mathcal {A}}}
(Hyp)
(4)
(
A
⇒
B
)
⇒
B
{\displaystyle ({\mathcal {A}}\Rightarrow {\mathcal {B}})\Rightarrow {\mathcal {B}}}
(MP with 1, 3)
(5)
¬
B
⇒
[
¬
(
A
⇒
B
)
]
{\displaystyle \neg {\mathcal {B}}\Rightarrow [\neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})]}
(MP with 2, 4)
(6)
¬
B
{\displaystyle \neg {\mathcal {B}}}
(Hyp)
(7)
¬
(
A
⇒
B
)
{\displaystyle \neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})}
(MP 5, 6)
(M2)material condition —
¬
(
A
⇒
B
)
⊢
¬
B
{\displaystyle \neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})\vdash \neg {\mathcal {B}}}
证明
(1)
B
⇒
(
A
⇒
B
)
{\displaystyle {\mathcal {B}}\Rightarrow ({\mathcal {A}}\Rightarrow {\mathcal {B}})}
(A1)
(2)
[
B
⇒
(
A
⇒
B
)
]
⇒
{
[
¬
(
A
⇒
B
)
]
⇒
(
¬
B
)
}
{\displaystyle [{\mathcal {B}}\Rightarrow ({\mathcal {A}}\Rightarrow {\mathcal {B}})]\Rightarrow \{[\neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})]\Rightarrow (\neg {\mathcal {B}})\}}
(T)
(3)
[
¬
(
A
⇒
B
)
]
⇒
(
¬
B
)
{\displaystyle [\neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})]\Rightarrow (\neg {\mathcal {B}})}
(MP with 1, 2)
(4)
¬
(
A
⇒
B
)
{\displaystyle \neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})}
(Hyp)
(5)
¬
B
{\displaystyle \neg {\mathcal {B}}}
(MP with 3, 4)
(M3)material condition —
¬
(
A
⇒
B
)
⊢
A
{\displaystyle \neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})\vdash {\mathcal {A}}}
证明
(1)
¬
A
⇒
(
A
⇒
B
)
{\displaystyle \neg {\mathcal {A}}\Rightarrow ({\mathcal {A}}\Rightarrow {\mathcal {B}})}
(M0, D)
(2)
[
¬
A
⇒
(
A
⇒
B
)
]
⇒
{
[
¬
(
A
⇒
B
)
]
⇒
(
¬
¬
A
)
}
{\displaystyle [\neg {\mathcal {A}}\Rightarrow ({\mathcal {A}}\Rightarrow {\mathcal {B}})]\Rightarrow \{[\neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})]\Rightarrow (\neg \neg {\mathcal {A}})\}}
(T)
(3)
[
¬
(
A
⇒
B
)
]
⇒
(
¬
¬
A
)
{\displaystyle [\neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})]\Rightarrow (\neg \neg {\mathcal {A}})}
(MP with 1, 2)
(4)
¬
(
A
⇒
B
)
{\displaystyle \neg ({\mathcal {A}}\Rightarrow {\mathcal {B}})}
(Hyp)
(5)
¬
¬
A
{\displaystyle \neg \neg {\mathcal {A}}}
(MP with 3,4)
(6)
A
{\displaystyle {\mathcal {A}}}
(MP with 5, DN)
(C1)Proof by Contradiction —
A
⇒
¬
B
,
B
⊢
¬
A
{\displaystyle {\mathcal {A}}\Rightarrow \neg {\mathcal {B}},{\mathcal {B}}\vdash \neg {\mathcal {A}}}
证明
(1)
(
A
⇒
¬
B
)
⇒
(
¬
¬
B
⇒
¬
A
)
{\displaystyle ({\mathcal {A}}\Rightarrow \neg {\mathcal {B}})\Rightarrow (\neg \neg {\mathcal {B}}\Rightarrow \neg {\mathcal {A}})}
(T, D)
(2)
A
⇒
¬
B
{\displaystyle {\mathcal {A}}\Rightarrow \neg {\mathcal {B}}}
(Hyp)
(3)
¬
¬
B
⇒
¬
A
{\displaystyle \neg \neg {\mathcal {B}}\Rightarrow \neg {\mathcal {A}}}
(MP with 1, 2)
(4)
B
{\displaystyle {\mathcal {B}}}
(Hyp)
(5)
¬
¬
B
{\displaystyle \neg \neg {\mathcal {B}}}
(MP with DN, 4)
(6)
¬
A
{\displaystyle \neg {\mathcal {A}}}
(MP with 3, 5)
(C2)Proof by Contradiction —
¬
A
⇒
B
,
¬
B
⊢
A
{\displaystyle \neg {\mathcal {A}}\Rightarrow {\mathcal {B}},\neg {\mathcal {B}}\vdash {\mathcal {A}}}
以下为逻辑与 的交换性
元定理 —
⊢
(
A
∧
B
)
⇒
(
B
∧
A
)
{\displaystyle \vdash ({\mathcal {A}}\wedge {\mathcal {B}})\Rightarrow ({\mathcal {B}}\wedge {\mathcal {A}})}
证明
(1)
(
B
⇒
¬
A
)
⇒
(
A
⇒
¬
B
)
{\displaystyle ({\mathcal {B}}\Rightarrow \neg {\mathcal {A}})\Rightarrow ({\mathcal {A}}\Rightarrow \neg {\mathcal {B}})}
(C1, D)
(2)
[
(
B
⇒
¬
A
)
⇒
(
A
⇒
¬
B
)
]
⇒
{
[
¬
(
A
⇒
¬
B
)
]
⇒
[
¬
(
B
⇒
¬
A
)
]
}
{\displaystyle [({\mathcal {B}}\Rightarrow \neg {\mathcal {A}})\Rightarrow ({\mathcal {A}}\Rightarrow \neg {\mathcal {B}})]\Rightarrow \{[\neg ({\mathcal {A}}\Rightarrow \neg {\mathcal {B}})]\Rightarrow [\neg ({\mathcal {B}}\Rightarrow \neg {\mathcal {A}})]\}}
(T, D)
(3)
[
¬
(
A
⇒
¬
B
)
]
⇒
[
¬
(
B
⇒
¬
A
)
]
{\displaystyle [\neg ({\mathcal {A}}\Rightarrow \neg {\mathcal {B}})]\Rightarrow [\neg ({\mathcal {B}}\Rightarrow \neg {\mathcal {A}})]}
(MP with 1,2)
类似的,(C2)正是逻辑或 的交换性:
元定理 —
A
∨
B
⊢
B
∨
A
{\displaystyle {\mathcal {A}}\vee {\mathcal {B}}\vdash {\mathcal {B}}\vee {\mathcal {A}}}
(C2, D)
"且"的直观意义是实质条件元定理的直接结果
(AND)Intuitive meaning of And —
A
,
B
⊢
A
∧
B
{\displaystyle {\mathcal {A}},{\mathcal {B}}\vdash {\mathcal {A}}\wedge {\mathcal {B}}}
(M1)
A
∧
B
⊢
A
{\displaystyle {\mathcal {A}}\wedge {\mathcal {B}}\vdash {\mathcal {A}}}
(M3)
A
∧
B
⊢
B
{\displaystyle {\mathcal {A}}\wedge {\mathcal {B}}\vdash {\mathcal {B}}}
(M2)
从(AND)和
⇔
{\displaystyle \Leftrightarrow }
的符号定义可知,
⊢
B
⇔
C
{\displaystyle \vdash {\mathcal {B}}\Leftrightarrow {\mathcal {C}}}
的证明可以拆成两部分;习惯上会以“(
⇒
{\displaystyle \Rightarrow }
) ”标示
⊢
B
⇒
C
{\displaystyle \vdash {\mathcal {B}}\Rightarrow {\mathcal {C}}}
部分的证明,而“(
⇐
{\displaystyle \Leftarrow }
) ”标示
⊢
C
⇒
B
{\displaystyle \vdash {\mathcal {C}}\Rightarrow {\mathcal {B}}}
部分的证明。
类似的,"或"的直观意义是(M0)跟(D)的直截结果
(OR)Intuitive meaning of OR —
A
⊢
A
∨
B
{\displaystyle {\mathcal {A}}\vdash {\mathcal {A}}\vee {\mathcal {B}}}
(M0, DN)
B
⊢
A
∨
B
{\displaystyle {\mathcal {B}}\vdash {\mathcal {A}}\vee {\mathcal {B}}}
(A1, D)
A
∨
B
,
¬
A
⊢
B
{\displaystyle {\mathcal {A}}\vee {\mathcal {B}},\neg {\mathcal {A}}\vdash {\mathcal {B}}}
(D)
A
∨
B
,
¬
B
⊢
A
{\displaystyle {\mathcal {A}}\vee {\mathcal {B}},\neg {\mathcal {B}}\vdash {\mathcal {A}}}
(交换性, D)
以下的定理则是(A3')的直截结果
(DisJ)Disjunction —
A
⇒
C
,
B
⇒
C
,
A
∨
B
⊢
C
{\displaystyle {\mathcal {A}}\Rightarrow {\mathcal {C}},{\mathcal {B}}\Rightarrow {\mathcal {C}},{\mathcal {A}}\vee {\mathcal {B}}\vdash {\mathcal {C}}}
证明
(1)
¬
A
⇒
B
{\displaystyle \neg {\mathcal {A}}\Rightarrow {\mathcal {B}}}
(Hyp)
(2)
B
⇒
C
{\displaystyle {\mathcal {B}}\Rightarrow {\mathcal {C}}}
(Hyp)
(3)
¬
A
⇒
C
{\displaystyle \neg {\mathcal {A}}\Rightarrow {\mathcal {C}}}
(D1 with 1, 2)
(4)
A
⇒
C
{\displaystyle {\mathcal {A}}\Rightarrow {\mathcal {C}}}
(Hyp)
(5)
C
{\displaystyle {\mathcal {C}}}
(A3' with 3, 4)
对于"且",展开符号定义后,可以从直观意义轻松地得到
(ASO-AND)Associativity of AND —
⊢
A
∧
(
B
∧
C
)
⇔
(
A
∧
B
)
∧
C
{\displaystyle \vdash {\mathcal {A}}\wedge ({\mathcal {B}}\wedge {\mathcal {C}})\Leftrightarrow ({\mathcal {A}}\wedge {\mathcal {B}})\wedge {\mathcal {C}}}
"或"也有类似的性质
(ASO-OR)Associativity of OR —
⊢
A
∨
(
B
∨
C
)
⇔
(
A
∨
B
)
∨
C
{\displaystyle \vdash {\mathcal {A}}\vee ({\mathcal {B}}\vee {\mathcal {C}})\Leftrightarrow ({\mathcal {A}}\vee {\mathcal {B}})\vee {\mathcal {C}}}
"且"和"或"之间还有分配律
(DIS-1)Distribution —
⊢
A
∧
(
B
∨
C
)
⇔
(
A
∧
B
)
∨
(
A
∧
C
)
{\displaystyle \vdash {\mathcal {A}}\wedge ({\mathcal {B}}\vee {\mathcal {C}})\Leftrightarrow ({\mathcal {A}}\wedge {\mathcal {B}})\vee ({\mathcal {A}}\wedge {\mathcal {C}})}
证明
(
⇒
{\displaystyle \Rightarrow }
)
(1)
A
∧
(
B
∨
C
)
{\displaystyle {\mathcal {A}}\wedge ({\mathcal {B}}\vee {\mathcal {C}})}
(Hyp)
(2)
A
{\displaystyle {\mathcal {A}}}
(MP with 1, AND)
(3)
¬
B
⇒
C
{\displaystyle \neg {\mathcal {B}}\Rightarrow {\mathcal {C}}}
(MP with 1, AND)
(4)
¬
¬
(
A
⇒
¬
B
)
{\displaystyle \neg \neg ({\mathcal {A}}\Rightarrow \neg {\mathcal {B}})}
(Hyp)
(5)
A
⇒
¬
B
{\displaystyle {\mathcal {A}}\Rightarrow \neg {\mathcal {B}}}
(MP with 4, DN)
(6)
A
⇒
C
{\displaystyle {\mathcal {A}}\Rightarrow {\mathcal {C}}}
(D1 with 3, 5)
(7)
C
{\displaystyle {\mathcal {C}}}
(MP with 2, 5)
(8)
A
∧
C
{\displaystyle {\mathcal {A}}\wedge {\mathcal {C}}}
(MP twice with 2, 7, AND)
也就是
A
∧
(
B
∨
C
)
,
¬
(
A
∧
B
)
⊢
A
∧
C
{\displaystyle {\mathcal {A}}\wedge ({\mathcal {B}}\vee {\mathcal {C}}),\,\neg ({\mathcal {A}}\wedge {\mathcal {B}})\vdash {\mathcal {A}}\wedge {\mathcal {C}}}
再套用(D)就会得到
A
∧
(
B
∨
C
)
⊢
(
A
∧
B
)
∨
(
A
∧
C
)
{\displaystyle {\mathcal {A}}\wedge ({\mathcal {B}}\vee {\mathcal {C}})\vdash ({\mathcal {A}}\wedge {\mathcal {B}})\vee ({\mathcal {A}}\wedge {\mathcal {C}})}
(
⇐
{\displaystyle \Leftarrow }
)
(1)
¬
(
A
∧
B
)
⇒
A
∧
C
{\displaystyle \neg ({\mathcal {A}}\wedge {\mathcal {B}})\Rightarrow {\mathcal {A}}\wedge {\mathcal {C}}}
(Hyp)
(2)
¬
(
A
∧
B
)
⇒
A
{\displaystyle \neg ({\mathcal {A}}\wedge {\mathcal {B}})\Rightarrow {\mathcal {A}}}
(D1 with 1, AND)
(3)
¬
(
A
∧
B
)
⇒
C
{\displaystyle \neg ({\mathcal {A}}\wedge {\mathcal {B}})\Rightarrow {\mathcal {C}}}
(D1 with 1, AND)
(4)
¬
A
⇒
(
A
∧
B
)
{\displaystyle \neg {\mathcal {A}}\Rightarrow ({\mathcal {A}}\wedge {\mathcal {B}})}
(MP with 2, C2)
(5)
¬
C
⇒
(
A
∧
B
)
{\displaystyle \neg {\mathcal {C}}\Rightarrow ({\mathcal {A}}\wedge {\mathcal {B}})}
(MP with 3, C2)
(6)
¬
A
⇒
A
{\displaystyle \neg {\mathcal {A}}\Rightarrow {\mathcal {A}}}
(D1 with 4, AND)
(7)
¬
C
⇒
B
{\displaystyle \neg {\mathcal {C}}\Rightarrow {\mathcal {B}}}
(D1 with 4, AND)
(8)
A
{\displaystyle {\mathcal {A}}}
(A3' with 6, I)
(9)
A
∧
(
B
∨
C
)
{\displaystyle {\mathcal {A}}\wedge ({\mathcal {B}}\vee {\mathcal {C}})}
(MP twice with 7, 8, AND)
也就是
(
A
∧
B
)
∨
(
A
∧
C
)
⊢
A
∧
(
B
∨
C
)
{\displaystyle ({\mathcal {A}}\wedge {\mathcal {B}})\vee ({\mathcal {A}}\wedge {\mathcal {C}})\vdash {\mathcal {A}}\wedge ({\mathcal {B}}\vee {\mathcal {C}})}
(DIS-2)Distribution —
⊢
A
∨
(
B
∧
C
)
⇔
(
A
∨
B
)
∧
(
A
∨
C
)
{\displaystyle \vdash {\mathcal {A}}\vee ({\mathcal {B}}\wedge {\mathcal {C}})\Leftrightarrow ({\mathcal {A}}\vee {\mathcal {B}})\wedge ({\mathcal {A}}\vee {\mathcal {C}})}
证明
(
⇒
{\displaystyle \Rightarrow }
)
(1)
¬
A
⇒
(
B
∧
C
)
{\displaystyle \neg {\mathcal {A}}\Rightarrow ({\mathcal {B}}\wedge {\mathcal {C}})}
(Hyp)
(2)
¬
A
⇒
B
{\displaystyle \neg {\mathcal {A}}\Rightarrow {\mathcal {B}}}
(D1 with 1, AND)
(3)
¬
A
⇒
C
{\displaystyle \neg {\mathcal {A}}\Rightarrow {\mathcal {C}}}
(D1 with 1, AND)
(4)
(
A
∨
B
)
∧
(
A
∨
C
)
{\displaystyle ({\mathcal {A}}\vee {\mathcal {B}})\wedge ({\mathcal {A}}\vee {\mathcal {C}})}
(MP twice with 2, 3,AND)
也就是
A
∨
(
B
∧
C
)
⊢
(
A
∨
B
)
∧
(
A
∨
C
)
{\displaystyle {\mathcal {A}}\vee ({\mathcal {B}}\wedge {\mathcal {C}})\vdash ({\mathcal {A}}\vee {\mathcal {B}})\wedge ({\mathcal {A}}\vee {\mathcal {C}})}
(
⇐
{\displaystyle \Leftarrow }
)
(1)
(
¬
A
⇒
B
)
∧
(
¬
A
⇒
C
)
{\displaystyle (\neg {\mathcal {A}}\Rightarrow {\mathcal {B}})\wedge (\neg {\mathcal {A}}\Rightarrow {\mathcal {C}})}
(Hyp)
(2)
¬
A
⇒
B
{\displaystyle \neg {\mathcal {A}}\Rightarrow {\mathcal {B}}}
(MP with 1, AND)
(3)
¬
A
⇒
C
{\displaystyle \neg {\mathcal {A}}\Rightarrow {\mathcal {C}}}
(MP with 1, AND)
(4)
¬
A
{\displaystyle \neg {\mathcal {A}}}
(Hyp)
(5)
B
{\displaystyle {\mathcal {B}}}
(MP with 2,4)
(6)
C
{\displaystyle {\mathcal {C}}}
(MP with 3,4)
(7)
B
∧
C
{\displaystyle {\mathcal {B}}\wedge {\mathcal {C}}}
(MP twice with 5, 6, AND)
也就是
A
∧
(
B
∨
C
)
,
¬
A
⊢
B
∧
C
{\displaystyle {\mathcal {A}}\wedge ({\mathcal {B}}\vee {\mathcal {C}}),\,\neg {\mathcal {A}}\vdash {\mathcal {B}}\wedge {\mathcal {C}}}
再使用一次推论元定理会得到
A
∧
(
B
∨
C
)
⊢
A
∨
(
B
∧
C
)
{\displaystyle {\mathcal {A}}\wedge ({\mathcal {B}}\vee {\mathcal {C}})\vdash {\mathcal {A}}\vee ({\mathcal {B}}\wedge {\mathcal {C}})}
以下的元定理的名字来自于英国逻辑学家奥古斯塔斯·德摩根 。
De Morgan I —
⊢
[
¬
(
A
∧
B
)
]
⇔
[
(
¬
A
)
∨
(
¬
B
)
]
{\displaystyle \vdash [\neg ({\mathcal {A}}\wedge {\mathcal {B}})]\Leftrightarrow [(\neg {\mathcal {A}})\vee (\neg {\mathcal {B}})]}
De Morgan II —
⊢
[
¬
(
A
∨
B
)
]
⇔
[
(
¬
A
)
∧
(
¬
B
)
]
{\displaystyle \vdash [\neg ({\mathcal {A}}\vee {\mathcal {B}})]\Leftrightarrow [(\neg {\mathcal {A}})\wedge (\neg {\mathcal {B}})]}
公理模式 (A7)可以稍加延伸成以下的元定理
定理的普遍化 —
对任意变数
x
{\displaystyle x}
,若
⊢
B
{\displaystyle \vdash {\mathcal {B}}}
则有
⊢
(
∀
x
)
B
{\displaystyle \vdash (\forall x){\mathcal {B}}}
。
更进一步,有以下元定里
(GEN) —
在
A
1
,
A
2
,
.
.
.
.
,
A
n
{\displaystyle {\mathcal {A}}_{1},{\mathcal {A}}_{2},....,{\mathcal {A}}_{n}}
里变数
x
{\displaystyle x}
都完全被约束,若
A
1
,
A
2
,
.
.
.
.
,
A
n
⊢
B
{\displaystyle {\mathcal {A}}_{1},{\mathcal {A}}_{2},....,{\mathcal {A}}_{n}\vdash {\mathcal {B}}}
则有
A
1
,
A
2
,
.
.
.
.
,
A
n
⊢
(
∀
x
)
B
{\displaystyle {\mathcal {A}}_{1},{\mathcal {A}}_{2},....,{\mathcal {A}}_{n}\vdash (\forall x){\mathcal {B}}}
证明
以下对前提条件的数量
n
{\displaystyle n}
做归纳。
若
n
=
1
{\displaystyle n=1}
,根据前提有
A
1
⊢
B
{\displaystyle {\mathcal {A}}_{1}\vdash {\mathcal {B}}}
以(D)将
A
1
{\displaystyle {\mathcal {A}}_{1}}
往前搬,再套用定理的普遍化,会得到
⊢
(
∀
x
)
(
A
1
⇒
B
)
{\displaystyle \vdash (\forall x)({\mathcal {A}}_{1}\Rightarrow {\mathcal {B}})}
再根据(A5)和MP律,就可以得到
⊢
A
1
⇒
(
∀
x
)
B
{\displaystyle \vdash {\mathcal {A}}_{1}\Rightarrow (\forall x){\mathcal {B}}}
也就是本元定理要求的结果。
现在假设
n
<
k
{\displaystyle n<k}
的情况下元定理会成立。元定理的前提条件根据(D)可以写为
A
1
,
A
2
,
.
.
.
.
,
A
k
−
1
⊢
A
k
⇒
B
{\displaystyle {\mathcal {A}}_{1},{\mathcal {A}}_{2},....,{\mathcal {A}}_{k-1}\vdash {\mathcal {A}}_{k}\Rightarrow {\mathcal {B}}}
则根据归纳法的假设
A
1
,
A
2
,
.
.
.
.
,
A
k
−
1
⊢
(
∀
x
)
(
A
k
⇒
B
)
{\displaystyle {\mathcal {A}}_{1},{\mathcal {A}}_{2},....,{\mathcal {A}}_{k-1}\vdash (\forall x)({\mathcal {A}}_{k}\Rightarrow {\mathcal {B}})}
上式配上(A5),本元定理在
n
=
k
{\displaystyle n=k}
的情况就可以得到证明,故本元定理得证。
◻
{\displaystyle \Box }
(GEN)可以稍加修饰,以套用在含有存在量词的公式上
以下的定理,说明两条“等价”的公式可以互相代换
证明
以下的证明都会用到这三条公式:
(a)
A
⇔
B
{\displaystyle {\mathcal {A}}\Leftrightarrow {\mathcal {B}}}
(from
Γ
{\displaystyle \Gamma }
)
(b)
A
⇒
B
{\displaystyle {\mathcal {A}}\Rightarrow {\mathcal {B}}}
(MP with AND , a)
(c)
B
⇒
A
{\displaystyle {\mathcal {B}}\Rightarrow {\mathcal {A}}}
(MP with AND , a)
1.
(1)
(
¬
B
)
⇒
(
¬
A
)
{\displaystyle (\neg {\mathcal {B}})\Rightarrow (\neg {\mathcal {A}})}
(MP with T , b)
(2)
(
¬
A
)
⇒
(
¬
B
)
{\displaystyle (\neg {\mathcal {A}})\Rightarrow (\neg {\mathcal {B}})}
(MP with T , c)
(3)
(
¬
A
)
⇔
(
¬
B
)
{\displaystyle (\neg {\mathcal {A}})\Leftrightarrow (\neg {\mathcal {B}})}
(AND with 3, 5)
2.
(
⇒
{\displaystyle \Rightarrow }
)
(1)
C
⇒
A
{\displaystyle {\mathcal {C}}\Rightarrow {\mathcal {A}}}
(Hyp)
(2)
C
⇒
B
{\displaystyle {\mathcal {C}}\Rightarrow {\mathcal {B}}}
(D1 with 1, b)
(
⇐
{\displaystyle \Leftarrow }
)
(1)
C
⇒
B
{\displaystyle {\mathcal {C}}\Rightarrow {\mathcal {B}}}
(Hyp)
(2)
C
⇒
A
{\displaystyle {\mathcal {C}}\Rightarrow {\mathcal {A}}}
(D1 with 1, c)
3.
(
⇒
{\displaystyle \Rightarrow }
)
(1)
A
⇒
C
{\displaystyle {\mathcal {A}}\Rightarrow {\mathcal {C}}}
(Hyp)
(2)
(
¬
C
)
⇒
(
¬
A
)
{\displaystyle (\neg {\mathcal {C}})\Rightarrow (\neg {\mathcal {A}})}
(MP with T , 1)
(3)
(
¬
A
)
⇒
(
¬
B
)
{\displaystyle (\neg {\mathcal {A}})\Rightarrow (\neg {\mathcal {B}})}
(MP with T , c)
(4)
(
¬
C
)
⇒
(
¬
B
)
{\displaystyle (\neg {\mathcal {C}})\Rightarrow (\neg {\mathcal {B}})}
(D1 with 2, 3)
(5)
B
⇒
C
{\displaystyle {\mathcal {B}}\Rightarrow {\mathcal {C}}}
(MP with T , 4)
(
⇐
{\displaystyle \Leftarrow }
)
(1)
B
⇒
C
{\displaystyle {\mathcal {B}}\Rightarrow {\mathcal {C}}}
(Hyp)
(2)
(
¬
C
)
⇒
(
¬
B
)
{\displaystyle (\neg {\mathcal {C}})\Rightarrow (\neg {\mathcal {B}})}
(MP with T , 1)
(3)
(
¬
B
)
⇒
(
¬
A
)
{\displaystyle (\neg {\mathcal {B}})\Rightarrow (\neg {\mathcal {A}})}
(MP with T , b)
(4)
(
¬
C
)
⇒
(
¬
A
)
{\displaystyle (\neg {\mathcal {C}})\Rightarrow (\neg {\mathcal {A}})}
(D1 with 2, 3)
(5)
A
⇒
C
{\displaystyle {\mathcal {A}}\Rightarrow {\mathcal {C}}}
(MP with T , 4)
4.
(
⇒
{\displaystyle \Rightarrow }
)
(1)
(
∀
x
)
(
A
⇒
B
)
{\displaystyle (\forall x)({\mathcal {A}}\Rightarrow {\mathcal {B}})}
(GEN with
x
{\displaystyle x}
, a)
(2)
(
∀
x
)
A
⇒
(
∀
x
)
B
{\displaystyle (\forall x){\mathcal {A}}\Rightarrow (\forall x){\mathcal {B}}}
(MP with A6 , 1)
(
⇐
{\displaystyle \Leftarrow }
)
(1)
(
∀
x
)
(
B
⇒
A
)
{\displaystyle (\forall x)({\mathcal {B}}\Rightarrow {\mathcal {A}})}
(GEN with
x
{\displaystyle x}
, c)
(2)
(
∀
x
)
B
⇒
(
∀
x
)
A
{\displaystyle (\forall x){\mathcal {B}}\Rightarrow (\forall x){\mathcal {A}}}
(MP with A6 , 1)
这些定理通常是混合使用,以达到“等价代换”的结果,例如,考虑到“逻辑与”是以下的符号定义:
(
A
∧
C
)
:=
¬
[
A
⇒
(
¬
C
)
]
{\displaystyle ({\mathcal {A}}\wedge {\mathcal {C}}):=\neg [{\mathcal {A}}\Rightarrow (\neg {\mathcal {C}})]}
那如果假设
⊢
A
⇔
B
{\displaystyle \vdash {\mathcal {A}}\Leftrightarrow {\mathcal {B}}}
,就有:
⊢
[
A
⇒
(
¬
C
)
]
⇔
[
B
⇒
(
¬
C
)
]
{\displaystyle \vdash [{\mathcal {A}}\Rightarrow (\neg {\mathcal {C}})]\Leftrightarrow [{\mathcal {B}}\Rightarrow (\neg {\mathcal {C}})]}
⊢
¬
[
A
⇒
(
¬
C
)
]
⇔
{
¬
[
B
⇒
(
¬
C
)
]
}
{\displaystyle \vdash \neg [{\mathcal {A}}\Rightarrow (\neg {\mathcal {C}})]\Leftrightarrow \{\neg [{\mathcal {B}}\Rightarrow (\neg {\mathcal {C}})]\}}
换句话说,从“
⊢
A
⇔
B
{\displaystyle \vdash {\mathcal {A}}\Leftrightarrow {\mathcal {B}}}
”可以得到“
⊢
(
A
∧
C
)
⇔
(
B
∧
C
)
{\displaystyle \vdash ({\mathcal {A}}\wedge {\mathcal {C}})\Leftrightarrow ({\mathcal {B}}\wedge {\mathcal {C}})}
”,直观上相当于,把
A
{\displaystyle {\mathcal {A}}}
都代换成
B
{\displaystyle {\mathcal {B}}}
则两式等价。日后像这样递回地套用上述定理来得到“代换则某两式等价”,都简单地以“引用(Equv)”来表示这段实际的推演过程。
由普遍化,很容易证明以下关于"交换性"的定理
元定理 —
(1)
(
∀
x
)
(
∀
y
)
A
⊢
(
∀
y
)
(
∀
x
)
A
{\displaystyle (\forall x)(\forall y){\mathcal {A}}\vdash (\forall y)(\forall x){\mathcal {A}}}
(2)
(
∃
x
)
(
∃
y
)
A
⊢
(
∃
y
)
(
∃
x
)
A
{\displaystyle (\exists x)(\exists y){\mathcal {A}}\vdash (\exists y)(\exists x){\mathcal {A}}}
(3)
(
∃
x
)
(
∀
y
)
A
⊢
(
∀
y
)
(
∃
x
)
A
{\displaystyle (\exists x)(\forall y){\mathcal {A}}\vdash (\forall y)(\exists x){\mathcal {A}}}
注意最后(3)一般来说是不能反向的,只要想到"对每个
a
{\displaystyle a}
,都有一个数(也就是
−
a
{\displaystyle -a}
),使
a
+
(
−
a
)
=
0
{\displaystyle a+(-a)=0}
",但是任取一个
a
{\displaystyle a}
的数
(
−
a
)
{\displaystyle (-a)}
和任意的数
b
{\displaystyle b}
,
b
+
(
−
a
)
{\displaystyle b+(-a)}
并不一定会为零。
数学中常常有 "对所有
ϵ
>
0
{\displaystyle \epsilon >0}
有...",或是 "存在
δ
>
0
{\displaystyle \delta >0}
使的..."。而两句话比较清晰,接近一阶逻辑语言的说法是 "对所有
ϵ
{\displaystyle \epsilon }
,只要
ϵ
>
0
{\displaystyle \epsilon >0}
则..." 与 "存在
δ
{\displaystyle \delta }
,
δ
>
0
{\displaystyle \delta >0}
且..."。“大于”直观上是一个二元关系 ,也就是说,在公理化集合论 里对应于一条
ϵ
{\displaystyle \epsilon }
( 或
δ
{\displaystyle \delta }
) 在里面完全自由的合式公式。据此,可做以下的符号定义
符号定义 —
如果变数
x
{\displaystyle x}
和
y
{\displaystyle y}
都于合式公式
A
(
x
,
y
)
{\displaystyle {\mathcal {A}}(x,\,y)}
里完全自由,那
[
∀
A
(
x
,
y
)
]
B
:=
(
∀
x
)
[
A
(
x
,
y
)
⇒
B
]
{\displaystyle [\,\forall {\mathcal {A}}(x,\,y)\,]{\mathcal {B}}:=(\forall x)[\,{\mathcal {A}}(x,\,y)\Rightarrow {\mathcal {B}}\,]}
[
∃
A
(
x
,
y
)
]
B
:=
(
∃
x
)
[
A
(
x
,
y
)
∧
B
]
{\displaystyle [\,\exists {\mathcal {A}}(x,\,y)\,]{\mathcal {B}}:=(\exists x)[\,{\mathcal {A}}(x,\,y)\wedge {\mathcal {B}}\,]}
但直观上也会说 "对所有
n
>
0
{\displaystyle n>0}
和
m
>
0
{\displaystyle m>0}
有...",这样连续,带有条件的全称量词也是有"交换性"的。 为了讨论这个问题,首先需要一些前置的定理
(abb) —
⊢
[
A
⇒
(
B
⇒
C
)
]
⇔
[
(
A
∧
B
)
⇒
C
]
{\displaystyle \vdash [{\mathcal {A}}\Rightarrow ({\mathcal {B}}\Rightarrow {\mathcal {C}})]\Leftrightarrow [({\mathcal {A}}\wedge {\mathcal {B}})\Rightarrow {\mathcal {C}}]}
证明
(
⇒
{\displaystyle \Rightarrow }
)
A
⇒
(
B
⇒
C
)
⊢
(
A
∧
B
)
⇒
C
{\displaystyle {\mathcal {A}}\Rightarrow ({\mathcal {B}}\Rightarrow {\mathcal {C}})\vdash ({\mathcal {A}}\wedge {\mathcal {B}})\Rightarrow {\mathcal {C}}}
注意到
(AND)
A
∧
B
⊢
A
{\displaystyle {\mathcal {A}}\wedge {\mathcal {B}}\vdash {\mathcal {A}}}
(AND)
A
∧
B
⊢
B
{\displaystyle {\mathcal {A}}\wedge {\mathcal {B}}\vdash {\mathcal {B}}}
所以
A
⇒
(
B
⇒
C
)
,
A
∧
B
⊢
C
{\displaystyle {\mathcal {A}}\Rightarrow ({\mathcal {B}}\Rightarrow {\mathcal {C}}),\,{\mathcal {A}}\wedge {\mathcal {B}}\vdash {\mathcal {C}}}
再套上演绎元定理 就可以得证。
◻
{\displaystyle \Box }
(
⇐
{\displaystyle \Leftarrow }
)
(
A
∧
B
)
⇒
C
⊢
A
⇒
(
B
⇒
C
)
{\displaystyle ({\mathcal {A}}\wedge {\mathcal {B}})\Rightarrow {\mathcal {C}}\vdash {\mathcal {A}}\Rightarrow ({\mathcal {B}}\Rightarrow {\mathcal {C}})}
注意到
(AND)
A
,
B
⊢
A
∧
B
{\displaystyle {\mathcal {A}},\,{\mathcal {B}}\vdash {\mathcal {A}}\wedge {\mathcal {B}}}
所以
(
A
∧
B
)
⇒
C
,
A
,
B
⊢
C
{\displaystyle ({\mathcal {A}}\wedge {\mathcal {B}})\Rightarrow {\mathcal {C}},\,{\mathcal {A}},\,{\mathcal {B}}\vdash {\mathcal {C}}}
再套上演绎元定理 就可以得证。
◻
{\displaystyle \Box }
这样就可以证明以下定理
元定理 —
如果变数
x
{\displaystyle x}
和
y
{\displaystyle y}
都于合式公式
A
(
x
,
y
)
{\displaystyle {\mathcal {A}}(x,\,y)}
和
B
(
x
,
y
)
{\displaystyle {\mathcal {B}}(x,\,y)}
里完全自由,若项
T
{\displaystyle T}
里没有
y
{\displaystyle y}
那
⊢
[
∀
A
(
x
,
T
)
]
[
∀
B
(
y
,
S
)
]
C
⇔
∀
x
∀
y
{
[
A
(
x
,
T
)
∧
B
(
y
,
S
)
]
⇒
C
}
{\displaystyle \vdash [\,\forall {\mathcal {A}}(x,\,T)\,][\,\forall {\mathcal {B}}(y,\,S)\,]{\mathcal {C}}\Leftrightarrow \forall x\forall y\{[{\mathcal {A}}(x,\,T)\wedge {\mathcal {B}}(y,\,S)]\Rightarrow {\mathcal {C}}\}}
证明
(
⇒
{\displaystyle \Rightarrow }
)
[
∀
A
(
x
,
T
)
]
[
∀
B
(
y
,
S
)
]
C
⊢
∀
x
∀
y
{
[
A
(
x
,
T
)
∧
B
(
y
,
S
)
]
⇒
B
}
{\displaystyle [\,\forall {\mathcal {A}}(x,\,T)\,][\,\forall {\mathcal {B}}(y,\,S)\,]{\mathcal {C}}\vdash \forall x\forall y\{[\,{\mathcal {A}}(x,\,T)\wedge {\mathcal {B}}(y,\,S)\,]\Rightarrow {\mathcal {B}}\}}
(1)
(
∀
x
)
{
A
(
x
,
T
)
⇒
(
∀
y
)
[
B
(
y
,
S
)
⇒
C
]
}
{\displaystyle (\forall x)\{\,{\mathcal {A}}(x,\,T)\Rightarrow (\forall y)[\,{\mathcal {B}}(y,\,S)\Rightarrow {\mathcal {C}}\,]\,\}}
(Hyp)
(2)
A
(
x
,
T
)
⇒
(
∀
y
)
[
B
(
y
,
S
)
⇒
C
]
{\displaystyle {\mathcal {A}}(x,\,T)\Rightarrow (\forall y)[\,{\mathcal {B}}(y,\,S)\Rightarrow {\mathcal {C}}\,]}
(MP with 1, A4)
(3)
A
(
x
,
T
)
⇒
[
B
(
y
,
S
)
⇒
C
]
{\displaystyle {\mathcal {A}}(x,\,T)\Rightarrow [\,{\mathcal {B}}(y,\,S)\Rightarrow {\mathcal {C}}\,]}
(D1 with 2, A4)
(4)
[
A
(
x
,
T
)
∧
B
(
y
,
S
)
]
⇒
C
{\displaystyle [\,{\mathcal {A}}(x,\,T)\wedge {\mathcal {B}}(y,\,S)\,]\Rightarrow {\mathcal {C}}}
(MP with abb, 3)
(5)
∀
x
∀
y
{
[
A
(
x
,
T
)
∧
B
(
y
,
S
)
]
⇒
B
}
{\displaystyle \forall x\forall y\{[{\mathcal {A}}(x,\,T)\wedge {\mathcal {B}}(y,\,S)]\Rightarrow {\mathcal {B}}\}}
(GEN with 4 twice)
(
⇐
{\displaystyle \Leftarrow }
)
∀
x
∀
y
{
[
A
(
x
,
T
)
∧
B
(
y
,
S
)
]
⇒
B
}
⊢
[
∀
A
(
x
,
T
)
]
[
∀
B
(
y
,
S
)
]
C
{\displaystyle \forall x\forall y\{[\,{\mathcal {A}}(x,\,T)\wedge {\mathcal {B}}(y,\,S)\,]\Rightarrow {\mathcal {B}}\}\vdash [\,\forall {\mathcal {A}}(x,\,T)\,][\,\forall {\mathcal {B}}(y,\,S)\,]{\mathcal {C}}}
(1)
∀
x
∀
y
{
[
A
(
x
,
T
)
∧
B
(
y
,
S
)
]
⇒
B
}
{\displaystyle \forall x\forall y\{[\,{\mathcal {A}}(x,\,T)\wedge {\mathcal {B}}(y,\,S)\,]\Rightarrow {\mathcal {B}}\}}
(Hyp)
(2)
[
A
(
x
,
T
)
∧
B
(
y
,
S
)
]
⇒
B
{\displaystyle [\,{\mathcal {A}}(x,\,T)\wedge {\mathcal {B}}(y,\,S)\,]\Rightarrow {\mathcal {B}}}
(MP with 2, A4 twice)
(3)
A
(
x
,
T
)
⇒
[
B
(
y
,
S
)
⇒
C
]
{\displaystyle {\mathcal {A}}(x,\,T)\Rightarrow [\,{\mathcal {B}}(y,\,S)\Rightarrow {\mathcal {C}}\,]}
(MP with abb, 2)
(4)
(
∀
y
)
{
A
(
x
,
T
)
⇒
[
B
(
y
,
S
)
⇒
C
]
}
{\displaystyle (\forall y)\{\,{\mathcal {A}}(x,\,T)\Rightarrow [\,{\mathcal {B}}(y,\,S)\Rightarrow {\mathcal {C}}\,]\,\}}
(GEN with 3)
(5)
A
(
x
,
T
)
⇒
(
∀
y
)
[
B
(
y
,
S
)
⇒
C
]
{\displaystyle {\mathcal {A}}(x,\,T)\Rightarrow (\forall y)[\,{\mathcal {B}}(y,\,S)\Rightarrow {\mathcal {C}}\,]}
(MP with A5, 4)
(6)
(
∀
x
)
{
A
(
x
,
T
)
⇒
(
∀
y
)
[
B
(
y
,
S
)
⇒
C
]
}
{\displaystyle (\forall x)\{\,{\mathcal {A}}(x,\,T)\Rightarrow (\forall y)[\,{\mathcal {B}}(y,\,S)\Rightarrow {\mathcal {C}}\,]\,\}}
(GEN with 5)
如果再加上 "项
S
{\displaystyle S}
里没有
x
{\displaystyle x}
" 那就是 "对所有
n
>
0
{\displaystyle n>0}
和
m
>
0
{\displaystyle m>0}
有...",也就是以上所讨论的情况了。以这个定理配上全称量词本身的交换性定理,那这句话就可以等价的说成 "对所有
m
{\displaystyle m}
和
n
{\displaystyle n}
若
n
>
0
{\displaystyle n>0}
且
m
>
0
{\displaystyle m>0}
则...",所以根据"且"的可交换性,可以进一步的说成 "对所有
m
>
0
{\displaystyle m>0}
和
n
>
0
{\displaystyle n>0}
有...",所以连续带有条件的全称量词是"可交换的"。也就是说
元定理 —
如果变数
x
{\displaystyle x}
和
y
{\displaystyle y}
都于合式公式
A
(
x
,
y
)
{\displaystyle {\mathcal {A}}(x,\,y)}
和
B
(
x
,
y
)
{\displaystyle {\mathcal {B}}(x,\,y)}
里完全自由,若项
T
{\displaystyle T}
里没有
y
{\displaystyle y}
,且项
S
{\displaystyle S}
里没有
x
{\displaystyle x}
则
⊢
[
∀
A
(
x
,
T
)
]
[
∀
B
(
y
,
S
)
]
C
⇔
[
∀
B
(
y
,
S
)
]
[
∀
A
(
x
,
T
)
]
C
{\displaystyle \vdash [\,\forall {\mathcal {A}}(x,\,T)\,][\,\forall {\mathcal {B}}(y,\,S)\,]{\mathcal {C}}\Leftrightarrow [\,\forall {\mathcal {B}}(y,\,S)\,][\,\forall {\mathcal {A}}(x,\,T)\,]{\mathcal {C}}}
但对于带条件的存在量词,首先可以得到以下非等价的定理。
元定理 —
(
∃
x
)
(
∃
y
)
(
A
∧
B
∧
C
)
⊢
(
∃
x
)
[
A
∧
(
∃
y
)
(
B
∧
C
)
]
{\displaystyle (\exists x)(\exists y)({\mathcal {A}}\wedge {\mathcal {B}}\wedge {\mathcal {C}})\vdash (\exists x)[\,{\mathcal {A}}\wedge (\exists y)({\mathcal {B}}\wedge {\mathcal {C}})\,]}
这是因为一般来说,
(
∃
y
)
D
{\displaystyle (\exists y){\mathcal {D}}}
不总是能推出
D
{\displaystyle {\mathcal {D}}}
。虽说如此,只要对公式做出一些限制,就会有以下交换的直观定理:
证明
(
⇒
{\displaystyle \Rightarrow }
)
(1)
Q
⇒
(
∀
x
)
(
¬
R
)
{\displaystyle {\mathcal {Q}}\Rightarrow (\forall x)(\neg {\mathcal {R}})}
(Hyp)
(2)
Q
⇒
(
¬
R
)
{\displaystyle {\mathcal {Q}}\Rightarrow (\neg {\mathcal {R}})}
(D1 with 1 and A4 )
换句话说
Q
⇒
(
∀
x
)
(
¬
R
)
⊢
Q
⇒
(
¬
R
)
{\displaystyle {\mathcal {Q}}\Rightarrow (\forall x)(\neg {\mathcal {R}})\vdash {\mathcal {Q}}\Rightarrow (\neg {\mathcal {R}})}
这样使用(GEN) 有
Q
⇒
(
∀
x
)
(
¬
R
)
⊢
(
∀
x
)
[
Q
⇒
(
¬
R
)
]
{\displaystyle {\mathcal {Q}}\Rightarrow (\forall x)(\neg {\mathcal {R}})\vdash (\forall x)[{\mathcal {Q}}\Rightarrow (\neg {\mathcal {R}})]}
这样对上式使用(De Morgan) 和(T) 就有
⊢
(
∃
x
)
(
R
∧
Q
)
⇒
[
(
∃
x
)
(
R
)
∧
Q
)
]
{\displaystyle \vdash (\exists x)({\mathcal {R}}\wedge {\mathcal {\mathcal {Q}}})\Rightarrow [(\exists x)({\mathcal {R}})\wedge {\mathcal {Q}})]}
(
⇐
{\displaystyle \Leftarrow }
)
(1)
(
∀
x
)
[
Q
⇒
(
¬
R
)
]
⇒
[
Q
⇒
(
∀
x
)
(
¬
R
)
]
{\displaystyle (\forall x)[{\mathcal {Q}}\Rightarrow (\neg {\mathcal {R}})]\Rightarrow [{\mathcal {Q}}\Rightarrow (\forall x)(\neg {\mathcal {R}})]}
(A5)
(2)
(
∀
x
)
[
(
¬
Q
)
∨
(
¬
R
)
]
⇒
[
(
¬
Q
)
∨
(
∀
x
)
(
¬
R
)
]
{\displaystyle (\forall x)[(\neg {\mathcal {Q}})\vee (\neg {\mathcal {R}})]\Rightarrow [(\neg {\mathcal {Q}})\vee (\forall x)(\neg {\mathcal {R}})]}
(
∨
{\displaystyle \vee }
的定义 )
(3)
(
∀
x
)
[
¬
(
Q
∧
R
)
]
⇒
{
¬
[
(
Q
)
∨
(
∃
x
)
(
R
)
]
}
{\displaystyle (\forall x)[\neg ({\mathcal {Q}}\wedge {\mathcal {R}})]\Rightarrow \{\neg [({\mathcal {Q}})\vee (\exists x)({\mathcal {R}})]\}}
(MP with 2, De Morgan )
(4)
[
(
Q
)
∨
(
∃
x
)
(
R
)
]
⇒
(
∃
x
)
(
Q
∧
R
)
{\displaystyle [({\mathcal {Q}})\vee (\exists x)({\mathcal {R}})]\Rightarrow (\exists x)({\mathcal {Q}}\wedge {\mathcal {R}})}
(MP with 3, T )
也就是直观上,“存在x使得 x>0 且 y>0”与“y>0 且存在x使得 x>0”是一样的意思。
一般来说,等式
(
x
=
y
)
{\displaystyle (x=y)}
会被视为某个合式公式
E
(
x
,
y
)
{\displaystyle {\mathcal {E}}(x,\,y)}
的简写。若使用元定理的形式刻划等式的性质,会作如下的定义
元定义 —
说一阶逻辑理论
L
{\displaystyle {\mathcal {L}}}
带相等符号
E
(
x
,
y
)
{\displaystyle {\mathcal {E}}(x,\,y)}
意为(
x
1
,
⋯
,
x
n
{\displaystyle x_{1},\,\cdots ,\,x_{n}}
、
x
{\displaystyle x}
和
y
{\displaystyle y}
都是
L
{\displaystyle {\mathcal {L}}}
的任意变数)
除了变数
x
{\displaystyle x}
和
y
{\displaystyle y}
于
E
(
x
,
y
)
{\displaystyle {\mathcal {E}}(x,\,y)}
是完全自由外其他变数都完全被约束
(E1)
⊢
L
E
(
x
,
x
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,x)}
。
(E2')
B
(
x
,
x
)
{\displaystyle {\mathcal {B}}(x,\,x)}
为
L
{\displaystyle {\mathcal {L}}}
内不含函数符号与常数符号的原子公式 ,
x
{\displaystyle x}
若以
B
(
x
,
y
)
{\displaystyle {\mathcal {B}}(x,\,y)}
表示
B
(
x
,
x
)
{\displaystyle {\mathcal {B}}(x,\,x)}
内某一个
x
{\displaystyle x}
被取代成
y
{\displaystyle y}
而成的新公式,则有
⊢
L
E
(
x
,
y
)
⇒
[
B
(
x
,
x
)
⇒
B
(
x
,
y
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {B}}(x,\,y)]}
(E2") 若以
f
i
n
(
x
1
,
⋯
,
y
,
⋯
,
x
n
)
{\displaystyle f_{i}^{n}(x_{1},\,\cdots ,\,y,\,\cdots ,\,x_{n})}
代表项
f
i
n
(
x
1
,
⋯
,
x
k
,
⋯
,
x
n
)
{\displaystyle f_{i}^{n}(x_{1},\,\cdots ,\,x_{k},\,\cdots ,\,x_{n})}
里的
x
k
{\displaystyle x_{k}}
被取代成
y
{\displaystyle y}
而成的新项,则有
⊢
L
E
(
x
k
,
y
)
⇒
E
[
f
i
n
(
x
1
,
⋯
,
x
k
,
⋯
,
x
n
)
,
f
i
n
(
x
1
,
⋯
,
y
,
⋯
,
x
n
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x_{k},\,y)\Rightarrow {\mathcal {E}}[f_{i}^{n}(x_{1},\,\cdots ,\,x_{k},\,\cdots ,\,x_{n}),\,f_{i}^{n}(x_{1},\,\cdots ,\,y,\,\cdots ,\,x_{n})]}
(E3)
⊢
L
E
(
x
,
y
)
⇒
E
(
y
,
x
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow {\mathcal {E}}(y,\,x)}
。
并在这种状况下,规定
(
x
=
y
)
{\displaystyle (x=y)}
为
E
(
x
,
y
)
{\displaystyle {\mathcal {E}}(x,\,y)}
的简写。
上面的定义符合函数符号直观上的"唯一对应"。为了证明常数符号的"唯一性",需要以下元定理
元定理 —
说一阶逻辑理论
L
{\displaystyle {\mathcal {L}}}
带相等符号
E
(
x
,
y
)
{\displaystyle {\mathcal {E}}(x,\,y)}
,等同于要求:
E
(
x
,
y
)
{\displaystyle {\mathcal {E}}(x,\,y)}
除了变数
x
{\displaystyle x}
和
y
{\displaystyle y}
于
E
(
x
,
y
)
{\displaystyle {\mathcal {E}}(x,\,y)}
是完全自由外其他变数都完全被约束。
符合(E1)。
(E2) 对于任意变数
x
{\displaystyle x}
和
y
{\displaystyle y}
,若在公式
A
{\displaystyle {\mathcal {A}}}
中自由的
y
{\displaystyle y}
都不在
∀
x
{\displaystyle \forall x}
的范围内。若以
A
y
{\displaystyle {\mathcal {A}}_{y}}
代表
A
{\displaystyle {\mathcal {A}}}
某些 自由的
x
{\displaystyle x}
被取代成
y
{\displaystyle y}
而成的新公式,则
⊢
L
E
(
x
,
y
)
⇒
(
A
⇒
A
y
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow ({\mathcal {A}}\Rightarrow {\mathcal {A}}_{y})}
证明
(
⇒
{\displaystyle \Rightarrow }
)
从(E1)+(E2')+(E2")+(E3)推出(E2)的过程分成几个阶段推广(E2')
(1)含有常数符号的原子公式
取
c
j
{\displaystyle c_{j}}
为任意常数符号。目标是证明:对一段含常数符号
c
j
{\displaystyle c_{j}}
但不含任何函数符号的原子公式
B
(
x
,
x
,
c
j
)
{\displaystyle {\mathcal {B}}(x,\,x,\,c_{j})}
,若
B
(
x
,
y
,
c
j
)
{\displaystyle {\mathcal {B}}(x,\,y,\,c_{j})}
表
B
(
x
,
x
,
c
j
)
{\displaystyle {\mathcal {B}}(x,\,x,\,c_{j})}
里某一个
x
{\displaystyle x}
被取代为
y
{\displaystyle y}
的新公式,则
⊢
L
E
(
x
,
y
)
⇒
[
B
(
x
,
x
,
c
j
)
⇒
B
(
x
,
y
,
c
j
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {B}}(x,\,x,\,c_{j})\Rightarrow {\mathcal {B}}(x,\,y,\,c_{j})]}
(a)
(a)证明过程如下:
取一个不曾在
B
(
x
,
y
,
c
j
)
{\displaystyle {\mathcal {B}}(x,\,y,\,c_{j})}
出现的变数
z
{\displaystyle z}
。若以
B
(
x
,
x
,
z
)
{\displaystyle {\mathcal {B}}(x,\,x,\,z)}
表示
B
(
x
,
x
,
c
j
)
{\displaystyle {\mathcal {B}}(x,\,x,\,c_{j})}
内的
c
j
{\displaystyle c_{j}}
都 被取代成
z
{\displaystyle z}
的新公式,将之带入 (E2')有
⊢
L
E
(
x
,
y
)
⇒
[
B
(
x
,
x
,
z
)
⇒
B
(
x
,
y
,
z
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {B}}(x,\,x,\,z)\Rightarrow {\mathcal {B}}(x,\,y,\,z)]}
对上式,以变数
z
{\displaystyle z}
取(GEN)有
⊢
L
∀
z
{
E
(
x
,
y
)
⇒
[
B
(
x
,
x
,
z
)
⇒
B
(
x
,
y
,
z
)
]
}
{\displaystyle \vdash _{\mathcal {L}}\forall z\{{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {B}}(x,\,x,\,z)\Rightarrow {\mathcal {B}}(x,\,y,\,z)]\}}
(b)
但从(A4)有
⊢
L
∀
z
{
E
(
x
,
y
)
⇒
[
B
(
x
,
x
,
z
)
⇒
B
(
x
,
y
,
z
)
]
}
⇒
{
E
(
x
,
y
)
⇒
[
B
(
x
,
x
,
c
j
)
⇒
B
(
x
,
y
,
c
j
)
]
}
{\displaystyle \vdash _{\mathcal {L}}\forall z\{{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {B}}(x,\,x,\,z)\Rightarrow {\mathcal {B}}(x,\,y,\,z)]\}\Rightarrow \{{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {B}}(x,\,x,\,c_{j})\Rightarrow {\mathcal {B}}(x,\,y,\,c_{j})]\}}
这样上式就可以与(b)式取MP,就会有(a)。
(2)含有任意项的原子公式
对一列项
T
1
,
⋯
,
T
m
{\displaystyle T_{1},\,\cdots ,\,T_{m}}
,若以
S
{\displaystyle S}
代表项
T
k
{\displaystyle T_{k}}
里的一个
x
{\displaystyle x}
被取代成
y
{\displaystyle y}
而成的新项,那这样可以用
A
j
m
(
T
1
,
⋯
,
S
,
⋯
,
T
m
)
{\displaystyle A_{j}^{m}(T_{1},\,\cdots ,\,S,\,\cdots ,\,T_{m})}
代表
A
j
m
(
T
1
,
⋯
,
T
k
,
⋯
,
T
m
)
{\displaystyle A_{j}^{m}(T_{1},\,\cdots ,\,T_{k},\,\cdots ,\,T_{m})}
的
T
k
{\displaystyle T_{k}}
被取代成
S
{\displaystyle S}
所构成的新公式。那现在的目标是证明
⊢
L
E
(
x
,
y
)
⇒
[
A
j
m
(
T
1
,
⋯
,
T
k
,
⋯
,
T
m
)
⇒
A
j
m
(
T
1
,
⋯
,
S
,
⋯
,
T
m
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [A_{j}^{m}(T_{1},\,\cdots ,\,T_{k},\,\cdots ,\,T_{m})\Rightarrow A_{j}^{m}(T_{1},\,\cdots ,\,S,\,\cdots ,\,T_{m})]}
(c)
但根据(A4)和(GEN),只需要证明
⊢
L
E
(
x
,
y
)
⇒
[
A
j
m
(
x
1
,
⋯
,
x
k
−
1
,
T
k
,
x
k
+
1
,
⋯
,
x
m
)
⇒
A
j
m
(
x
1
,
⋯
,
x
k
−
1
,
S
,
x
k
+
1
,
⋯
,
x
m
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [A_{j}^{m}(x_{1},\,\cdots ,\,x_{k-1},\,T_{k},\,x_{k+1},\,\cdots ,\,x_{m})\Rightarrow A_{j}^{m}(x_{1},\,\cdots ,\,x_{k-1},\,S,\,x_{k+1},\,\cdots ,\,x_{m})]}
(c')
就足够了。更进一步的,由下面两定理可以推出(c')
⊢
L
E
(
z
,
z
′
)
⇒
[
A
j
m
(
x
1
,
⋯
,
x
k
−
1
,
z
,
x
k
+
1
,
⋯
,
x
m
)
⇒
A
j
m
(
x
1
,
⋯
,
x
k
−
1
,
z
′
,
x
k
+
1
,
⋯
,
x
m
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(z,\,z^{\prime })\Rightarrow [A_{j}^{m}(x_{1},\,\cdots ,\,x_{k-1},\,z,\,x_{k+1},\,\cdots ,\,x_{m})\Rightarrow A_{j}^{m}(x_{1},\,\cdots ,\,x_{k-1},\,z^{\prime },\,x_{k+1},\,\cdots ,\,x_{m})]}
(d)
⊢
L
E
(
x
,
y
)
⇒
E
(
T
k
,
S
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow {\mathcal {E}}(T_{k},\,S)}
(e)
也就是对(c)以变数
z
{\displaystyle z}
和
z
′
{\displaystyle z^{\prime }}
连续两次使用(GEN),然后连续两次与(A4)以MP律配合会得到
⊢
L
E
(
T
k
,
S
)
⇒
[
A
j
m
(
x
1
,
⋯
,
x
k
−
1
,
T
k
,
x
k
+
1
,
⋯
,
x
m
)
⇒
A
j
m
(
x
1
,
⋯
,
x
k
−
1
,
S
,
x
k
+
1
,
⋯
,
x
m
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(T_{k},\,S)\Rightarrow [A_{j}^{m}(x_{1},\,\cdots ,\,x_{k-1},\,T_{k},\,x_{k+1},\,\cdots ,\,x_{m})\Rightarrow A_{j}^{m}(x_{1},\,\cdots ,\,x_{k-1},\,S,\,x_{k+1},\,\cdots ,\,x_{m})]}
然后将上式与(e)带入(D1)就有(c')。但事实上(d)就是(E2')的特殊状况,所以接下来只需要从(E2")证明(e),为此根据项的递回定义,以对项
T
k
{\displaystyle T_{k}}
里有的函数符号数量做归纳:
函数符号数量为零的时候,(e)有两种状况(其中
c
j
{\displaystyle c_{j}}
为任意常数符号)
⊢
L
E
(
x
,
y
)
⇒
E
(
x
,
y
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow {\mathcal {E}}(x,\,y)}
(e0)
⊢
L
E
(
x
,
y
)
⇒
E
(
c
j
,
c
j
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow {\mathcal {E}}(c_{j},\,c_{j})}
(e0')
(e0)就只是(I)故显然成立;另一方面,对(E1)使用(GEN)然后与(A4)配合就会有
⊢
L
E
(
c
j
,
c
j
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(c_{j},\,c_{j})}
故与(A1)配合就会有(e0'),至此函数符号数量为零情况的(e)已被证明。
若
T
k
{\displaystyle T_{k}}
内函数符号数量为
l
{\displaystyle l}
个,事实上会有一列函数符号数量小于
l
{\displaystyle l}
的项
S
1
,
⋯
,
S
n
{\displaystyle S_{1},\,\cdots ,\,S_{n}}
,而有
T
k
:
f
i
n
(
S
1
,
⋯
,
S
n
)
{\displaystyle T_{k}:f_{i}^{n}(S_{1},\,\cdots ,\,S_{n})}
若以
S
r
′
{\displaystyle {S_{r}}^{\prime }}
代表
S
r
{\displaystyle S_{r}}
中的某个
x
{\displaystyle x}
被取代成
y
{\displaystyle y}
而成的新项,那这就是
T
k
{\displaystyle T_{k}}
取代成新项
S
{\displaystyle S}
的详细过程,那归纳法的前提就是
⊢
L
E
(
x
,
y
)
⇒
E
(
S
r
,
S
r
′
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow {\mathcal {E}}(S_{r},\,{S_{r}}^{\prime })}
那对(E2")使用
n
{\displaystyle n}
次(GEN),然后同样与(A4)以MP律配合
n
{\displaystyle n}
次有
⊢
L
E
(
S
r
,
S
r
′
)
⇒
E
[
f
i
n
(
S
1
,
⋯
,
S
r
,
⋯
,
S
n
)
,
f
i
n
(
S
1
,
⋯
,
S
r
′
,
⋯
,
S
n
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(S_{r},\,{S_{r}}^{\prime })\Rightarrow {\mathcal {E}}[f_{i}^{n}(S_{1},\,\cdots ,\,S_{r},\,\cdots ,\,S_{n}),\,f_{i}^{n}(S_{1},\,\cdots ,\,{S_{r}}^{\prime },\,\cdots ,\,S_{n})]}
也就是
⊢
L
E
(
S
r
,
S
r
′
)
⇒
E
(
T
k
,
S
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(S_{r},\,{S_{r}}^{\prime })\Rightarrow {\mathcal {E}}(T_{k},\,S)}
故将上式与归纳前提套入(D1)就会有
⊢
L
E
(
x
,
y
)
⇒
E
(
T
k
,
S
)
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow {\mathcal {E}}(T_{k},\,S)}
至此(e)已被归纳法证明。
(3)任意的公式
为了将(E2')从任意原子公式推广到任意公式,根据语法对公式的递回定义,要分别对公式里的量词和逻辑连接词的数量做归纳。
假设
B
(
x
,
x
)
{\displaystyle {\mathcal {B}}(x,\,x)}
为不含逻辑连接词的任意公式:
B
(
x
,
x
)
{\displaystyle {\mathcal {B}}(x,\,x)}
没有量词的情况就只是(c)而已,故成立。
若假设对于量词数量为
l
{\displaystyle l}
的
B
(
x
,
x
)
{\displaystyle {\mathcal {B}}(x,\,x)}
有(
B
(
x
,
y
)
{\displaystyle {\mathcal {B}}(x,\,y)}
代表
B
(
x
,
x
)
{\displaystyle {\mathcal {B}}(x,\,x)}
内某个自由的
x
{\displaystyle x}
被取代成
y
{\displaystyle y}
所成的新公式)
⊢
L
E
(
x
,
y
)
⇒
[
B
(
x
,
x
)
⇒
B
(
x
,
y
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {B}}(x,\,y)]}
首先注意到新增量词的时候,不可以取
∀
x
{\displaystyle \forall x}
或是
∀
y
{\displaystyle \forall y}
,否则上面的自由取代就会完全被破坏。故取个不是
x
{\displaystyle x}
也不是
y
{\displaystyle y}
的任意变数
z
{\displaystyle z}
,对上式使用(GEN),然后与(A6)、(A5)配合使用MP律有
⊢
L
E
(
x
,
y
)
⇒
[
∀
z
B
(
x
,
x
)
⇒
∀
z
B
(
x
,
y
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [\forall z{\mathcal {B}}(x,\,x)\Rightarrow \forall z{\mathcal {B}}(x,\,y)]}
上式也就是量词数量为
l
+
1
{\displaystyle l+1}
的状况,而把(E2')推广到了不含逻辑连接词的任意公式上。
接下来对不含“
⇒
{\displaystyle \Rightarrow }
”的任意公式里的“
¬
{\displaystyle \neg }
”的数量做归纳:
“
¬
{\displaystyle \neg }
”的数量为零的情况刚刚已经证明,不再赘述。
假设“
¬
{\displaystyle \neg }
”的数量为
l
{\displaystyle l}
,没有“
⇒
{\displaystyle \Rightarrow }
”的公式下(E2')都对,那对“
¬
{\displaystyle \neg }
”的数量为
l
{\displaystyle l}
的
B
(
x
,
x
)
{\displaystyle {\mathcal {B}}(x,\,x)}
有(特别注意到推广的(E2')也可以将
B
(
x
,
y
)
{\displaystyle {\mathcal {B}}(x,\,y)}
里唯一的
y
{\displaystyle y}
取代成
x
{\displaystyle x}
)
⊢
L
E
(
y
,
x
)
⇒
[
B
(
x
,
y
)
⇒
B
(
x
,
x
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(y,\,x)\Rightarrow [{\mathcal {B}}(x,\,y)\Rightarrow {\mathcal {B}}(x,\,x)]}
(f)
那根据(T)有
⊢
L
[
B
(
x
,
y
)
⇒
B
(
x
,
x
)
]
⇒
[
¬
B
(
x
,
x
)
⇒
¬
B
(
x
,
y
)
]
{\displaystyle \vdash _{\mathcal {L}}[{\mathcal {B}}(x,\,y)\Rightarrow {\mathcal {B}}(x,\,x)]\Rightarrow [\neg {\mathcal {B}}(x,\,x)\Rightarrow \neg {\mathcal {B}}(x,\,y)]}
(g)
这样对(f)和(g)套用(D1),结果再和(E3)套用(D1)一次就有
⊢
L
E
(
x
,
y
)
⇒
[
¬
B
(
x
,
x
)
⇒
¬
B
(
x
,
y
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [\neg {\mathcal {B}}(x,\,x)\Rightarrow \neg {\mathcal {B}}(x,\,y)]}
(f)
上式也就“
¬
{\displaystyle \neg }
”的数量为
l
+
1
{\displaystyle l+1}
的情况,故把(E2')推广到了仅不含“
⇒
{\displaystyle \Rightarrow }
”的任意公式上。
为了要推广到任意的公式上,我要要对“
⇒
{\displaystyle \Rightarrow }
”的数量做归纳:
“
⇒
{\displaystyle \Rightarrow }
”的数量为零的情况刚刚已经证明,不再赘述。
假设“
⇒
{\displaystyle \Rightarrow }
”的数量小于
l
{\displaystyle l}
的公式下(E2')都对,那对但数量合起来为
l
{\displaystyle l}
的
B
(
x
,
x
)
{\displaystyle {\mathcal {B}}(x,\,x)}
与
C
(
x
,
x
)
{\displaystyle {\mathcal {C}}(x,\,x)}
就会满足
⊢
L
E
(
x
,
y
)
⇒
[
B
(
x
,
x
)
⇒
B
(
x
,
y
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {B}}(x,\,y)]}
(*)
⊢
L
E
(
x
,
y
)
⇒
[
C
(
x
,
x
)
⇒
C
(
x
,
y
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {C}}(x,\,x)\Rightarrow {\mathcal {C}}(x,\,y)]}
(**)
考虑到(D1)有
B
(
x
,
x
)
⇒
C
(
x
,
x
)
,
C
(
x
,
x
)
⇒
C
(
x
,
y
)
⊢
L
B
(
x
,
x
)
⇒
C
(
x
,
y
)
{\displaystyle {\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {C}}(x,\,x),\,{\mathcal {C}}(x,\,x)\Rightarrow {\mathcal {C}}(x,\,y)\,\vdash _{\mathcal {L}}{\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {C}}(x,\,y)}
B
(
x
,
y
)
⇒
B
(
x
,
x
)
,
B
(
x
,
x
)
⇒
C
(
x
,
x
)
⊢
L
B
(
x
,
x
)
⇒
C
(
x
,
y
)
{\displaystyle {\mathcal {B}}(x,\,y)\Rightarrow {\mathcal {B}}(x,\,x),\,{\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {C}}(x,\,x)\,\vdash _{\mathcal {L}}{\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {C}}(x,\,y)}
那配上(*)与(**)就有
⊢
L
E
(
x
,
y
)
⇒
{
[
B
(
x
,
x
)
⇒
C
(
x
,
x
)
]
⇒
[
B
(
x
,
x
)
⇒
C
(
x
,
y
)
]
}
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow \{[{\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {C}}(x,\,x)]\Rightarrow [{\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {C}}(x,\,y)]\}}
⊢
L
E
(
x
,
y
)
⇒
{
[
B
(
x
,
x
)
⇒
C
(
x
,
x
)
]
⇒
[
B
(
x
,
y
)
⇒
C
(
x
,
x
)
]
}
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow \{[{\mathcal {B}}(x,\,x)\Rightarrow {\mathcal {C}}(x,\,x)]\Rightarrow [{\mathcal {B}}(x,\,y)\Rightarrow {\mathcal {C}}(x,\,x)]\}}
上两式就是所有“
⇒
{\displaystyle \Rightarrow }
”的数量为
l
+
1
{\displaystyle l+1}
的情况,故把(E2')推广到了任意公式。
最后,取代
n
+
1
{\displaystyle n+1}
个
x
{\displaystyle x}
的状况,就是取代
n
{\displaystyle n}
后再取代一次。所以可以由归纳法,从推广后的(E2')推出(E2)
(
⇐
{\displaystyle \Leftarrow }
)
首先(E2')显然只是(E2)的特例;要得到(E2")只要注意到由(E2)有
⊢
L
E
(
x
k
,
y
)
⇒
{
E
[
f
i
n
(
x
1
,
⋯
,
x
k
,
⋯
,
x
n
)
,
f
i
n
(
x
1
,
⋯
,
x
k
,
⋯
,
x
n
)
]
⇒
E
[
f
i
n
(
x
1
,
⋯
,
x
k
,
⋯
,
x
n
)
,
f
i
n
(
x
1
,
⋯
,
y
,
⋯
,
x
n
)
]
}
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x_{k},\,y)\Rightarrow \{{\mathcal {E}}[f_{i}^{n}(x_{1},\,\cdots ,\,x_{k},\,\cdots ,\,x_{n}),\,f_{i}^{n}(x_{1},\,\cdots ,\,x_{k},\,\cdots ,\,x_{n})]\Rightarrow {\mathcal {E}}[f_{i}^{n}(x_{1},\,\cdots ,\,x_{k},\,\cdots ,\,x_{n}),\,f_{i}^{n}(x_{1},\,\cdots ,\,y,\,\cdots ,\,x_{n})]\}}
然后对(E1)使用(GEN)再配合(A4)使用MP律有
⊢
L
E
[
f
i
n
(
x
1
,
⋯
,
x
k
,
⋯
,
x
n
)
,
f
i
n
(
x
1
,
⋯
,
x
k
,
⋯
,
x
n
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}[f_{i}^{n}(x_{1},\,\cdots ,\,x_{k},\,\cdots ,\,x_{n}),\,f_{i}^{n}(x_{1},\,\cdots ,\,x_{k},\,\cdots ,\,x_{n})]}
所以对上面两式套用(D2)就有(E2")。
至于(E3),注意到由(E2)有
⊢
L
E
(
x
,
y
)
⇒
[
E
(
x
,
x
)
⇒
E
(
y
,
x
)
]
{\displaystyle \vdash _{\mathcal {L}}{\mathcal {E}}(x,\,y)\Rightarrow [{\mathcal {E}}(x,\,x)\Rightarrow {\mathcal {E}}(y,\,x)]}
那这样对上式和(E1)套用(D2)就有(E3)
从上面可以得知,如果等式符号仅仅为断言符号,那等式和它的公理 一节的等式公理模式 ,是等价于本节的(E1)+(E2')+(E2")。
由上面的元定理,对带有等式符号的
L
{\displaystyle {\mathcal {L}}}
可以证明以下的等式性质
对任意常数符号
c
{\displaystyle c}
,上列元定理确保了
⊢
L
(
c
=
c
)
{\displaystyle \vdash _{\mathcal {L}}(c=c)}
(
x
=
c
)
,
(
y
=
c
)
⊢
L
(
x
=
y
)
{\displaystyle (x=c),\,(y=c)\vdash _{\mathcal {L}}(x=y)}
也就是常数符号的"唯一性"。
数学讨论中,常常唯一存在某个符合特定条件的数,像是“存在唯一的实数
s
∈
R
{\displaystyle s\in \mathbb {R} }
使的对所有的实数
r
∈
R
{\displaystyle r\in \mathbb {R} }
,
r
+
s
=
r
{\displaystyle r+s=r}
”;更精确地来说,这句话的意思是:
“存在
s
∈
R
{\displaystyle s\in \mathbb {R} }
使的对所有的实数
r
∈
R
{\displaystyle r\in \mathbb {R} }
,
r
+
s
=
r
{\displaystyle r+s=r}
”且“对所有的
s
′
,
s
∈
R
{\displaystyle s^{\prime },\,s\in \mathbb {R} }
和所有
r
∈
R
{\displaystyle r\in \mathbb {R} }
,若
r
+
s
=
r
{\displaystyle r+s=r}
且
r
+
s
′
=
r
{\displaystyle r+s^{\prime }=r}
则
s
=
s
′
{\displaystyle s=s^{\prime }}
”
这样一般来说,可以对任意变数
x
{\displaystyle x}
和合式公式
B
(
x
)
{\displaystyle {\mathcal {B}}(x)}
做以下的符号定义:
注意到要能定义唯一性,一阶逻辑理论一定要带有等号 。
上节所提到的例子,实际上就是所谓的实数
0
{\displaystyle 0}
,但常数符号不能凭空从理论中冒出来,所以仔细来说,“定义实数
0
{\displaystyle 0}
”的过程应该是在原来的理论添加新的常数符号“
0
{\displaystyle 0}
”与以下的公理:
“对所有的实数
r
∈
R
{\displaystyle r\in \mathbb {R} }
有
r
+
0
=
r
{\displaystyle r+0=r}
”
这样的话,“
r
>
0
{\displaystyle r>0}
”就是一条含有新常数符号的叙述,它应等价于:
存在
s
∈
R
{\displaystyle s\in \mathbb {R} }
使“
r
>
s
{\displaystyle r>s}
且对所有的
x
∈
R
{\displaystyle x\in \mathbb {R} }
,
x
+
s
=
x
{\displaystyle x+s=x}
”
也就是说,添加“
0
{\displaystyle 0}
”创造了一套新理论,新理论的每条新叙述会对应到旧理论的某条旧叙述,且照理来说,新的对旧的也会对,反之亦然。
更一般的来说,如果新的一阶逻辑理论,是在旧的理论增添一些新符号跟新公理(并额外要求新符号与旧公理相容 ),那为了让新旧理论等效,对于任意新理论的合式公式
C
{\displaystyle {\mathcal {C}}}
,都要有某条相应的旧理论公式
C
′
{\displaystyle {\mathcal {C}}^{\prime }}
满足以下条件[ 5] :
从条件(2)事实上就可以推出“若
⊢
o
C
′
{\displaystyle \vdash _{o}{\mathcal {C}}^{\prime }}
,则有
⊢
n
C
{\displaystyle \vdash _{n}{\mathcal {C}}}
”,因为
⊢
o
C
′
{\displaystyle \vdash _{o}{\mathcal {C}}^{\prime }}
的话, 新理论只是扩张旧理论而没改变旧理论固有的定理,所以有
⊢
n
C
′
{\displaystyle \vdash _{n}{\mathcal {C}}^{\prime }}
,但这样根据条件(2)跟MP律 就会有
⊢
n
C
{\displaystyle \vdash _{n}{\mathcal {C}}}
。所以条件(2)事实上是比“旧的对那新的也对”强的条件,但在之后的推导上(2)会比较方便。
在以严谨的方式实践以上提及的直观动机前,需要一个预备定理
证明
(
⇒
{\displaystyle \Rightarrow }
)
∃
!
B
(
x
)
⊢
(
∃
x
)
[
B
(
x
)
∧
C
(
x
)
]
⇒
(
∀
x
)
[
B
(
x
)
⇒
C
(
x
)
]
{\displaystyle \exists !{\mathcal {B}}(x)\vdash (\exists x)[\,{\mathcal {B}}(x)\wedge {\mathcal {C}}(x)\,]\Rightarrow (\forall x)[\,{\mathcal {B}}(x)\Rightarrow {\mathcal {C}}(x)\,]}
以下取一个不曾出现的变数
y
{\displaystyle y}
展开唯一性的定义
(1)
(
∀
x
)
(
∀
y
)
[
B
(
x
)
∧
B
(
y
)
⇒
(
x
=
y
)
]
{\displaystyle (\forall x)(\forall y)[\,{\mathcal {B}}(x)\wedge {\mathcal {B}}(y)\Rightarrow (x=y)\,]}
(Hyp)
(2)
B
(
y
)
{\displaystyle {\mathcal {B}}(y)}
(Hyp)
(3)
B
(
x
)
∧
C
(
x
)
{\displaystyle {\mathcal {B}}(x)\wedge {\mathcal {C}}(x)}
(Hyp)
(4)
B
(
x
)
∧
B
(
y
)
⇒
(
x
=
y
)
{\displaystyle {\mathcal {B}}(x)\wedge {\mathcal {B}}(y)\Rightarrow (x=y)}
(MP with A4, 1)
(5)
B
(
x
)
{\displaystyle {\mathcal {B}}(x)}
(MP with AND, 3)
(6)
B
(
x
)
∧
B
(
y
)
{\displaystyle {\mathcal {B}}(x)\wedge {\mathcal {B}}(y)}
(MP twice with AND, 2, 5)
(7)
(
x
=
y
)
{\displaystyle (x=y)}
(MP with 4, 6)
(8)
(
x
=
y
)
⇒
[
C
(
x
)
⇒
C
(
y
)
]
{\displaystyle (x=y)\Rightarrow [\,{\mathcal {C}}(x)\Rightarrow {\mathcal {C}}(y)\,]}
(E2)
(9)
C
(
x
)
⇒
C
(
y
)
{\displaystyle {\mathcal {C}}(x)\Rightarrow {\mathcal {C}}(y)}
(MP with 7, 8)
(10)
C
(
x
)
{\displaystyle {\mathcal {C}}(x)}
(MP with AND, 3)
(11)
C
(
y
)
{\displaystyle {\mathcal {C}}(y)}
(MP with 9, 10)
这样根据(AND)和 (D1) 有
∃
x
!
B
(
x
)
,
B
(
y
)
,
B
(
x
)
∧
C
(
x
)
⊢
C
(
y
)
{\displaystyle \exists x!{\mathcal {B}}(x),\,{\mathcal {B}}(y),\,{\mathcal {B}}(x)\wedge {\mathcal {C}}(x)\,\vdash \,{\mathcal {C}}(y)}
那这样先使用(D)把
B
(
y
)
{\displaystyle {\mathcal {B}}(y)}
移到左边,并对变数
x
{\displaystyle x}
使用(GENe)有
∃
x
!
B
(
x
)
,
∃
x
[
B
(
x
)
∧
C
(
x
)
]
⊢
B
(
y
)
⇒
C
(
y
)
{\displaystyle \exists x!{\mathcal {B}}(x),\,\exists x[\,{\mathcal {B}}(x)\wedge {\mathcal {C}}(x)\,]\,\vdash \,{\mathcal {B}}(y)\Rightarrow {\mathcal {C}}(y)}
那这样再对变数
y
{\displaystyle y}
使用(GEN)有
∃
x
!
B
(
x
)
,
∃
x
[
B
(
x
)
∧
C
(
x
)
]
⊢
∃
y
[
B
(
y
)
⇒
C
(
y
)
]
{\displaystyle \exists x!{\mathcal {B}}(x),\,\exists x[\,{\mathcal {B}}(x)\wedge {\mathcal {C}}(x)\,]\,\vdash \,\exists y[\,{\mathcal {B}}(y)\Rightarrow {\mathcal {C}}(y)\,]}
再使用(A4)把右侧的变数
y
{\displaystyle y}
替换成
x
{\displaystyle x}
,再对
x
{\displaystyle x}
使用(GEN)有
∃
x
!
B
(
x
)
,
∃
x
[
B
(
x
)
∧
C
(
x
)
]
⊢
∃
x
[
B
(
x
)
⇒
C
(
x
)
]
{\displaystyle \exists x!{\mathcal {B}}(x),\,\exists x[\,{\mathcal {B}}(x)\wedge {\mathcal {C}}(x)\,]\,\vdash \,\exists x[\,{\mathcal {B}}(x)\Rightarrow {\mathcal {C}}(x)\,]}
所以根据(D),本部分得证。
(
⇐
{\displaystyle \Leftarrow }
)
∃
!
B
(
x
)
⊢
(
∀
x
)
[
B
(
x
)
⇒
C
(
x
)
]
⇒
(
∃
x
)
[
B
(
x
)
∧
C
(
x
)
]
{\displaystyle \exists !{\mathcal {B}}(x)\vdash (\forall x)[\,{\mathcal {B}}(x)\Rightarrow {\mathcal {C}}(x)\,]\Rightarrow (\exists x)[\,{\mathcal {B}}(x)\wedge {\mathcal {C}}(x)\,]}
(1)
(
∀
x
)
[
B
(
x
)
⇒
C
(
x
)
]
{\displaystyle (\forall x)[\,{\mathcal {B}}(x)\Rightarrow {\mathcal {C}}(x)\,]}
(Hyp)
(2)
B
(
x
)
{\displaystyle {\mathcal {B}}(x)}
(Hyp)
(3)
B
(
x
)
⇒
C
(
x
)
{\displaystyle {\mathcal {B}}(x)\Rightarrow {\mathcal {C}}(x)}
(MP with A4, 1)
(4)
C
(
x
)
{\displaystyle {\mathcal {C}}(x)}
(MP with 2, 3)
(4)
B
(
x
)
∧
C
(
x
)
{\displaystyle {\mathcal {B}}(x)\wedge {\mathcal {C}}(x)}
(MP twice with AND, 2, 4)
也就是说
(
∀
x
)
[
B
(
x
)
⇒
C
(
x
)
]
,
B
(
x
)
⊢
B
(
x
)
∧
C
(
x
)
{\displaystyle (\forall x)[\,{\mathcal {B}}(x)\Rightarrow {\mathcal {C}}(x)\,],\,{\mathcal {B}}(x)\,\vdash \,{\mathcal {B}}(x)\wedge {\mathcal {C}}(x)}
对变数
x
{\displaystyle x}
使用(GENe)有
(
∀
x
)
[
B
(
x
)
⇒
C
(
x
)
]
,
∃
x
B
(
x
)
⊢
∃
x
[
B
(
x
)
∧
C
(
x
)
]
{\displaystyle (\forall x)[\,{\mathcal {B}}(x)\Rightarrow {\mathcal {C}}(x)\,],\,\exists x{\mathcal {B}}(x)\,\vdash \,\exists x[\,{\mathcal {B}}(x)\wedge {\mathcal {C}}(x)\,]}
这样根据(AND)和 (D1) 有
(
∀
x
)
[
B
(
x
)
⇒
C
(
x
)
]
,
∃
!
x
B
(
x
)
⊢
∃
x
[
B
(
x
)
∧
C
(
x
)
]
{\displaystyle (\forall x)[\,{\mathcal {B}}(x)\Rightarrow {\mathcal {C}}(x)\,],\,\exists !x{\mathcal {B}}(x)\,\vdash \,\exists x[\,{\mathcal {B}}(x)\wedge {\mathcal {C}}(x)\,]}
所以根据(D),本部分得证。
一般来说,如果变数
t
1
,
t
2
,
…
,
t
n
,
x
{\displaystyle t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x}
在
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
{\displaystyle {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)}
完全自由,且旧理论里有:
(
U
{\displaystyle U}
)
⊢
o
∃
!
x
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
{\displaystyle \vdash _{o}\exists !x{\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)}
那所谓的新理论,就是添加一个函数符号
f
k
n
{\displaystyle f_{k}^{n}}
和以下的新公理:
(
U
′
{\displaystyle U^{\prime }}
)
B
[
t
1
,
t
2
,
…
,
t
n
,
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
{\displaystyle {\mathcal {B}}[\,t_{1},\,t_{2},\,\ldots ,\,t_{n},\,f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]}
如果仅仅是:
⊢
o
∃
!
x
B
(
x
)
{\displaystyle \vdash _{o}\exists !x{\mathcal {B}}(x)}
的话,添加的是常数符号
c
k
{\displaystyle c_{k}}
与以下的新公理:
(
U
{\displaystyle U}
)
B
(
c
k
)
{\displaystyle {\mathcal {B}}(c_{k})}
添加常数符号的情况可视为添加函数符号情况的特例,因为常数符号可以视为“零变数”的函数符号。
但不管如何,还需假设
f
k
n
{\displaystyle f_{k}^{n}}
和新理论的逻辑公理、量词公理相容,也就是所有公理模式须涵盖内含
f
k
n
{\displaystyle f_{k}^{n}}
的项 。特别像是(A4)这种将自由变数代换成项的公理模式,也就是说,若项
T
{\displaystyle T}
内含
f
k
n
{\displaystyle f_{k}^{n}}
,且公式
D
(
x
)
{\displaystyle {\mathcal {D}}(x)}
内自由的
x
{\displaystyle x}
都不在
T
{\displaystyle T}
的变数的量词范围内,那
∀
x
D
(
x
)
⇒
D
(
T
)
{\displaystyle \forall x{\mathcal {D}}(x)\Rightarrow {\mathcal {D}}(T)}
仍然是新理论的公理。
另外还需要考虑到
f
k
n
{\displaystyle f_{k}^{n}}
与等号的相容性(换句话说,新理论仍须是带等号的一阶逻辑理论),这样的话,考虑到上面等式定理 所述的条件(E2''),需额外假设:
新理论的额外假设 —
对任何介于
1
{\displaystyle 1}
与
n
{\displaystyle n}
的下标
k
{\displaystyle k}
和变数
t
1
,
t
2
,
…
,
t
n
,
x
{\displaystyle t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x}
(
t
k
=
x
)
⇒
[
f
k
n
(
t
1
,
…
,
t
k
,
…
,
t
n
)
=
f
k
n
(
t
1
,
…
,
x
,
…
,
t
n
)
]
{\displaystyle (t_{k}=x)\Rightarrow [\,f_{k}^{n}(t_{1},\,\ldots ,\,t_{k},\,\ldots ,\,t_{n})=f_{k}^{n}(t_{1},\,\ldots ,\,x,\,\ldots ,\,t_{n})\,]}
是公理
(若是添加常数符号的特例,就不须额外假设以上的公理)
这样就有以下直观的定理
元定理 —
对变数
t
1
,
t
2
,
…
,
t
n
,
x
{\displaystyle t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x}
有
(E)
⊢
n
[
x
=
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
⇔
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
{\displaystyle \vdash _{n}[\,x=f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]\Leftrightarrow {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},x)}
证明
(
⇒
{\displaystyle \Rightarrow }
)
⊢
n
[
x
=
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
⇒
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
{\displaystyle \vdash _{n}[\,x=f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]\Rightarrow {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)}
(1)
(
y
=
x
)
⇒
[
B
(
t
1
,
t
2
,
…
,
t
n
,
y
)
⇒
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
]
{\displaystyle (y=x)\Rightarrow [\,{\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,y)\Rightarrow {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)\,]}
(E2)
(2)
(
∀
y
)
{
(
y
=
x
)
⇒
[
B
(
t
1
,
t
2
,
…
,
t
n
,
y
)
⇒
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
]
}
{\displaystyle (\forall y)\{(y=x)\Rightarrow [\,{\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},y)\Rightarrow {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},x)\,]\}}
(GEN with 1,
y
{\displaystyle y}
)
(3)
[
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
=
x
]
⇒
{
B
[
t
1
,
t
2
,
…
,
t
n
,
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
⇒
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
}
{\displaystyle [\,f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})=x\,]\Rightarrow \{\,{\mathcal {B}}[\,t_{1},\,t_{2},\,\ldots ,\,t_{n},\,f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]\Rightarrow {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)\,\}}
(MP with A4, 2)
(4)
[
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
=
x
]
⇒
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
{\displaystyle [\,f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})=x\,]\Rightarrow {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)}
(D2 with
U
′
{\displaystyle U^{\prime }}
, 3)
(
⇐
{\displaystyle \Leftarrow }
)
⊢
n
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
⇒
[
x
=
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
{\displaystyle \vdash _{n}{\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},x)\Rightarrow [\,x=f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]}
(1)
∀
x
∀
y
{
[
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
∧
B
(
t
1
,
t
2
,
…
,
t
n
,
y
)
]
⇒
(
x
=
y
)
}
{\displaystyle \forall x\forall y\{\,[\,{\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)\wedge {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,y)\,]\Rightarrow (x=y)\,\}}
(MP with AND and
U
{\displaystyle U}
)
(2)
∀
x
{
{
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
∧
B
[
t
1
,
t
2
,
…
,
t
n
,
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
}
⇒
[
x
=
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
}
{\displaystyle \forall x{\big \{}\,\{\,{\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)\wedge {\mathcal {B}}[\,t_{1},\,t_{2},\,\ldots ,\,t_{n},\,f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]\,\}\Rightarrow [\,x=f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]\,{\big \}}}
(A4 with 1 and
y
{\displaystyle y}
)
(3)
{
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
∧
B
[
t
1
,
t
2
,
…
,
t
n
,
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
}
⇒
[
x
=
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
{\displaystyle \{\,{\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)\wedge {\mathcal {B}}[\,t_{1},\,t_{2},\,\ldots ,\,t_{n},\,f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]\,\}\Rightarrow [\,x=f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]}
(A4 with 2 and
x
{\displaystyle x}
)
(4)
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
{\displaystyle {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)}
(Hyp)
(5)
B
(
t
1
,
t
2
,
…
,
t
n
,
x
)
∧
B
[
t
1
,
t
2
,
…
,
t
n
,
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
]
{\displaystyle {\mathcal {B}}(t_{1},\,t_{2},\,\ldots ,\,t_{n},\,x)\wedge {\mathcal {B}}[\,t_{1},\,t_{2},\,\ldots ,\,t_{n},\,f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})\,]}
(AND with
U
{\displaystyle U}
and 4)
(6)
x
=
f
k
n
(
t
1
,
t
2
,
…
,
t
n
)
{\displaystyle x=f_{k}^{n}(t_{1},\,t_{2},\,\ldots ,\,t_{n})}
(MP with 3 and 5)
换句话说,“
s
=
0
{\displaystyle s=0}
”在新理论里等价于 “对所有的实数
r
∈
R
{\displaystyle r\in \mathbb {R} }
,
r
+
s
=
r
{\displaystyle r+s=r}
”。
下面列出了一些重要的元逻辑定理。
不像命题演算 ,一阶逻辑是不可判定性的。对于任意的公式P,可以证实没有判定过程 ,判定P是否有效,(参见停机问题 )。(结论独立的来自于邱奇 和图灵 。)
有效性 的判定问题是半可判定的。按哥德尔完备性定理 所展示的,对于任何有效的 公式P, P是可证明的。
一元断言逻辑 (就是说,断言只有一个参数的断言逻辑)是可判定的。
用自然语言表达的概念必须在一阶逻辑(FOL)可以为为其效力之前必须被转换到FOL,而在这种转换中可能有一些潜在的缺陷。在FOL中,
p
∨
q
{\displaystyle p\lor q}
意味着“要么p要么q要么二者”,就是说它是“包容性”的。在英语中,单词“or”有时是包容性的(比如,“加牛奶或糖?”),有时是排斥性的(比如,“喝咖啡或茶?”,通常意味着取其中一个或另一个但非二者)。类似的,英语单词“some”可以意味着“至少一个,可能全部”,有时意味着“不是全部,可能没有”。英语单词“and”有时要按“or”转换(比如,“男人和女人可以申请”)。
[ 6]
所有数学概念都有它的强项和弱点;下面列出一阶逻辑的一些问题。
带有等式的FOL不包含或允许定义if-then-else断言或函数if(c,a,b),这里的c是表达为公式的条件,而a和b是要么都是项要么都是公式,并且它的结果是a如果c为真,或者b如果它为假。问题在于FOL中,断言和函数二者只接受(“非布尔类型”)项作为参数,而条件的明确表达是(“布尔类型”)公式。这是不幸的,因为很多数学函数是依据if-then-else而方便的表达的,而if-then-else是描述大多数计算机程序的基础。
在数学上,有可能重定义匹配公式算子的新函数的完备集合,但是这是非常笨拙的。[ 7]
断言if(c,a,b)如果重写为
(
c
∧
a
)
∨
(
¬
c
∧
b
)
{\displaystyle (c\wedge a)\lor (\neg c\wedge b)}
就可以在FOL中表达,但是如果条件c是复杂的这就是笨拙的。很多人扩展FOL增加特殊情况断言叫做“if(条件,a, b)”(这里a和b是公式)和/或函数“ite(条件,a, b)”(这里的a和b是项),它们都接受一个公式作为条件,并且等于a如果条件为真,或b如果条件为假。这些扩展使FOL易于用于某些问题,并使某类自动定理证明更容易。[ 8]
其他人进一步扩展FOL使得函数和断言可以在任何位置接受项和公式二者。
除了在公式(“布尔类型”)和项(“非布尔类型”)之间的区别之外,FOL不包括类型(种类)到自身的概念中。
某些人争辩说缺乏类型是巨大优点
[ 9] ,而很多其他人发觉了定义和使用类型(种类)的优点,比如帮助拒绝某些错误或不想要的规定
[ 10] 。
想要指示类型的那些人必须使用在FOL中可获得的符号来提供这种信息。这么做使得这种表达更加复杂,并也容易导致错误。
单一参数断言可以用来在合适的地方实现类型的概念。例如:
∀
x
(
M
a
n
(
x
)
→
M
o
r
t
a
l
(
x
)
)
{\displaystyle \forall x(Man(x)\rightarrow Mortal(x))}
,
断言Man(x)可以被认为是一类“类型断言”(就是说,x必须是男人)。
断言还可以同指示类型的“存在”量词一起使用,但这通常应当转而与逻辑合取算子一起来做,比如:
∃
x
(
M
a
n
(
x
)
∧
M
o
r
t
a
l
(
x
)
)
{\displaystyle \exists x(Man(x)\wedge Mortal(x))}
(“存在既是男人又是人类的事物”)。
容易写成
∃
x
M
a
n
(
x
)
→
M
o
r
t
a
l
(
x
)
{\displaystyle \exists xMan(x)\rightarrow Mortal(x)}
,但这将等价与
∃
x
¬
M
a
n
(
x
)
∨
∃
x
M
o
r
t
a
l
(
x
)
{\displaystyle \exists x\neg Man(x)\lor \exists xMortal(x)}
(“存在不是男人的事物或者存在是人类的事物”),这通常不是想要的。类似的,可以做一个类型是另一个类型的子类型的断言,比如:
∀
x
(
M
a
n
(
x
)
→
M
a
m
m
a
l
(
x
)
)
{\displaystyle \forall x(Man(x)\rightarrow Mammal(x))}
(“对于所有x,如果x是男人,则x是哺乳动物)。
从Löwenheim–Skolem定理 得出在一阶逻辑中不可能刻画有限性或可数性。若一阶理论有任意有限大的模型,则也有无穷大的模型,所以说不能刻划有限性。[ 11] :1 而若理论有某个无穷基数大小的模型,则也必有任意更大的模型,所以不能刻划可数性。[ 12] :45 另一个例子,是无法用一阶语言将实数系 公理化,因为不论用何种一阶理论描述,既然该理论有实数系此种无穷模型(大小为
2
ℵ
0
{\displaystyle 2^{\aleph _{0}}}
),所以必有比实数系更大(比如
2
2
ℵ
0
{\displaystyle 2^{2^{\aleph _{0}}}}
)的另一个模型,从而该理论不是(唯一地)刻划实数系的性质。实数系满足的公理中,有上确界 性质一项,它声称实数的所有有界的、非空集合都有上确界 。一阶逻辑祗能对元素量化,但此公理中,要对模型的全部子集量化,这就需要二阶逻辑 了。[ 13] :30
很多情况可以被建模为节点和有向连接(边)的图 。例如,效验很多系统要求展示不能从“好”状态触及到“坏”状态,而状态的相互连接经常可以建模为图。但是,可以证明这种可及性不能用断言逻辑完全表达。换句话说,没有断言逻辑公式f,带有u和v作为它的唯一自由变量,而R作为它唯一的(2元)断言符号,使得f在一个有向图中成立,如果在这个图中存在从关联于u的节点到关联于v的节点的路径。[ 14]
^ Mendelson, Elliott. Introduction to Mathematical Logic . Van Nostrand Reinhold. 1964: 56 .
^ Skolem's paradox and constructivism Charles McCarty & Neil Tennant
^ 3.0 3.1 Elliott Mendelson. Introduction to Mathematical Logic - 6th Edition , p.40 ISBN 978-1482237726
^ Elliott Mendelson. Introduction to Mathematical Logic - 6th Edition , p.29 ISBN 978-1482237726
^ 5.0 5.1 Stephen Cole Kleene Introduction to Metamathematics , p.405 ISBN 978-0923891572
^ Suber, Peter, Translation Tips , [2007-09-20 ] , (原始内容 存档于2010-03-08)
^ Otter Example if.in , [2007-09-21 ] , (原始内容存档 于2009-01-11)
^
Manna, Zohar, Mathematical Theory of Computation, McGraw-Hill Computer Science Series, New York, New York: McGraw-Hill Book Company: 77–147, 1974, ISBN 0-07-039910-7
^ Leslie Lamport, Lawrence C. Paulson.
Should Your Specification Language Be Typed?
ACM Transactions on Programming Languages and Systems.
1998.
http://citeseer.ist.psu.edu/71125.html (页面存档备份 ,存于互联网档案馆 )
^ Rushby, John. Subtypes for Specification. 1997. Proceedings of the Sixth European Software Engineering Conference (ESEC/FSE 97). http://citeseer.ist.psu.edu/328947.html (页面存档备份 ,存于互联网档案馆 )
^ Mahesh Viswanathan. Finite Model Theory (PDF) . [2021-11-14 ] . (原始内容 (PDF) 存档于2021-07-13).
^ David Marker. Model Theory: An Introduction. Graduate Texts in Mathematics 217 . Springer. 2002.
^ Johnstone, P. T. Notes on logic and set theory . Cambridge University Press . 1987. doi:10.1017/CBO9781139172066 .
^
Huth, Michael; Ryan, Mark, Logic in Computer Science, 2nd edition: 138–139, 2004, ISBN 0-521-54310-X