索引
§ 3 \S3 §3 命题逻辑的范式
目的
在前一章节,已知任何命题公式都能通过逻辑等价关系简化,而不影响给定赋值下的运算结果,这样也就能考虑选出一个具有代表性的范式,来研究所有能转换到这个范式的命题公式的共性。
范式
定义3.1 文字 互补文字对
命题常元,命题变元及其否定统称为文字,一个命题常元 p p p称为正文字,一个命题常元的否定 ¬ p \neg p ¬p称为负文字,一个命题常元 p p p(或命题变元)以及其否定形式 ¬ p \neg p ¬p称为一对互补文字对。析取子句中含有互补文字对则为永真式,合取子句中含有互补文字对则为永假式。
定义3.2 析取子句 合取子句
文字或若干文字的析取称为析取子句,文字或若干文字的合取称为合取子句。
定义3.3 析取范式 合取范式
若 n n n个命题变元的命题公式 A A A, C C C满足以下所有条件:
- A ⇔ C A\Leftrightarrow C A⇔C。
- C C C为 A A A中所有命题变元的合取子句的析取。
则称
C
C
C为
A
A
A的析取范式。
若
n
n
n个命题变元的命题公式
B
B
B,
D
D
D满足以下所有条件:
- B ⇔ D B\Leftrightarrow D B⇔D。
- D D D为 B B B中所有命题变元的析取子句的合取。
则称
D
D
D为
B
B
B的合取范式。
析取范式和析取范式统称为范式。
范式的构造方法
析取范式
按如下程序将命题公式 A A A转换为逻辑等价的析取范式:
- 利用蕴含等价式 A → B ⇔ ¬ A ∨ B A\to B\Leftrightarrow \neg A\vee B A→B⇔¬A∨B消去蕴含联结词 → \to →;
- 利用双向蕴含等价式 ( A ↔ B ) ⇔ ( A → B ) ∧ ( B → A ) \left ( A\leftrightarrow B \right )\Leftrightarrow \left ( A\to B \right )\wedge \left ( B\to A \right ) (A↔B)⇔(A→B)∧(B→A)消去双向蕴含联结词 ↔ \leftrightarrow ↔;
- 利用德摩根律 ¬ ( A ∨ B ) ⇔ ¬ A ∧ ¬ B \neg \left ( A\vee B \right )\Leftrightarrow \neg A\wedge \neg B ¬(A∨B)⇔¬A∧¬B; ¬ ( A ∧ B ) ⇔ ¬ A ∨ ¬ B \neg \left ( A\wedge B \right )\Leftrightarrow \neg A\vee \neg B ¬(A∧B)⇔¬A∨¬B将否定联结词向内移动,直至作用于合取子句内的单个文字上;
- 利用双重否定律 A ⇔ ¬ ¬ A A \Leftrightarrow \neg \neg A A⇔¬¬A保证每个变元前只有一个否定联结词。
- 利用分配律 A ∧ ( B ∨ C ) ⇔ ( A ∧ B ) ∨ ( A ∧ C ) A\wedge \left ( B\vee C \right )\Leftrightarrow \left ( A\wedge B \right )\vee \left ( A\wedge C \right ) A∧(B∨C)⇔(A∧B)∨(A∧C),进一步化为析取范式。
合取范式
按如下程序将命题公式 A A A转换为逻辑等价的合取范式:
- 利用蕴含等价式 A → B ⇔ ¬ A ∨ B A\to B\Leftrightarrow \neg A\vee B A→B⇔¬A∨B消去蕴含联结词 → \to →;
- 利用双向蕴含等价式 ( A ↔ B ) ⇔ ( A → B ) ∧ ( B → A ) \left ( A\leftrightarrow B \right )\Leftrightarrow \left ( A\to B \right )\wedge \left ( B\to A \right ) (A↔B)⇔(A→B)∧(B→A)消去双向蕴含联结词 ↔ \leftrightarrow ↔;
- 利用德摩根律 ¬ ( A ∨ B ) ⇔ ¬ A ∧ ¬ B \neg \left ( A\vee B \right )\Leftrightarrow \neg A\wedge \neg B ¬(A∨B)⇔¬A∧¬B; ¬ ( A ∧ B ) ⇔ ¬ A ∨ ¬ B \neg \left ( A\wedge B \right )\Leftrightarrow \neg A\vee \neg B ¬(A∧B)⇔¬A∨¬B将否定联结词向内移动,直至作用于析取子句内的单个文字上;
- 利用双重否定律 A ⇔ ¬ ¬ A A \Leftrightarrow \neg \neg A A⇔¬¬A保证每个变元前只有一个否定联结词。
- 利用分配律 A ∨ ( B ∧ C ) ⇔ ( A ∨ B ) ∧ ( A ∨ C ) A\vee \left ( B\wedge C \right ) \Leftrightarrow \left ( A\vee B \right )\wedge \left ( A\vee C \right ) A∨(B∧C)⇔(A∨B)∧(A∨C),进一步化为合取范式。
定理3.1 范式存在定理
任一命题公式均存在逻辑等价的合取范式与析取范式。
主范式
定义3.4 主范式
若
A
A
A的析取范式
C
C
C中,每个合取子句有
n
n
n个命题变元
{
p
1
,
p
2
,
…
,
p
i
,
…
,
p
n
∣
i
,
n
∈
N
+
,
1
≤
i
≤
n
}
\left \{ p_{1},p_{2},\dots, p_{i},\dots , p_{n} \mid i,n\in \mathbb{N^{+},1\le i \le n } \right \}
{p1,p2,…,pi,…,pn∣i,n∈N+,1≤i≤n},每个命题变元
p
i
p_{i}
pi都恰好只出现一次,则称
C
C
C为
A
A
A的主析取范式。
若
B
B
B的合取范式
D
D
D中,每个析取子句有
n
n
n个命题变元
{
p
1
,
p
2
,
…
,
p
i
,
…
,
p
n
∣
i
,
n
∈
N
+
,
1
≤
i
≤
n
}
\left \{ p_{1},p_{2},\dots, p_{i},\dots , p_{n} \mid i,n\in \mathbb{N^{+},1\le i \le n } \right \}
{p1,p2,…,pi,…,pn∣i,n∈N+,1≤i≤n},每个命题变元
p
i
p_{i}
pi都恰好只出现一次,则称
B
B
B为
D
D
D的主合取范式。
析取主范式和析取主范式统称为主范式。
主范式的性质
- 主范式确保了范式的唯一性,以主范式为中心,可以构造给定主范式的等价类,等价类中所有命题公式都与主范式逻辑等价,且具有相同的弄真指派和弄假指派。
- 永真式不存在主合取范式,规定永真式的主合取范式为 T T T。
- 永假式不存在主析取范式,规定永假式的主析取范式为 F F F。
- 设命题公式 A A A有 n n n个命题变元,则能构成 2 n 2^{n} 2n的析取子句(合取子句),选取析取子句(合取子句)构成主析取范式(主合取范式),共有 ∑ k = 1 2 n C n k = 2 2 n \sum_{k=1}^{2^{n} } C_{n}^{k} =2^{2^{n} } ∑k=12nCnk=22n种选择。
- 一个析取主范式永假,当且仅当其所有合取子句永假。
- 一个合取主范式永真,当且仅当其所有析取子句永真。
主范式的构造方法
<1>主析取范式
按如下程序将命题公式
A
A
A的析取范式转换为逻辑等价的主析取范式
C
C
C:
- 以析取范式中每个析取联结词 ∨ \vee ∨为界限划分合取子句;
- 对当前合取子句中的文字按下标数字从小到大排序;
- 检查当前合取子句是否包含所有 A A A的命题变元;
- 若无缺失编号,则跳过当前的合取子句,检查后一个合取子句;
- 若有缺失编号,则将缺失的最小编号标记为 i ( i ∈ N + , 1 ≤ i ≤ n ) i(i \in \mathbb{N^{+}},1\le i \le n) i(i∈N+,1≤i≤n);
- 在当前合取子句 A j ( j ∈ N + , 1 ≤ j ≤ 2 n ) A_{j}(j \in \mathbb{N^{+}},1\le j \le 2^{n}) Aj(j∈N+,1≤j≤2n)末尾合取真命题 T T T,利用排中律 p i ∨ ¬ p i ⇔ T p_{i} \vee \neg p_{i} \Leftrightarrow T pi∨¬pi⇔T添加缺失的命题变元 p i p_{i} pi;
- 利用分配律 A j ∧ ( p i ∨ ¬ p i ) ⇔ ( A j ∧ p i ) ∨ ( A j ∧ ¬ p i ) A_{j}\wedge \left ( p_{i} \vee \neg p_{i} \right ) \Leftrightarrow \left ( A_{j}\wedge p_{i} \right ) \vee \left ( A_{j}\wedge \neg p_{i} \right ) Aj∧(pi∨¬pi)⇔(Aj∧pi)∨(Aj∧¬pi),将 p i p_{i} pi和 ¬ p i \neg p_{i} ¬pi并入新的合取子句中。
- 利用恒等律 A ∧ T ⇔ A A \wedge T\Leftrightarrow A A∧T⇔A; A ∨ F ⇔ A A\vee F\Leftrightarrow A A∨F⇔A,同一律 A ∧ F ⇔ F A\wedge F\Leftrightarrow F A∧F⇔F; A ∨ T ⇔ T A\vee T\Leftrightarrow T A∨T⇔T,排中律 A ∨ ¬ A ⇔ T A\vee \neg A\Leftrightarrow T A∨¬A⇔T,矛盾律 A ∧ ¬ A ⇔ F A\wedge \neg A\Leftrightarrow F A∧¬A⇔F化简范式。
- 循环以上步骤2~7,当析取范式中的所有合取子句都包含所有 n n n个命题变元时,程序结束,所得公式 C C C为 A A A的主析取范式。
<2>主合取范式
按如下程序将命题公式
A
A
A的合取范式转换为逻辑等价的主合取范式
D
D
D:
- 以合取范式中每个合取联结词 ∧ \wedge ∧为界限划分析取子句;
- 对当前析取子句中的文字按下标数字从小到大排序;
- 检查当前析取子句是否包含所有 A A A的命题变元;
- 若无缺失编号,则跳过当前的析取子句,检查后一个析取子句;
- 若有缺失编号,则将缺失的最小编号标记为 i ( i ∈ N + , 1 ≤ i ≤ n ) i(i \in \mathbb{N^{+}},1\le i \le n) i(i∈N+,1≤i≤n);
- 在当前析取子句 A j ( j ∈ N + , 1 ≤ j ≤ 2 n ) A_{j}(j \in \mathbb{N^{+}},1\le j \le 2^{n}) Aj(j∈N+,1≤j≤2n)末尾析取假命题 F F F,利用矛盾律 p i ∧ ¬ p i ⇔ F p_{i} \wedge \neg p_{i} \Leftrightarrow F pi∧¬pi⇔F添加缺失的命题变元 p i p_{i} pi;
- 利用分配律 A j ∨ ( p i ∧ ¬ p i ) ⇔ ( A j ∨ p i ) ∧ ( A j ∨ ¬ p i ) A_{j}\vee \left ( p_{i} \wedge \neg p_{i} \right ) \Leftrightarrow \left ( A_{j} \vee p_{i} \right ) \wedge \left ( A_{j}\vee \neg p_{i} \right ) Aj∨(pi∧¬pi)⇔(Aj∨pi)∧(Aj∨¬pi),将 p i p_{i} pi和 ¬ p i \neg p_{i} ¬pi并入新的析取子句中。
- 利用恒等律 A ∧ T ⇔ A A \wedge T\Leftrightarrow A A∧T⇔A; A ∨ F ⇔ A A\vee F\Leftrightarrow A A∨F⇔A,同一律 A ∧ F ⇔ F A\wedge F\Leftrightarrow F A∧F⇔F; A ∨ T ⇔ T A\vee T\Leftrightarrow T A∨T⇔T,排中律 A ∨ ¬ A ⇔ T A\vee \neg A\Leftrightarrow T A∨¬A⇔T,矛盾律 A ∧ ¬ A ⇔ F A\wedge \neg A\Leftrightarrow F A∧¬A⇔F化简范式。
- 循环以上步骤2~7,当合取范式中的所有析取子句都包含所有 n n n个命题变元时,程序结束,所得公式 D D D为 A A A的主合取范式。
极小项与极大项
设命题公式
A
A
A有
n
n
n个命题变元,主合取范式为
C
C
C,主析取范式为
D
D
D。
已知
A
⇔
C
A \Leftrightarrow C
A⇔C,
A
⇔
D
A \Leftrightarrow D
A⇔D,则
A
A
A,
C
C
C,
D
D
D都在同一个等价类内,由于
A
A
A归属的等价类的成真赋值和成假赋值已经完全确定,所以主范式的唯一性证明思路是从给定命题公式
A
A
A的成真赋值和成假赋值出发,构造唯一的主范式。
定义3.5 极小项 极大项
设合取子句有
n
n
n个命题变元,若在合取子句中,每个命题变元对应的正负文字恰好都出现过一次,且只出现一次,而且所有文字按照下标
i
∈
[
1
,
n
]
i \in \left [ 1,n \right ]
i∈[1,n],
i
∈
N
+
i\in \mathbb{N}^{+}
i∈N+从小到大排序或字典排序,则称这样的合取子句为极小项,记为
m
i
m_{i}
mi,
主析取范式是极小项的析取范式。
设合取子句有
n
n
n个命题变元,若在析取子句中,每个命题变元对应的正负文字恰好都出现过一次,且只出现一次,而且所有文字按照下标
i
∈
[
1
,
n
]
i \in \left [ 1,n \right ]
i∈[1,n],
i
∈
N
+
i\in \mathbb{N}^{+}
i∈N+从小到大排序或字典排序,则称这样析取子句为极大项,记为
M
i
M_{i}
Mi。
主合取范式是极大项的合取范式。
定理3.2
n n n个命题变元 ( p 1 , p 2 , ⋯ , p i , ⋯ , p n ) \left ( p_{1},p_{2},\cdots ,p_{i},\cdots ,p_{n} \right ) (p1,p2,⋯,pi,⋯,pn)对应的极小项 m i m_{i} mi和极大项 M i M_{i} Mi满足 ¬ m i ⇔ M i \neg m_{i}\Leftrightarrow M_{i} ¬mi⇔Mi, m i ⇔ ¬ M i m_{i}\Leftrightarrow \neg M_{i} mi⇔¬Mi。
定理3.3 主范式的唯一性
任何命题公式的主析取范式和主合取范式都存在,且具有唯一性。
A
A
A为永真式或永假式的情形过于平凡,略。
<1>主析取范式的唯一性
按如下流程从成真赋值构造主析取范式:
- 列出命题公式 A A A的真值表,找出所有的成真赋值;
- 找出一组成真赋值 α = ( α 1 , α 2 , ⋯ , α i , ⋯ , α n ) ( i , n ∈ N + , 1 ≤ i ≤ n , α i ∈ { 0 , 1 } ) \alpha=\left ( \alpha _{1},\alpha _{2},\cdots ,\alpha _{i},\cdots ,\alpha _{n} \right )( i,n\in \mathbb{N^{+},1\le i \le n },\alpha _{i}\in \left \{ 0,1 \right \} ) α=(α1,α2,⋯,αi,⋯,αn)(i,n∈N+,1≤i≤n,αi∈{0,1})和对应的命题变元 ( p 1 , p 2 , ⋯ , p i , ⋯ , p n ) \left ( p_{1},p_{2},\cdots ,p_{i},\cdots ,p_{n} \right ) (p1,p2,⋯,pi,⋯,pn);
- 将成真赋值 α = ( α 1 , α 2 , ⋯ , α i , ⋯ , α n ) \alpha=\left ( \alpha _{1},\alpha _{2},\cdots ,\alpha _{i},\cdots ,\alpha _{n} \right ) α=(α1,α2,⋯,αi,⋯,αn)表示为 n n n位二进制数 α 1 α 2 … α i … α n \alpha _{1}\alpha _{2}\dots \alpha _{i}\dots\alpha _{n} α1α2…αi…αn,二进制数的第 i i i位表示对应的赋值 α i \alpha _{i} αi;
- 若二进制数的第 i i i位等于1,则正文字 p i p_{i} pi出现在极小项 m i m_{i} mi中,若二进制数的第 i i i位等于0,则负文字 ¬ p i \neg p_{i} ¬pi出现在极小项 m i m_{i} mi中,由此得到的 n n n个命题变元或命题变元的否定,合取即为一个极小项 m i m_{i} mi;
- 析取每个成真赋值对应的极小项 m i m_{i} mi,组成命题公式 A A A的主析取范式。
<2>主合取范式的唯一性
按如下流程从成假赋值构造主合取范式:
- 列出命题公式 A A A的真值表,找出所有的成假赋值;
- 找出一组成假赋值 α = ( α 1 , α 2 , ⋯ , α i , ⋯ , α n ) ( i , n ∈ N + , 1 ≤ i ≤ n , α i ∈ { 0 , 1 } ) \alpha=\left ( \alpha _{1},\alpha _{2},\cdots ,\alpha _{i},\cdots ,\alpha _{n} \right )( i,n\in \mathbb{N^{+},1\le i \le n },\alpha _{i}\in \left \{ 0,1 \right \} ) α=(α1,α2,⋯,αi,⋯,αn)(i,n∈N+,1≤i≤n,αi∈{0,1})和对应的命题变元 ( p 1 , p 2 , ⋯ , p i , ⋯ , p n ) \left ( p_{1},p_{2},\cdots ,p_{i},\cdots ,p_{n} \right ) (p1,p2,⋯,pi,⋯,pn);
- 将成假赋值 α = ( α 1 , α 2 , ⋯ , α i , ⋯ , α n ) \alpha=\left ( \alpha _{1},\alpha _{2},\cdots ,\alpha _{i},\cdots ,\alpha _{n} \right ) α=(α1,α2,⋯,αi,⋯,αn)表示为 n n n位二进制数 α 1 α 2 … α i … α n \alpha _{1}\alpha _{2}\dots \alpha _{i}\dots\alpha _{n} α1α2…αi…αn,二进制数的第 i i i位表示对应的赋值 α i \alpha _{i} αi;
- 若二进制数的第 i i i位等于1,则正文字 p i p_{i} pi出现在极大项 M i M_{i} Mi中,若二进制数的第 i i i位等于0,则负文字 ¬ p i \neg p_{i} ¬pi出现在极大项 M i M_{i} Mi中,由此得到的 n n n个命题变元或命题变元的否定,析取即为一个极大项 M i M_{i} Mi;
- 合取每个成假赋值对应的极大项 M i M_{i} Mi,组成命题公式 A A A的主合取范式。
真值函数
定义3.6 真值函数
以逻辑联结词为运算符,定义域,值域均为 B B B的函数称为真值函数,每个给定的真值函数 F ( p 1 , p 2 , … , p i , … , p n ) F\left ( p_{1},p_{2},\ldots ,p_{i} ,\ldots ,p_{n} \right ) F(p1,p2,…,pi,…,pn), 1 ≤ i ≤ n 1\le i\le n 1≤i≤n都有唯一的等价类与之一一对应,使得给定的真值函数与相应的等价类中的每个公式(尤其是主范式)都等值。