继续一阶逻辑的性质。
(h) 如果一个好式子
B
含有自由变量xi1,xi2,...,xik,并且序列
s
和s′在第
i1,i2,...,ik
这些位置上的值相同。那么,
s
满足B,当且仅当,
s′
满足
B
。
注:这个性质看上去像废话,自由变量取值相同,当然得出结果就相同。但要严格证明,还是得下一番功夫。
证明:证明的技巧是基于连接符号与全称量词个数的归纳法。先证明一个引理。
引理2.13:如果一个项t中的变量是
xi1,xi2,...,xik
,并且序列
s
和s′在
i1,i2,...,ik
这些位置上有相同值。那么,
s∗(t)=(s′)∗(t)
引理2.13的证明:由于
t
只包含三类符号,变量、常量、函数符号。所以在t的映射过程中,常量总是映射到固定的值。由于
t
只包含变量xi1,xi2,...,xik,在用序列
s
作映射的时候,xi1,xi2,...,xik对应的值分别是
si1,si2,...,sik
,而
s′
映射时对应的值分别是
s′i1,s′i2,...,s′ik
。由于
s
和s′在这些位置上的值相同,所以
t
在二者映射出来的值也相同。
引理2.13证毕
接着引进一个定义:对于一个序列s和一个好式子
B
,由于B包含若干项,我们称这些项通过序列
s
映射到定义域的过程为B基于
s
的取值
继续(h)的证明,我们采用基于连接符号与全称量词总个数的归纳法。
h.1 当B是原子wf时,根据引理2.13,
B
基于s和
s′
的取值总是相同。所以,如果
s
满足B,则
s′
满足
B′
,反之亦然。因此
s
满足B,当且仅当,
s′
满足
B
。
h.2 假设B包含的连接符号和全称量词总个数为
n−1
时,性质成立。我们考虑
n
的情况:
h.2.1 B是
¬D
的形式。根据归纳假设,
s
满足D,当且仅当,
s′
满足
D
。所以,若s满足
B
,则s不满足
D
,进而s′不满足
D
,所以s′满足
B
。若s′满足
B
,同理可得s满足
B
。所以,s满足
B
,当且仅当,s′满足
B
。
h.2.2 B是
C⇒D
的形式。如果
s
满足B,若
s
不满足C,则
s′
也不满足
C
(归纳假设),所以s′满足
B
。若s满足
D
,则s′也满足
D
,所以s满足
B
。反之,若s′满足
B
,同理可得s满足
B
。所以,s满足
B
,当且仅当,s′满足
B
。
h.2.3 B 是
(∀xj)D
的形式。此时
D
中的自由变量顶多就是xi1,xi2,...,xik和
xj
(无论
xj
是否在
xi1,xi2,...,xik
中)。如果
s
满足B,那么任一与
s
最多在j位置取值不同的序列都满足
D
。对于任一与s′最多在
j
位置取值不同的序列r′,都存在一个序列
r
,使得r与
s
最多只在j位置取值不同,同时
r
与r′在
i1,i2,...,ik
和
j
位置取值相同。这里的关键就是要证明r′满足
D
。因为D中的连接符号与全称量词个数都小于
n
,所以根据归纳假设,r满足
D
,当且仅当,r′满足
D
(因为D顶多含有
xi1,xi2,...,xik
和
xj
这些自由变量)。因此,
s′
满足
B
。反之,如果s′满足
B
,同理可得s满足
B
。
证毕
(i) 如果B是一个闭合的好式子,即
B
中不包含自由变量,那么对于任一解释M,要么
⊨MB
,或者
⊨M¬B
。
证明:利用上述(h)的性质,如果一个好式子
B
如果包含k个自由变量
xi1,xi2,...,xik
,那么序列
s
和s′至少在
i1,i2,...,ik
这
k
个位置取值相同,则s满足
B
,当且仅当,s′满足
B
。特别的,k=0时,性质也成立,也即
B
不包含自由变量时,任意s和
s′
都满足性质(h)。所以,对于任一解释
M
,如果某个序列s满足
B
,那么根据(h),所有序列都会满足B。如果某个序列
s
不满足B,则
s
满足¬B,那么所有序列都会满足
¬B
。
证毕
(j) 假设项
t
在B(xi)中对
xi
自由,则
(∀xi)B(xi)⇒B(t)
对任一解释都为真。
注:
B(xi)
是指
xi
在
B
中是自由变量。B(t)是指用项
t
替代B中
xi
所有的自由出现。
证明:我们只需证明对任一序列(任一解释)
s
,如果s满足
(∀xi)B(xi)
,那么
s
也满足B(t)。
我们需要两个引理:
引理2.14:
t
和u是两个项,
s
是一个序列。项t′由如下方式产生:把
t
中所有出现的xi都替换成
u
。序列s′由如下方式产生:
s
中i位置的值换成
s∗(u)
。那么,
s∗(t′)=(s′)∗(t)
。
引理2.14证明: 我们先定义任一项
t
的长度:t的长度是
t
中常量符号、变量符号与函数符号的个数之和。所以,如果t是常量或者变量,则
t
的长度为1。如果t是
f(x)
,它包含一个函数符号和一个变量符号,则它的长度为2。如果
t
是f1(1,x1,f2(x2,x3,x4)),则
t
的长度为7。
(2.14.1)当t的长度为
1
时,不难证明性质成立。
(2.14.2)当t的长度为
2
时,它一定是由一个函数符号f和一个常量或变量符号
t
组成,基于(2.14.1),也不难证明性质成立。
(2.14.3)假设t的长度为
n−1
时性质成立,那么当
t
的长度为n>2时,它一定是诸如
fk(t1,t2,...,tk)
的形式,而且
ti,i=1,2,...,k
这些项的长度都小于
n
。根据归纳假设,性质对ti成立,所以不难证明,性质对
t
也成立。
引理2.14证毕
引理2.15:如果t在
B(xi)
中对
xi
自由,那么给定一个序列
s=(s1,s2,...)
,序列
s′
由以下方式产生:把序列
s
中i位置的取值替换成
s∗(t)
。那么,
s
满足B(t),当且仅当,
s′
满足
B(xi)
。
引理2.15证明:同样,我们用基于连接符号和全称量词个数的归纳法。
(2.15.1) 当
B
是原子wf,即D(u1,u2,...,uk)的形式,其中
ui,i=1,2,...,k
是项。那么,记项
t
取代变量xi后的项
ui
为
u′i
。根据上述引理2.14,可得
s∗(u′i)=(s′)∗(ui)
。所以,
D(t)
基于
s
的取值与D(xi)基于
s′
的取值相同。因此,
s
满足D(t),当且仅当,
s′
满足
D(xi)
。
(2.15.2) 当
B
是¬D的形式,根据归纳假设,性质对
D
成立,不难证明性质也对B成立。
(2.15.3) 当
B
是C⇒D,不难证明性质成立。
(2.15.4) 当
B
是(∀xj)D(xi)的形式,
(2.15.4.1) 若
xj
就是
xi
,那么
xi
在
B
中就不是自由变量,所以此时用t取代
xi
的所有自由出现即是什么都不做,
B(t)
也仅是
B(xi)
。由于
s
和s′仅在
i
位置取值不同,所以根据性质(h),只要xi不是自由变量,无论
B
包含多少自由变量,都有s满足
B
,当且仅当,s′满足
B
。
(2.15.4.2) 若xj不是
xi
。因为
t
对xi自由,因此
t
中肯定不包含变量xj。现在,如果
s
满足B(t),记任一与
s
最多在j位置不同的序列集合为
S
。那么,若r∈S,则
r
满足D(t)。接着,我们记与
s′
最多只在
j
位置取值不同的序列集合为S′。对于
r′∈S′
,我们总能在
S
中找到一个序列r,使得
r
和r′在
j
位置取值相同。由于r∈S,所以
r
和s只在
j
位置取值不同。接下来我们要证明r′满足
D(xi)
,为此,由于
r
满足D(t),要想借用归纳假设,只需证明
r′
在
i
位置的取值是r∗(t)即可。现在
r′
在
i
位置的取值是s∗(t),注意到
t
中不包含变量xj,而
r
和s仅在
j
位置取值不同,所以很容易得到$$r^{}(t) = $s^{}(t)。因此,r’
满足
D(x_i)
,进而
s’
满足
B(x_i)$。
反之,如果
s′
满足
B(xi)
,采用同样的方法定义集合
S′
和集合
S
。对于任一r∈S,总能找到一个
r′∈S′
,使得
r
和r′在
j
位置取值相同。同样的,我们只需证明r满足
B(t)
。要想用归纳假设,只需证明
r′
在
i
位置的取值是r∗(t),这和上面的证明过程是一样的。
引理2.15证毕
我们继续性质(j)的证明。如果序列
s
满足(∀xi)B(xi),我们要证明
s
满足B(t)。
(j.1)
xi
在
B
中没有自由出现。此时B(t)就是
B(xi)
,
s
当然满足B(t)。
(j.2)
xi
在
B
中有自由出现,那么我们如下产生序列s′:把
s
中i位置的值替换成
s∗(t)
。因为
s′
与
s
仅在i位置取值不同,所以
s′
满足
B(xi)
。根据引理2.15,
s
也满足B(t)。
证毕
性质(h)很重要,更深刻地理解为什么要定义自由变量,为什么替换变量的过程中只能替换自由出现。在性质(h)中,为什么
t
一定要对xi自由呢?如果一个项
t
对xi不自由,性质(h)也成立吗?当然不成立,性质(h)的证明过程中引理2.15的证明利用了
t
对xi自由的条件。如果
t
对xi不自由,我们很容易构造一个反例。
考虑
B
是A1(x1)⇒(∀x2)A2(x1,x2),其中一个解释的定义域为自然数,
A1
的解释是
{1}
,
A2
的解释是
(1,1),(1,2),...
,即第二个元素是任一自然数。现在,考虑项
t
为x2。那么,
t
对x1是不自由的,因为
A2
中自由出现的
x1
被
x2
限制了。用
t
取代B就得到
A1(x2)⇒(∀x2)A2(x2,x2)
,记为
B(t)
。现在,考虑序列
s=(1,2,...)
。显然,它满足
(∀x1)B
,但它不满足
B(t)
。
继续讨论一阶逻辑满足性的最后一个性质。
(k) 如果
xi
在
B
中没有自由出现,则(∀xi)(B⇒D)⇒(B⇒(∀xi)D)对任一解释为真。
证明:只需证明对任一序列
s
(任一解释),如果s满足
(∀xi)(B⇒D)
,则
s
也满足(B⇒(∀xi)D)。更进一步,我们只需证明如果
s
满足(∀xi)(B⇒D)和
B
,则s也满足
(∀xi)D
。
因为
s
满足(∀xi)(B⇒D),所以任一与
s
最多在i位置取值不同的序列
r
满足(B⇒D)。若要证明
s
满足(∀xi)D,只需证明
r
满足D即可,也即证明
r
满足B即可。
而且
xi
在
B
中没有自由出现,根据性质(h),由于s和
r
只在i位置取值不同,所以不管
B
有没有包含其它自由变量,我们都可以得出, s满足
B
,当且仅当,r满足
B
。既然s满足
B
,所以r也满足
B
<script type="math/tex" id="MathJax-Element-369184">B</script>。
证毕
这11个性质(a)-(k)是为了搞清楚好式子的满足性,使之能和命题演算系统的真假性做些关联。弄清楚这些性质之后,就可以建立类似系统L的一阶逻辑公理系统了。