主范式
命题公式的主范式包括主析取范式和主合取范式两种。
【定义1.17】在含有
n
n
n个文字的简单合取式中,若每个命题符号和其否定不同时存在,而二者之一必须出现且只出现一次,且第i个命题变元或其否定出现在从左边算起的第i个位置(若命题变元无下标,则按字典顺序排列),这样的简单合取式称为极小项 。
【定义1.18】若析取范式中的简单合取式都是极小项,则称该析取方式为主析取范式。
[例]请说明
x
∧
(
¬
x
∨
y
)
<
=
>
(
x
∧
¬
x
)
∨
(
x
∧
y
)
x∧(¬x∨y)<=>(x∧¬x)∨(x∧y)
x∧(¬x∨y)<=>(x∧¬x)∨(x∧y)是否为主析取范式。
解:首先公式中含有两个变元(x,y),则其析取范式中的每个简单合取式(包括(x∧¬x)、(x∧y))中必须满足:①、每个命题符号和其否定不能同时存在,(x∧¬x)不满足这一点,(x∧y)满足;②、每个命题符号或其否定中的一个必须出现且只能出现一次, (x∧¬x)不满足这一点,(x∧y)满足;③、第i个命题变元或其否定出现在从左边算起的第i个位置上。由于字典序为x、y,所以从左边起第一个只能是x或¬x,第二个只能是y或¬y。 (x∧¬x)不满足这一点,(x∧y)满足。综上可得上式不满足。证毕。
可以列举出全体极小项为:
m
00...00
=
¬
x
1
∧
¬
x
2
∧
.
.
.
∧
¬
x
i
∧
.
.
.
∧
¬
x
n
m_{00...00}=¬x_1∧¬x_2∧...∧¬x_i∧...∧¬x_n
m00...00=¬x1∧¬x2∧...∧¬xi∧...∧¬xn
m
00...01
=
x
1
∧
¬
x
2
∧
.
.
.
∧
¬
x
i
∧
.
.
.
∧
¬
x
n
m_{00...01}=x_1∧¬x_2∧...∧¬x_i∧...∧¬x_n
m00...01=x1∧¬x2∧...∧¬xi∧...∧¬xn
m
00...10
=
¬
x
1
∧
x
2
∧
.
.
.
∧
¬
x
i
∧
.
.
.
∧
¬
x
n
m_{00...10}=¬x_1∧x_2∧...∧¬x_i∧...∧¬x_n
m00...10=¬x1∧x2∧...∧¬xi∧...∧¬xn
.
.
.
...
...
m
11...11
=
x
1
∧
x
2
∧
.
.
.
∧
x
i
∧
.
.
.
∧
x
n
m_{11...11}=x_1∧x_2∧...∧x_i∧...∧x_n
m11...11=x1∧x2∧...∧xi∧...∧xn
故,共有
2
n
2^n
2n个极小项(
n
n
n为命题变元的个数
¬
x
1
与
x
1
¬x_1与x_1
¬x1与x1算一个)。
任意的公式A都可以由其对应的极小项来表示:
A
<
=
>
γ
0
m
0
∨
γ
1
m
1
∨
γ
2
m
2
∨
γ
3
m
3
∨
.
.
.
∨
γ
2
n
−
1
m
2
n
−
1
,
其
中
γ
i
取
0
或
1
。
m
i
对
应
与
上
面
的
全
体
极
小
项
中
二
进
制
下
标
对
应
相
等
的
一
项
A<=>\gamma_0m_0∨\gamma_1m_1∨\gamma_2m_2∨\gamma_3m_3∨...∨\gamma_{2^n-1}m_{2^n-1},其中\gamma_i取0或1。m_i对应与上面的全体极小项中二进制下标对应相等的一项
A<=>γ0m0∨γ1m1∨γ2m2∨γ3m3∨...∨γ2n−1m2n−1,其中γi取0或1。mi对应与上面的全体极小项中二进制下标对应相等的一项故,可以由公式A的真值表和A对命题变元所确定的全体极小项来求出
γ
i
\gamma_i
γi的值,从而实现公式A的主析取范式化。
[例]
x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn | A = f ( x 1 , x 2 , . . . , x n ) A=f(x_1,x_2,...,x_n) A=f(x1,x2,...,xn) | γ i \gamma_i γi |
---|---|---|
0 , 0 , . . . 0 0,0,...0 0,0,...0 | 1 | γ 0 = 1 \gamma_0=1 γ0=1 |
1 , 0 , . . . 0 1,0,...0 1,0,...0 | 0 | γ 1 = 0 \gamma_1=0 γ1=0 |
. . . ... ... | 1 | γ i = 1 \gamma_i=1 γi=1 |
1 , 1 , . . . 1 1,1,...1 1,1,...1 | 1 | γ n − 1 = 1 \gamma_{n-1}=1 γn−1=1 |
故
A
<
=
>
m
0
+
m
i
+
m
n
−
1
A <=>m_0+m_i+m_{n-1}
A<=>m0+mi+mn−1
到这里我才真正的感受到了数理逻辑的魅力,是不是很牛逼!!你觉得呢??
【定理1.10】任何含
n
n
n个变元的非矛盾式的命题公式都存在唯一的与之等值的主析取范式。
生成一个公式的主析取范式的算法如下:
(1)先求出该公式的一个析取范式。
(2)如果该析取范式的某个简单合取式A中既不含有某个命题符号
x
x
x,也不含有
¬
x
¬x
¬x,则该简单合取式变为如下形式:
(
A
∧
x
)
∨
(
A
∧
¬
x
)
(A∧x)∨(A∧¬x)
(A∧x)∨(A∧¬x)。这样做的正确性由等值式(E6)和(E13)保证(数理逻辑(离散数学)学习笔记(2)的【定理1.2】)。
(3)消除重复出现的命题变元或命题变元的否定,矛盾式及重复出现的极小项,并将每个极小项的命题符号或其否定按下标顺序或字典顺序排列。
[例]求
(
¬
x
→
y
)
∧
(
x
→
z
)
(¬x→y)∧(x→z)
(¬x→y)∧(x→z)的主析取范式。
方法一:
step1:先化为析取范式:
(
¬
x
→
y
)
∧
(
x
→
z
)
<
=
>
(
y
∧
¬
x
)
∨
(
x
∧
z
)
∨
(
y
∧
z
)
(¬x→y)∧(x→z)<=>(y∧¬x)∨(x∧z)∨(y∧z)
(¬x→y)∧(x→z)<=>(y∧¬x)∨(x∧z)∨(y∧z)
step2:判断是否为主析取范式,不是则变为主析取范式
式中共有三个变元,所以器每个几下想都应该含有且仅含有一次这三个变元或其否定。故step1中得到的不是主析取范式。
(
y
∧
¬
x
)
<
=
>
(
y
∧
¬
x
∧
¬
z
)
∨
(
y
∧
¬
x
∧
z
)
.
.
.
.
.
.
.
①
(y∧¬x)<=>(y∧¬x∧¬z)∨(y∧¬x∧z).......①
(y∧¬x)<=>(y∧¬x∧¬z)∨(y∧¬x∧z).......①
(
x
∧
z
)
<
=
>
(
y
∧
x
∧
z
)
∨
(
¬
y
∧
x
∧
z
)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
②
(x∧z)<=>(y∧x∧z)∨(¬y∧x∧z)..............②
(x∧z)<=>(y∧x∧z)∨(¬y∧x∧z)..............②
(
y
∧
z
)
<
=
>
(
y
∧
x
∧
z
)
∨
(
y
∧
¬
x
∧
z
)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
③
(y∧z)<=>(y∧x∧z)∨(y∧¬x∧z)..............③
(y∧z)<=>(y∧x∧z)∨(y∧¬x∧z)..............③
step3:将step2中重复出现的极小项只取一次,且按照字典序放置每一个变元。然后形成主析取范式。
在step2中,将重复出现的极小项只取一次,且按照字典序放置每一个变元。
(
¬
x
→
y
)
∧
(
x
→
z
)
<
=
>
(
¬
x
∧
y
∧
¬
z
)
∨
(
¬
x
∧
y
∧
z
)
∨
(
x
∧
y
∧
z
)
∨
(
x
∧
¬
y
∧
z
)
.
.
.
.
.
结
束
(¬x→y)∧(x→z)<=>(¬x∧y∧¬z)∨(¬x∧y∧z)∨(x∧y∧z)∨(x∧¬y∧z).....结束
(¬x→y)∧(x→z)<=>(¬x∧y∧¬z)∨(¬x∧y∧z)∨(x∧y∧z)∨(x∧¬y∧z).....结束
方法二:
真值表技术
x x x | y y y | z z z | ( ¬ x → y ) ∧ ( x → z ) (¬x→y)∧(x→z) (¬x→y)∧(x→z) | γ i \gamma_i γi | m i m_i mi |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | γ 000 = 0 \gamma_{000}=0 γ000=0 | m 000 m_{000} m000 |
1 | 0 | 0 | 0 | γ 100 = 0 \gamma_{100}=0 γ100=0 | m 100 m_{100} m100 |
0 | 1 | 0 | 1 | γ 010 = 1 \gamma_{010}=1 γ010=1 | m 010 m_{010} m010 |
1 | 1 | 0 | 0 | γ 110 = 0 \gamma_{110}=0 γ110=0 | m 110 m_{110} m110 |
0 | 0 | 1 | 0 | γ 001 = 0 \gamma_{001}=0 γ001=0 | m 001 m_{001} m001 |
1 | 0 | 1 | 1 | γ 101 = 1 \gamma_{101}=1 γ101=1 | m 101 m_{101} m101 |
0 | 1 | 1 | 1 | γ 011 = 1 \gamma_{011}=1 γ011=1 | m 011 m_{011} m011 |
1 | 1 | 1 | 1 | γ 111 = 1 \gamma_{111}=1 γ111=1 | m 111 m_{111} m111 |
由真值表可得:
A
=
γ
000
m
000
∨
γ
100
m
100
∨
γ
010
m
010
∨
γ
001
m
001
∨
γ
101
m
101
∨
γ
011
m
011
∨
γ
111
m
111
A = \gamma_{000}m_{000}∨\gamma_{100}m_{100}∨\gamma_{010}m_{010}∨\gamma_{001}m_{001}∨\gamma_{101}m_{101}∨\gamma_{011}m_{011}∨\gamma_{111}m_{111}
A=γ000m000∨γ100m100∨γ010m010∨γ001m001∨γ101m101∨γ011m011∨γ111m111
将真值表的
γ
i
\gamma_i
γi值代入得:
(
¬
x
→
y
)
∧
(
x
→
z
)
<
=
>
(
¬
x
∧
y
∧
¬
z
)
∨
(
¬
x
∧
y
∧
z
)
∨
(
x
∧
y
∧
z
)
∨
(
x
∧
¬
y
∧
z
)
.
.
.
.
.
结
束
(¬x→y)∧(x→z)<=>(¬x∧y∧¬z)∨(¬x∧y∧z)∨(x∧y∧z)∨(x∧¬y∧z).....结束
(¬x→y)∧(x→z)<=>(¬x∧y∧¬z)∨(¬x∧y∧z)∨(x∧y∧z)∨(x∧¬y∧z).....结束
【定义1.19】在含有
n
n
n个文字的简单析取式中,若每个命题符号和其否定不同时存在,而二者之一必须出现且只出现一次,且第
i
i
i个命题变元或者否定出现在从左边算起的第
i
i
i个位置上(若命题变元无下标,则按照字典序排列),这样的简单析取式称为极大项。
【定理1.11】任何含有
n
n
n个变元的非重言式(永真式)的命题公式都存在唯一的与之等值的主合取范式。
全体极大项为:
M
11...11
=
¬
x
1
∨
¬
x
2
∨
.
.
.
∨
¬
x
i
∨
.
.
.
∨
¬
x
n
M_{11...11}=¬x_1∨¬x_2∨...∨¬x_i∨...∨¬x_n
M11...11=¬x1∨¬x2∨...∨¬xi∨...∨¬xn
M
11...10
=
x
1
∨
¬
x
2
∨
.
.
.
∨
¬
x
i
∨
.
.
.
∨
¬
x
n
M_{11...10}=x_1∨¬x_2∨...∨¬x_i∨...∨¬x_n
M11...10=x1∨¬x2∨...∨¬xi∨...∨¬xn
M
11...01
=
¬
x
1
∨
x
2
∨
.
.
.
∨
¬
x
i
∨
.
.
.
∨
¬
x
n
M_{11...01}=¬x_1∨x_2∨...∨¬x_i∨...∨¬x_n
M11...01=¬x1∨x2∨...∨¬xi∨...∨¬xn
.
.
.
...
...
M
00...00
=
x
1
∨
x
2
∨
.
.
.
∨
x
i
∨
.
.
.
∨
x
n
M_{00...00}=x_1∨x_2∨...∨x_i∨...∨x_n
M00...00=x1∨x2∨...∨xi∨...∨xn
共有
2
n
2^n
2n个极大项。
【定义1.20】若取合取范式中的简单析取式都是极大项,则称该合取式为主合取范式。
利用基本等值式求一个公式的主合取范式的步骤:
(1)先求出该公式的合取范式
(2)如果该合取范式的某个简单析取式A中既不含有某个命题符号也不含有其否定,则该简单析取式变为如下形式:
(
A
∨
x
)
∧
(
A
∨
¬
x
)
(A∨x)∧(A∨¬x)
(A∨x)∧(A∨¬x)
(3)消除重复出现的命题变元或命题变元的否定、重言式和重复出现的极大项,并将每个极大项的命题符号或者其否定按下标顺序或字典序排列。
[例]试依据下表所示的真值表,求出命题公式A的主析取范式和主合取范式。
x x x | y y y | A |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
解:求主析取范式:
m
00
=
¬
x
∧
¬
y
m_{00} = ¬x∧¬y
m00=¬x∧¬y
m
01
=
¬
x
∧
y
m_{01} = ¬x∧y
m01=¬x∧y
m
10
=
x
∧
¬
y
m_{10} = x∧¬y
m10=x∧¬y
m
11
=
x
∧
y
m_{11} = x∧y
m11=x∧y
故,有上表可得
A
<
=
>
(
¬
x
∧
¬
y
)
∨
(
x
∧
y
)
A <=>( ¬x∧¬y)∨( x∧y)
A<=>(¬x∧¬y)∨(x∧y)
求主合取范式:
M
00
=
x
∨
y
M_{00} = x∨y
M00=x∨y
M
01
=
x
∨
¬
y
M_{01} = x∨¬y
M01=x∨¬y
M
10
=
¬
x
∨
y
M_{10} = ¬x∨y
M10=¬x∨y
M
11
=
¬
x
∨
¬
y
M_{11} = ¬x∨¬y
M11=¬x∨¬y
故,由上表可得
A
<
=
>
(
x
∨
¬
y
)
∧
(
¬
x
∨
y
)
A <=>( x∨¬y)∧( ¬x∨y)
A<=>(x∨¬y)∧(¬x∨y)