You are on page 1of 25

主要内容

§ 2.6 逻辑推论
• 公式集合是可满足的
• 公式是公式集合的逻辑推论
• 类似于命题逻辑的性质
• 谓词逻辑的特殊性质
§ 4.2 范式
计算机学院
• 前束范式
• 无存在前束范式
• 斯科伦范式
• 范式的性质 计算机学院 196
196
前束范式与⺟式
l 定义4.5 形如𝑄! 𝑥! … 𝑄" 𝑥" 𝐴的公式称为前束范式。
其中:
l 𝑛是自然数;

l 每个𝑄# 或者是∀、或者是∃;

𝑥# 是互不相同的;
l

l 𝐴 不包含量词;

称 𝐴 为 𝑄! 𝑥! … 𝑄" 𝑥" 𝐴 的母式 计算机学院


与公式A等值的前束范式称为A的前束范式

计算机学院 197
197
回顾:常用的量词等值式模式
§ 1、量词否定规则,帮助把量词提前:

§ ① $x ¬AÛ¬"xA ,

§ ② "x ¬AÛ¬$xA

计算机学院

计算机学院 198
198
回顾:常用的量词等值式模式
§ 4、量词辖域规则,帮助把量词提前:

§ 在本组等值式模式中, x 不是 B 的自由变元。

§ ① "xA Ú B Û"x (A Ú B)

§ ② "xA Ù B Û "x(A Ù B)

§ ③ $xA Ú B Û $x(A Ú B)

§ ④ $xA Ù B Û $x(A Ù B)
计算机学院
§ ⑤ $xA ® B Û "x(A ® B)

§ ⑥ B ® "xA Û "x(B ® A)

§ ⑦ "xA ® B Û $x(A ® B)

§ ⑧ B ® $xA Û $ x( B ® A )
计算机学院 199
199
回顾:常用的量词等值式模式
§ 2、约束变元换名规则:

§ ① "xA Û "y Ayx ,

§ ② $xA Û $y Ayx

§ 其中 y 不是 A 的自由变元且 y 对 A 中的 x 可代入。

§ 3、量词分配规则:

§ ① "xA Ù "x B Û "x(A Ù B)


计算机学院
§ ② $xA Ú $xB Û $x(A Ú B)

计算机学院 200
200
前束范式
l 事实 每个公式都等值于一个前束范式
l 证明
l 思路:
l 基于定义可以证明上述定理。
l 假设公式中出现的逻辑联结仅有¬, →.
l 若公式不出现量词,则已是前束范式.
计算机学院

计算机学院 201
201
前束范式
l 证明
基于对公式中出现量词的个数归纳可以证明上述定理。假设公
式中出现的逻辑联结仅有¬, →.
若公式不出现量词,则已是前束范式。
有以下等值演算(假设𝑦不在𝐴及𝐵中出现)
¬∃𝑥𝐴 ⇔ ∀𝑥¬𝐴
¬∀𝑥𝐴 ⇔ ∃𝑥¬𝐴
∃𝑥𝐴 → 𝐵 ⇔ ∀𝑦(𝐴!"计算机学院
→ 𝐵)
∀𝑥𝐴 → 𝐵 ⇔ ∃𝑦(𝐴!" → 𝐵)
𝐴 → ∀𝑥𝐵 ⇔ ∀𝑦(𝐴 → 𝐵!" )
𝐴 → ∃𝑥𝐵 ⇔ ∃𝑦(𝐴 → 𝐵!" )
则可以将所有公式都转化为前束的。
计算机学院 202
202
例题
l 有以下两组等值演算:
∀𝑥𝑃(𝑥)⋁∃𝑥𝑄(𝑥) ⇔ ∀𝑥(𝑃(𝑥)⋁∃𝑥𝑄(𝑥))
⇔ ∀𝑥(𝑃(𝑥)⋁∃𝑦𝑄(𝑦))
⇔ ∀𝑥∃𝑦(𝑃(𝑥)⋁𝑄(𝑦))
∀𝑥𝑃(𝑥)⋁∃𝑥𝑄(𝑥) ⇔ (∀𝑥𝑃(𝑥)⋁∃𝑦𝑄(𝑦))
⇔ ∃𝑦 (∀𝑥𝑃(𝑥)⋁𝑄(𝑦))
⇔ ∃𝑦∀𝑥 (𝑃(𝑥)⋁𝑄(𝑦))
l 这时,互相等值的 计算机学院
l ∀𝑥∃𝑦(𝑃(𝑥)⋁𝑄(𝑦))
l ∃𝑦∀𝑥 (𝑃(𝑥)⋁𝑄(𝑦))
都是∀𝑥𝑃(𝑥)⋁∃𝑥𝑄(𝑥)的前束范式
计算机学院 203
203
前束范式变换规则
§ 消去⨁和 ↔
§ 将部分约束变元换名,似的约束变元和自由变元不同名
,并且量词的各次出现约束不同的变元
§ 将量词提到最前面,化成前束范式(注意¬ )

注意: 计算机学院
• 只能对约束变元换名,不能对自由变元换名,因为对自由
变元换名会使得到的公式与原公式不等值
• 一个公式的前束范式不唯一!

计算机学院 204
204
例4.8
例:将公式∀𝒙𝑷(𝒙) ↔ ¬∃𝒚𝑸(𝒙, 𝒚)化为与其等值的前束范式

∀𝒙𝑷(𝒙) ↔ ¬∃𝒚𝑸(𝒙, 𝒚)
⟺ ∀𝒙𝑷 𝒙 → ¬∃𝒚𝑸 𝒙, 𝒚 ∧ ¬∃𝒚𝑸 𝒙, 𝒚 → ∀𝒙𝑷 𝒙
⟺ ∀𝒛𝑷 𝒛 → ¬∃𝒚𝑸 𝒙, 𝒚 ∧ ¬∃𝒖𝑸 𝒙, 𝒖 → ∀𝒗𝑷 𝒗
⟺ ∀𝒛𝑷 𝒛 → ∀𝒚¬𝑸 𝒙, 𝒚 ∧ ∀𝒖¬𝑸 𝒙, 𝒖 → ∀𝒗𝑷 𝒗
⟺ ∃𝒛∀𝒚 𝑷 𝒛 → ¬𝑸 𝒙, 𝒚 ∧ ∃𝒖∀𝒗 ¬𝑸 𝒙, 𝒖 → 𝑷 𝒗
计算机学院
⟺ ∃𝒛∃𝒖∀𝒚∀𝒗 𝑷 𝒛 → ¬𝑸 𝒙, 𝒚 ∧ ¬𝑸 𝒙, 𝒖 → 𝑷 𝒗

计算机学院 205
205
⽆存在前束范式
l 定义4.6 不出现存在量词的前束范式称为无存在
前束范式。

l ∀𝑥𝑃(𝑥)是无存在前束范式。
l ∃𝑥𝑃(𝑥)不是无存在前束范式。

计算机学院

计算机学院 206
206
⽆存在前束范式

l 定义4.7 前束范式𝐴的无存在前束范式𝐴$ 定义如下:


l 若 𝐴 是无存在前束范式,则𝐴# 是 𝐴;
# ! #
l 若 𝐴 是 ∃𝑦𝐵则 𝐴 是 𝐵$ ,其中常元符号𝑎在𝐵中不出现;
#
# !
l 若 𝐴 是 ∀𝑥% ⋯ ∀𝑥& ∃𝑦𝐵 则 𝐴 是∀𝑥% ⋯ ∀𝑥& 𝐵' "! ,⋯"" ,其
计算机学院
中函数符号 𝑓 不在 𝐵 中出现,𝑛 是正整数。

计算机学院 207
207
⽆存在前束范式
l 例4.9
$
∃𝑥∀𝑦∃𝑧∃𝑢∀𝑣 𝑃 𝑥, 𝑦, 𝑧 → 𝑄 𝑢, 𝑣
$
= ∀𝑦∃𝑧∃𝑢∀𝑣 𝑃 𝑎, 𝑦, 𝑧 → 𝑄 𝑢, 𝑣
$
= ∀𝑦∃𝑢∀𝑣 𝑃 𝑎, 𝑦, 𝑓 𝑦 → 𝑄 𝑢, 𝑣
计算机学院
= ∀𝑦∀𝑣 𝑃 𝑎, 𝑦, 𝑓 𝑦 → 𝑄 𝑔 𝑦 ,𝑣

计算机学院 208
208
⽆存在前束范式
l 注意:
l 前束范式𝐴的无存在前束范式𝐴$ 并不等值
l 例如𝑃 𝑎 与∃𝑥𝑃 𝑥 不等值
l 对于前束范式𝐴的无存在前束范式𝐴$ ,𝐴$ ⊨ 𝐴
l 𝐴 ⊨ 𝐴$ 不一定成立
l 𝐴不可满足当且仅当𝐴$ 不可满足
计算机学院

计算机学院 209
209
定理 4.3
l 定理4.3 对于前束范式𝐴的无存在前束范式𝐴$ ,𝐴是
可满足的当且仅当𝐴$ 是可满足的。

l 必要性
l 若𝐴$ 是可满足的,则 𝐴是可满足的。
归纳证明 𝐴$ ⊨ 𝐴 :
l 若𝐴是无存在前束范式,则𝐴# 是计算机学院
𝐴 ,结论成立。
# ! #
l 若𝐴是∃𝑦𝐵则𝐴 是 𝐵$ ,其中常元符号 𝑎 在𝐵中不出现。
! # ! !
由假设归纳 𝐵$ ⊨ 𝐵$ ,因为𝐵$ → ∃𝑦𝐵是用真式,所以
! ! #
𝐵$ ⊨ ∃𝑦𝐵 ,再由传递性可知 𝐵$ ⊨ ∃𝑦𝐵,即结论成立。
计算机学院 210
210
定理 4.3
#
# !
l 若𝐴是∀𝑥% ⋯ ∀𝑥& ∃𝑦𝐵则𝐴 是∀𝑥% ⋯ ∀𝑥& 𝐵'("! ,⋯"" ) ,其
中函数符号𝑓在𝐵中不出现,𝑛是正整数,由归纳假设,
#
! !
∀𝑥% ⋯ ∀𝑥& 𝐵' "! ,⋯"" ⊨ ∀𝑥% ⋯ ∀𝑥& 𝐵' "! ,⋯"" ,
! !
又由于𝐵'("! ,⋯"" ) → ∃𝑦𝐵是永真式, 𝐵'("! ,⋯"" ) ⊨ ∃𝑦𝐵,
#
!
因而, ∀𝑥% ⋯ ∀𝑥& 𝐵' "! ,⋯"" ⊨ ∀𝑥% ⋯ ∀𝑥& ∃𝑦𝐵,
计算机学院
即,𝐴# ⊨ 𝐴 。

计算机学院 211
211
定理 4.3
§ 充分性 归纳证明:若𝑨可满足,则𝑨! 可满足.
§ (1)若𝑨是无∃前束范式,则𝑨! 是与𝑨同样的公式,𝑨! 可
满足.
!为 𝒚 $
§ (2)若𝑨是∃𝒚𝑩,𝑨 (𝑩𝒂 ) ,其中𝒂是在公式𝑩中不出
现的常元. 设解释𝑰和𝑰中赋值𝒗满足A. 因为I(∃𝒚𝑩)(𝒗)=1,
所以集合{𝒅|𝒅 ∈ 𝑫𝑰 且𝑰(𝑩)(𝒗[𝒚/𝒅])= 𝟏}非空,
§ 令𝒅是该集合中的一个元素. 定义解释𝑰! 如下:
计算机学院

§ 𝑫𝑰! = 𝑫𝑰 ,𝒂𝒓 = 𝒅,对于每个函数符号、谓词符号及其


他常元𝒄 ,𝒄𝒓 = 𝒄𝑰 . 则𝑰! (𝑩𝒚𝒂 )(𝒗)=𝑰! (𝑩)(𝒗[𝒚/𝑰! (𝒂)(𝒗)]) =
!( ) 𝒚
𝑰 𝑩 (𝒗[𝒚/𝒅])=𝑰(𝑩)(𝒗[𝒚/𝒅])= 𝟏,因此𝑩𝒂 可满足,由归
纳假设知,(𝑩𝒚𝒂 )# 可满足,即计算机学院 𝑨! 可满足. 212
212
定理 4.3-解释
l 归纳证明 𝐴 ⊨ 𝐴$
l 若𝐴是无存在前束范式,则 𝐴# 是 𝐴 ,结论成立。
# ! #
l 若𝐴是∃𝑦𝐵,则𝐴 是 𝐵$ ,其中常元 𝑎 在 𝐵 中不出现。
假设解释𝐼及𝐼的赋值𝑣使得𝐼 𝐴 𝑣 = 1。
这时存在𝑑 ∈ 𝐷. 使得𝐼 𝐴 𝑣 𝑦/𝑑 = 1。定义解释𝐽,使
!
𝐽 𝐵$ 𝑣
= 𝐽(𝐵)(𝑣[𝑦/𝐽(𝑎)(𝑣)])
计算机学院
= 𝐽(𝐵(𝑣[𝑦/𝑑]))
= 𝐼 𝐵 𝑣 𝑦/𝑑 =1

计算机学院 213
213
定理 4.3
!为 𝒚
§ (3)若𝑨是∀𝒙𝟏 ⋯ ∀𝒙𝒏 ∃𝒚𝑩,𝑨 (∀𝒙𝟏 ⋯ ∀𝒙𝒏 𝑩𝒇(𝒙𝟏 ⋯𝒙𝒏 ) )! ,

其中𝒇是在公式𝑩中不出现的𝒏元函数符号. 设解释𝑰和𝑰中
赋值𝒗满足𝑨. 定义关系𝑹 = {≪ 𝒅𝟏 , ⋯ , 𝒅𝒏 >, 𝒅 >
| 𝒅𝟏 , ⋯ , 𝒅𝒏 , 𝒅 ∈ 𝑫𝑰 且𝑰(𝑩)(𝒗[𝒙𝟏 /𝒅𝟏 , ⋯ , 𝒙𝒏 /𝒅𝒏 , 𝒚/𝒅])=1}

§ 因为I(∀𝒙𝟏 ⋯ ∀𝒙𝒏 ∃𝒚𝑩)(𝒗)=1,所以𝑹的定义域


计算机学院
dom(𝑹)=𝑫𝒏
𝑰. 由选择公理得出,存在函数𝐠使得𝐠 ⊆ 𝑹且
dom(𝐠)= dom(𝑹). 令𝐠是满足该条件的一个函数. 定义解释𝑰!
如下:

计算机学院 214
214
定理 4.3
§ 𝑫𝒓 = 𝑫𝑰 , 𝒇𝒓 = 𝒈,对于每个常元、谓词符号及其他函数
符号𝒄 ,𝒄𝒓 = 𝒄𝒍 . 则对于任意𝒅𝟏 , ⋯ , 𝒅𝒏 ∈ 𝑫𝒓 ,
𝑰! (𝑩𝒚𝒇(𝒙𝟏 ⋯𝒙𝒏 ) )(𝒗 [𝒙𝟏 /𝒅𝟏 , ⋯ , 𝒙𝒏 /𝒅𝒏 ])
= 𝑰! (𝑩)(𝒗 [𝒙𝟏 /𝒅𝟏 , ⋯ , 𝒙𝒏 /𝒅𝒏 , 𝒚/𝑰(𝒇(𝒙𝟏 , ⋯ , 𝒙𝒏 ))(𝒗
[𝒙𝟏 /𝒅𝟏 , ⋯ , 𝒙𝒏 /𝒅𝒏 ])])
= 𝑰! (𝑩)(𝒗 [𝒙𝟏 /𝒅𝟏 , ⋯ , 𝒙𝒏 /𝒅𝒏 , 𝒚/𝒈(𝒅𝟏 , ⋯ , 𝒅𝒏 )])
=1
𝒚 计算机学院
§ 因而𝑰! (∀𝒙𝟏 ⋯ ∀𝒙𝒏 𝑩𝒇(𝒙 ⋯𝒙 ) )(𝒗)=1, ∀𝒙𝟏 ⋯ ∀𝒙𝒏 𝑩𝒚𝒇(𝒙𝟏 ⋯𝒙𝒏 )
𝟏 𝒏
𝒚
可满足,由归纳假设知,(∀𝒙𝟏 ⋯ ∀𝒙𝒏 𝑩𝒇(𝒙𝟏 ⋯𝒙𝒏 ) )! 可满足,
即𝑨! 可满足.
§ 证毕
计算机学院 215
215
定理 4.3-解释
#
# !
l 若𝐴是∀𝑥% ⋯ ∀𝑥& ∃𝑦𝐵则𝐴 是∀𝑥% ⋯ ∀𝑥& 𝐵'("! ,⋯"" ) ,其中函
数符号𝑓在𝐵中不出现,𝑛是正整数。
从𝐼 ∀𝑥% ⋯ ∀𝑥& ∃𝑦𝐵 𝑣 = 1可知对于任意的𝑑% , ⋯ 𝑑& ∈ 𝐷. ,都
存在𝑑 ∈ 𝐷. 使得𝐼 𝐵 𝑣 𝑥% /𝑑% , ⋯ 𝑥& /𝑑& , 𝑦/𝑑 =1。
定义解释𝐽:函数𝑔使得(𝑑% , ⋯ 𝑑& ) 对应于𝑑 。即
!
𝐽(𝐵' "! ,⋯"" )(𝑣 𝑥% /𝑑% , ⋯ 𝑥& /𝑑& )
= 𝐽(𝐵)𝑣 𝑥% /𝑑% , ⋯ 𝑥& /𝑑& , 𝑦/𝑎
计算机学院
= 𝐽(𝐵)𝑣 𝑥% /𝑑% , ⋯ 𝑥& /𝑑& , 𝑦/𝑔(𝑑% , ⋯ 𝑑& )
= 𝐼 𝐵 𝑣 𝑥% /𝑑% , ⋯ 𝑥& /𝑑& , 𝑦/𝑑 =1
其中𝑎是𝐽((𝑓(𝑥% , ⋯ , 𝑥& ))𝑣 𝑥% /𝑑% , ⋯ 𝑥& /𝑑& ) 。由此可证上述结论

计算机学院 216
216
斯科伦范式
定义4.8
l 原子公式或者原子公式的否定称为文字。

l 设n是正整数

l 若𝐴! , ⋯ , 𝐴" 是文字,则称𝐴! ⋁ ⋯ ⋁𝐴" 为简单析取

式。
l 若𝐴! , ⋯ , 𝐴" 是简单析取式,则称𝐴! ⋀ ⋯ ⋀𝐴" 为合
取范式。 计算机学院

l 一个无存在前束范式,若它的无量词部分是合取
范式,则称为斯科伦范式。

计算机学院 217
217
斯科伦范式
l 性质
每个公式𝑨都可以化为一个斯科伦范式𝑩,使得𝑨不
可满足当且仅当𝑩不可满足,称𝑩为𝑨的斯科伦范式.

如何将一个公式化成斯科伦范式?
计算机学院

计算机学院 218
218
例4.10
§ 求公式∀𝒙𝑷(𝒙, 𝒚) ↔ ¬∀𝒚𝑸(𝒙, 𝒚)的斯科伦范式.
§ 解 首先将该公式化为前束范式.
∀𝒙𝑷(𝒙, 𝒚) ↔ ¬∀𝒚𝑸(𝒙, 𝒚)
⇔ (∀𝒙𝑷(𝒙, 𝒚) → ¬∀𝒚𝑸(𝒙, 𝒚))⋀ (¬∀𝒚𝑸(𝒙, 𝒚) → ∀𝒙𝑷(𝒙, 𝒚))
⇔ (∀𝒙𝑷(𝒙, 𝒚) → ∃𝒚¬𝑸(𝒙, 𝒚))⋀ (∃𝒚¬𝑸(𝒙, 𝒚) → ∀𝒙𝑷(𝒙, 𝒚))
⇔ (∀𝒛𝑷(𝒛, 𝒚) → ∃𝒖¬𝑸(𝒙, 𝒖))⋀ (∃𝒗¬𝑸(𝒙, 𝒗) → ∀𝒘𝑷(𝒘, 𝒚))
⇔ ∃𝒛∃𝒖(𝑷(𝒛, 𝒚) → ¬𝑸(𝒙, 𝒖))⋀ ∀𝒗∀𝒘(¬𝑸(𝒙, 𝒗) → 𝑷(𝒘, 𝒚))
⇔ ∃𝒛∃𝒖∀𝒗∀𝒘((𝑷(𝒛, 𝒚) → ¬𝑸(𝒙, 𝒖))⋀计算机学院
(¬𝑸 𝒙, 𝒗 → 𝑷 𝒘, 𝒚 ))
§ 再将其化为无∃前束范式
§ ∀𝒗∀𝒘((𝑷(𝒂, 𝒚) → ¬𝑸(𝒙, 𝒃))⋀ (¬𝑸 𝒙, 𝒗 → 𝑷 𝒘, 𝒚 )).
§ 将该无∃前束范式的母式化为合取范式,得到斯科伦范式:
§ ∀𝒗∀𝒘((¬𝑷(𝒂, 𝒚) ∨ ¬𝑸(𝒙,
计算机学院𝒃))⋀ (𝑸 𝒙, 𝒗 ∨ 𝑷 𝒘, 𝒚 )). 219
219
计算机学院

计算机学院 220
220

You might also like