主范式
命题公式的主范式包括主析取范式和主合取范式两种。
【定义1.17】在含有nnn个文字的简单合取式中,若每个命题符号和其否定不同时存在,而二者之一必须出现且只出现一次,且第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)满足。综上可得上式不满足。证毕。
可以列举出全体极小项为:
m00...00=¬x1∧¬x2∧...∧¬xi∧...∧¬xnm_{00...00}=¬x_1∧¬x_2∧...∧¬x_i∧...∧¬x_nm00...00=¬x1∧¬x2∧...∧¬xi∧...∧¬xn
m00...01=x1∧¬x2∧...∧¬xi∧...∧¬xnm_{00...01}=x_1∧¬x_2∧...∧¬x_i∧...∧¬x_nm00...01=x1∧¬x2∧...∧¬xi∧...∧¬xn
m00...10=¬x1∧x2∧...∧¬xi∧...∧¬xnm_{00...10}=¬x_1∧x_2∧...∧¬x_i∧...∧¬x_nm00...10=¬x1∧x2∧...∧¬xi∧...∧¬xn
.........
m11...11=x1∧x2∧...∧xi∧...∧xnm_{11...11}=x_1∧x_2∧...∧x_i∧...∧x_nm11...11=x1∧x2∧...∧xi∧...∧xn
故,共有2n2^n2n个极小项(nnn为命题变元的个数¬x1与x1¬x_1与x_1¬x1与x1算一个)。
任意的公式A都可以由其对应的极小项来表示:A<=>γ0m0∨γ1m1∨γ2m2∨γ3m3∨...∨γ2n−1m2n−1,其中γi取0或1。mi对应与上面的全体极小项中二进制下标对应相等的一项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的主析取范式化。
[例]
x1,x2,...,xnx_1,x_2,...,x_nx1,x2,...,xn | A=f(x1,x2,...,xn)A=f(x_1,x_2,...,x_n)A=f(x1,x2,...,xn) | γi\gamma_iγi |
---|---|---|
0,0,...00,0,...00,0,...0 | 1 | γ0=1\gamma_0=1γ0=1 |
1,0,...01,0,...01,0,...0 | 0 | γ1=0\gamma_1=0γ1=0 |
......... | 1 | γi=1\gamma_i=1γi=1 |
1,1,...11,1,...11,1,...1 | 1 | γn−1=1\gamma_{n-1}=1γn−1=1 |
故A<=>m0+mi+mn−1A <=>m_0+m_i+m_{n-1}A<=>m0+mi+mn−1
到这里我才真正的感受到了数理逻辑的魅力,是不是很牛逼!!你觉得呢??
【定理1.10】任何含nnn个变元的非矛盾式的命题公式都存在唯一的与之等值的主析取范式。
生成一个公式的主析取范式的算法如下:
(1)先求出该公式的一个析取范式。
(2)如果该析取范式的某个简单合取式A中既不含有某个命题符号xxx,也不含有¬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).....结束
方法二:
真值表技术
xxx | yyy | zzz | (¬x→y)∧(x→z)(¬x→y)∧(x→z)(¬x→y)∧(x→z) | γi\gamma_iγi | mim_imi |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | γ000=0\gamma_{000}=0γ000=0 | m000m_{000}m000 |
1 | 0 | 0 | 0 | γ100=0\gamma_{100}=0γ100=0 | m100m_{100}m100 |
0 | 1 | 0 | 1 | γ010=1\gamma_{010}=1γ010=1 | m010m_{010}m010 |
1 | 1 | 0 | 0 | γ110=0\gamma_{110}=0γ110=0 | m110m_{110}m110 |
0 | 0 | 1 | 0 | γ001=0\gamma_{001}=0γ001=0 | m001m_{001}m001 |
1 | 0 | 1 | 1 | γ101=1\gamma_{101}=1γ101=1 | m101m_{101}m101 |
0 | 1 | 1 | 1 | γ011=1\gamma_{011}=1γ011=1 | m011m_{011}m011 |
1 | 1 | 1 | 1 | γ111=1\gamma_{111}=1γ111=1 | m111m_{111}m111 |
由真值表可得:A=γ000m000∨γ100m100∨γ010m010∨γ001m001∨γ101m101∨γ011m011∨γ111m111A = \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】在含有nnn个文字的简单析取式中,若每个命题符号和其否定不同时存在,而二者之一必须出现且只出现一次,且第iii个命题变元或者否定出现在从左边算起的第iii个位置上(若命题变元无下标,则按照字典序排列),这样的简单析取式称为极大项。
【定理1.11】任何含有nnn个变元的非重言式(永真式)的命题公式都存在唯一的与之等值的主合取范式。
全体极大项为:
M11...11=¬x1∨¬x2∨...∨¬xi∨...∨¬xnM_{11...11}=¬x_1∨¬x_2∨...∨¬x_i∨...∨¬x_nM11...11=¬x1∨¬x2∨...∨¬xi∨...∨¬xn
M11...10=x1∨¬x2∨...∨¬xi∨...∨¬xnM_{11...10}=x_1∨¬x_2∨...∨¬x_i∨...∨¬x_nM11...10=x1∨¬x2∨...∨¬xi∨...∨¬xn
M11...01=¬x1∨x2∨...∨¬xi∨...∨¬xnM_{11...01}=¬x_1∨x_2∨...∨¬x_i∨...∨¬x_nM11...01=¬x1∨x2∨...∨¬xi∨...∨¬xn
.........
M00...00=x1∨x2∨...∨xi∨...∨xnM_{00...00}=x_1∨x_2∨...∨x_i∨...∨x_nM00...00=x1∨x2∨...∨xi∨...∨xn
共有2n2^n2n个极大项。
【定义1.20】若取合取范式中的简单析取式都是极大项,则称该合取式为主合取范式。
利用基本等值式求一个公式的主合取范式的步骤:
(1)先求出该公式的合取范式
(2)如果该合取范式的某个简单析取式A中既不含有某个命题符号也不含有其否定,则该简单析取式变为如下形式:(A∨x)∧(A∨¬x)(A∨x)∧(A∨¬x)(A∨x)∧(A∨¬x)
(3)消除重复出现的命题变元或命题变元的否定、重言式和重复出现的极大项,并将每个极大项的命题符号或者其否定按下标顺序或字典序排列。
[例]试依据下表所示的真值表,求出命题公式A的主析取范式和主合取范式。
xxx | yyy | A |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
解:求主析取范式:
m00=¬x∧¬ym_{00} = ¬x∧¬ym00=¬x∧¬y
m01=¬x∧ym_{01} = ¬x∧ym01=¬x∧y
m10=x∧¬ym_{10} = x∧¬ym10=x∧¬y
m11=x∧ym_{11} = x∧ym11=x∧y
故,有上表可得A<=>(¬x∧¬y)∨(x∧y)A <=>( ¬x∧¬y)∨( x∧y)A<=>(¬x∧¬y)∨(x∧y)
求主合取范式:
M00=x∨yM_{00} = x∨yM00=x∨y
M01=x∨¬yM_{01} = x∨¬yM01=x∨¬y
M10=¬x∨yM_{10} = ¬x∨yM10=¬x∨y
M11=¬x∨¬yM_{11} = ¬x∨¬yM11=¬x∨¬y
故,由上表可得A<=>(x∨¬y)∧(¬x∨y)A <=>( x∨¬y)∧( ¬x∨y)A<=>(x∨¬y)∧(¬x∨y)