一阶逻辑推导

正确的语义树:

正确的语义树

错误的语义树:

错误的语义树

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

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

一阶逻辑的金琛系统:

一阶逻辑的金琛系统

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

公理 1: (A(BA))

公理 2: (A(BC))((AB)(AC))

公理 3: (¬B¬A)(AB)

公理 4: xA(x)A(a)

公理 5: x(AB(x))(AxB(x)).

假言推理(Modus Ponens): ABAB

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

对谓词公式A(x)来说,在量词yy的辖域内,如果没有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)orxA(x)A(c)

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

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

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

推导过程如下:

1.xyL(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.xyL(x,y) Assumption

2.yL(z,y) US,1

3.yyL(y,y) UG,2

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

其它规则

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

(3)xA(x)A(y)orxA(x)A(c)

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

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

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

1.xyL(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.xxL(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