一阶逻辑推导

正确的语义树:

正确的语义树

错误的语义树:

错误的语义树

语义树并不能判定所有一阶逻辑公式的可满足性,但可以证明一个不可满足式的不可满足性。

如果一个逻辑公式是永真的, 那么可以通过建立该公式的否的语义树来证明。

一阶逻辑的金琛系统:

一阶逻辑的金琛系统

一阶逻辑的希尔伯特系统:

公理 1: ⊢(A→(B→A))

公理 2: ⊢(A→(B→C))→((A→B)→(A→C))

公理 3: ⊢(¬B→¬A)→(A→B)

公理 4: ⊢∀xA(x)→A(a)

公理 5: ⊢∀x(A→B(x))→(A→∀xB(x)).

假言推理(Modus Ponens): ⊢A→B⊢A⊢B

泛化: ⊢A(a)⊢∀xA(x).

对谓词公式A(x)来说,在量词∀y或∃y的辖域内,如果没有x的自由变量,则称A(x)对于变量y是自由的。

例: 令A(x)表示下列谓词公式:

(1) A(x)=∀yP(y)∨Q(x,y)

(2) A(x)=∀yP(y)→(Q(x)∧Q(y))

(3) A(x)=∀yP(x,y)→Q(x,y)

(4) A(x)=∀y(P(y)∨Q(x,y))

(5) A(x)=∀y(P(y)∨∀xQ(x,y))

其中(1),(2)和(5)对y是自由的,(3)和(4)对y不是自由的。

公理4也可以转化为规则, 称存在量词具体化规则(Universal Specification), 简称US规则。

(1)∀xA(x)∴A(y)or∀xA(x)∴A(c)

其中c为个体域中任意个体常量。

这里要求A(x)对y是自由的, y或c是取代了A(x)中所有自由出现的x.

例: 设个体域为实数集合,L(x,y)表示x<y,则∃x∃yL(x,y)解释为"对任一实数x,都存在实数y,使得x<y",这是一个真命题。

推导过程如下:

1.⊢∀x∃yL(x,y) Assumption

2.⊢∃yL(y,y) US,1

出错的原因是∃yL(x,y)对y不是自由的。

全称量词泛化规则(Universal Generalization)又称全称量词引入规则, 简称UG规则。

(2)A(x)∴∀yA(y)

全称量词泛化规则要求: 前提A(x)对于x的任意取值都成立, A(x)对y是自由的, 且取代x的个体变量y不能在A(x)中约束出现。

例: 设个体域为实数集合, L(x,y)表示x<y, 推导过程如下:

1.⊢∀x∃yL(x,y) Assumption

2.⊢∃yL(z,y) US,1

3.⊢∀y∃yL(y,y) UG,2

出错的原因是用在∃yL(z,y)中约束出现的y取代了z.

其它规则

存在量词具体化规则(Existential Specification), 简称ES规则, 也称C-Rule.

(3)∃xA(x)∴A(y)or∃xA(x)∴A(c)

其中c为特定的个体常量,且使用不曾在A(x)中出现过的个体常量c或个体变量y取代x.

当A(x)中存在其他自由变量时不宜使用此规则。

例: 设个体域为实数集合,L(x,y)表示x<y,推导过程如下:

1.⊢∀x∃yL(x,y) Assumption

2.⊢∃yL(z,y) US,1

3.⊢L(z,c) ES,2

出错原因是∃yL(z,y)中存在自由变量z,不宜使用ES规则。

存在量词泛化规则, 简称EG (Existential Generalization)规则。

(4)A(c)∴∃yA(y)orA(x)∴∃yA(y)

其中c为特定的个体常量, A(x)对y是自由的, 取代c的个体变量y不曾在A(x)中出现, 且y不能是A(x)中的个体变量。

例: 设个体域为实数集合,L(x,y)表示x<y,推导过程如下:

1.⊢∃xL(x,0) Assumption

2.⊢∃x∃xL(x,x) EG,1

出错原因是x已在∃xL(x,0)中出现, 此时不能用x取代0.

定理: ∀x(A(x)→B(x))→(∀xA(x)→∀xB(x)).

证明:

1.∀x(A(x)→B(x)),∀xA(x)⊢∀xA(x) Assumption

2.∀x(A(x)→B(x)),∀xA(x)⊢A(a) A4,1

3.∀x(A(x)→B(x)),∀xA(x)⊢∀x(A(x)→B(x)) Assumption

4.∀x(A(x)→B(x)),∀xA(x)⊢A(a)→B(a) A4,3

5.∀x(A(x)→B(x)),∀xA(x)⊢B(a) MP,2,4

6.∀x(A(x)→B(x)),∀xA(x)⊢∀xB(x) UG,5

7.∀x(A(x)→B(x))⊢∀xA(x)→∀xB(x) Deduction,1,6

8.⊢∀x(A(x)→B(x))→(∀xA(x)→∀xB(x)) Deduction,3,7