命题与联结词
命题:非真非假的陈述句
这朵花真美丽! × 不是陈述句
我正在说假话 × 悖论
真值:只有唯一的真
或假
,作为陈述句的判断结果
x大于y,其中x和y是任意的两个数 × 不确定
火星上有水 √ 虽然目前未知,但是客观存在且唯一
对于不能分解的命题称作“简单命题”或“原子命题”,可分的是复合命题
2是偶素数 复合命题
小王与王丽是同学 原子命题
我们可以将命题符号化,用0表示假,用1表示真
2是偶素数 p:2是偶数 q:2是素数 1
我们可以将联结词符号化:
定义1.1
“非p”为p的否定式,记作\(\lnot p\),\(\lnot\)为否定联结词
规定\(\lnot p\)为真当且仅当\(p\)为假
定义1.2
“p与q”为p与q的合取式,记作\(p\land q\),\(\land\)为合取联结词
规定\(p\land q\)为真当且仅当\(p,q\)同时为真
一假为假
-
\(\land\)的灵活性,语言中有很多表达方式
他既用功又聪明 他不仅用功而且聪明 ……
-
有时自然语言中的“与”、“和”并不是\(\land\)
小王与王丽是同学 原子命题
定义1.3
"p与q"为p与q的析取式,记作\(p\lor q\),\(\lor\)为析取联结词
规定\(p\lor q\)为假当且仅当\(p,q\)同时为假
一真为真
\(\lor\)和自然语言的“或”不一样:
-
相容性
他爱听音乐或爱唱歌 可以只爱音乐或者只爱唱歌,或者两个都爱
-
排斥性
他只能挑选202或者203房间 p:挑202 q:挑203 此时不能同时满足,如果用p∨q则错误
表达排斥性应该用:\((p\land \lnot q)\lor (\lnot p\land q)\)
他是江西人或安徽人 p:他是江西人 q:他是安徽人 按照上面的例子,用(p∧┐q)∨(┐p∧q) 但是!同时是江西人和安徽人不可能同时发生,所以可以用p∨q
定义1.4
“如果p,则q”称为p与q的蕴含式,记作\(p\to q\),p是蕴含式的前件,q是蕴含式的后件。\(\to\)称作蕴含联结词。
规定\(p\to q\)为假当且仅当 p为真 q为假(\(1\to 0 =0\))
'1不能指向0'
\(p \to q\)的逻辑关系的\(q\)是\(p\)的必要条件
注意,p,q不一定要有传统语境下的关系
\(p:a能被4整除\)
\(q:a能被2整除\)
只要a能被4整除,则a一定能被2整除\(p \to q\)
只有a能被4整除,a才能被2整除\(q\to p\)
注意:2.中 被4 是 被2整除 的必要条件,所以 被2 指向 被4
定义1.5
p,q的等价式,记作\(q\leftrightarrow q\),\(\leftrightarrow\)为等价联结词
规定\(q\leftrightarrow q\)为真当且仅当q与q同时为真或同时为假
与\((p \to q)\land(q \to p)\)逻辑关系一样
优先级:
\((),\lnot ,\land , \lor ,\to , \leftrightarrow\)
同一优先级至左向右
命题公式及其赋值
命题公式(合式公式,公式)
- 命题常量,命题常元:真值确定
- 命题变量,命题变元,命题变项,变量(逻辑代数中):取值1或者0
用联结词和圆括号把命题和命题变项按照一定规则连接起来的符号串, 常用A,B,C等表示.
公式的层次
找最多层的变量
\(( \lnot(p\to\lnot q))\land((r\lor s)\leftrightarrow\lnot p)\) 4层,q是最内层的
公式的赋值
对公式中每一个命题变项给定一个值(0或1).
000 001 002 .....
成真赋值:使公式为真的赋值.
成假赋值:使公式为假的赋值.
构建真值表
- 列出\(2^n\) (有限)个赋值,从00...0开始,每次加一
- 从内到外写出各个层次的真值
结果分类
- 各种赋值都为假,称为矛盾式或永假式
- 不是矛盾式,就是可满足式
- 各种赋值都为真,为重言式或永言式
哑元
A有p和q,B有p q r,其中对与公式A,B来说,r就是A的哑元
命题逻辑等值演算
等值式
等价式\(A\leftrightarrow B\)是重言式,则称A与B等值,记作\(A\Leftrightarrow B\)
在逻辑代数中称为逻辑函数的相等
判断是否为等值式:
- 真值表法
- 利用基本等值式进行等值演算法
判断是否为不等值:
- 真值表法
- 观察法,找一个赋值给A与B,一个真一个假
- 用等值演算法化简,再观察
基本等值式
记忆&规律:
-
双否定律:\(\lnot \lnot A \Leftrightarrow A\)
德摩根律:\(\lnot(A\lor B)\Leftrightarrow\lnot A \land \lnot B\) 、\(\lnot(A\land B)\Leftrightarrow\lnot A \lor \lnot B\)
假言易位:\(A \to B \Leftrightarrow \lnot B \to \lnot A\)
都与“否”有关,双否可以构建德摩根律,德摩根律就是把“否”划入括号中,每一项取否,\(\land\)与\(\lor\)互换 ,假言易位还要改变指向
-
幂等律:\(A\lor A \Leftrightarrow A\)、\(A\land A \Leftrightarrow A\)
同一律:\(A\lor 0 \Leftrightarrow A\)、\(A\land 1 \Leftrightarrow A\)
无论是\(\land\)与\(\lor\),只要两个相同的变元,就可以去掉一个
与0析取不变,与1合取不变
-
交换律:\(A \lor B \Leftrightarrow B \lor A\)、\(A \land B \Leftrightarrow B \land A\)
结合律:\((A \lor B) \lor C \Leftrightarrow A \lor (B \lor C)\)、\((A \land B) \land C \Leftrightarrow A \land (B \land C)\)
很基本的定律,注意结合律,交换结合的几项之间是一样的联结词(要么都是\(\lor\)要么都是\(\land\))
-
结合律:\(A \lor (B \land C) \Leftrightarrow (A \lor B) \land (A \lor C)\)、\(A \land (B \lor C) \Leftrightarrow (A \land B) \lor (A \land C)\)
吸收律:\(A \lor (A \land B) \Leftrightarrow A\)、\(A \land (A \lor B) \Leftrightarrow A\)
结合律和吸收律都是\(\land\)与\(\lor\)的混合,其中结合律外部的联结词到了内部,内部联结词到了外面
结合律的逆过程也需要熟练,特点是内部联结词相同,并与外部联结词不同,每个内部有相同的变元A
吸收律中的\(A\)可以看作\((A \land 1)\)或\((A \lor 0)\)(同一律),替换以后用结合律的逆过程就可以推导出来
-
零律:\(A \lor 1 \Leftrightarrow 1\)、\(A \land 0 \Leftrightarrow 0\)
排中律:\(A \lor \lnot A \Leftrightarrow 1\)
矛盾律:\(A \land \lnot A \Leftrightarrow 0\)
零律告诉我们,析取1一定为1,合取0一定为0,与同一律效果不同
观察零律和同一律,A与1和0的结果,不是自身就是1或者0,如果不是自身,和0取结果就是0,和1取结果就是1
排中律和矛盾律是A与非A之间的性质,结果一定是0或者1
-
蕴含等值式:\(A \to B \Leftrightarrow \lnot A \lor B\)
等价等值式:\(A \leftrightarrow B \Leftrightarrow (A \to B) \land (B \to A)\)
蕴含等值式需要记忆,“非 A V B”,等价等值式拆开来中间是合取∧(意味着需要同时满足)
在数字逻辑中还出现了一些基本定理
-
消去律:\(A + \bar{A} \cdot B = A + B\)、\(A \cdot (\bar{A} + B)=A \cdot B\)
-
并项律:\(A \cdot B + A \cdot \bar{B} = A\)、\((A + B)\cdot(A+\bar{B})=A\)
消去律非常像吸收律,只是第二个\(A\)变成了\(\lnot A\),结果不是去掉B而是把\(\lnot A\)去掉
并项律分词容易推导,用结合律逆向推导即得证,当这是卡诺图的基本原理,非常重要
-
包含律:\(A \cdot B + \bar{A} \cdot C + B \cdot C = A \cdot B + \bar{A} \cdot C\)
理解:B,C都成立,前面两项至少成立一项
联结词完备集
如果任何n(n>1)元真值函数可以由S中的联结词表示,则S是联结词完备集
复合联结词
与非:\(p \uparrow q \Leftrightarrow \lnot(p\land q)\) "\(p,q\)有一个是0,结果为1(一假则真)"
或非:\(p \downarrow q \Leftrightarrow \lnot(p \lor q)\) "\(p,q\)有一个是1,结果为0(一真为假)"
想象一下,把\(\lor,\land\)尾部加一个尾巴变成\(\downarrow,\uparrow\)
范式
简单析取式与简单合取式
- 简单析取式:有限个命题变项及其否定构成的析取式
- 简单合取式:有限个命题变项及其否定构成的合取式
定理:
- 一个简单析取式是重言式 当且仅当 它同时含某个命题变项和它的否定(\(q \lor \lnot q\))
- 一个简单合取式是矛盾式 当且仅当 它同时含某个命题变项和它的否定(\(p \land \lnot p\))
以上定理是零律可以易证
析取范式和合取范式
-
析取范式:由有限个简单合取式组成的析取式
\(A_1 \lor A_2 \lor ...\lor A_r\),其中\(A_1,A_2,...,A_r\)是简单合取式
-
合取范式:由有限个简单析取式组成的合取式
\(A_1 \land A_2 \land ...\land A_r\),其中\(A_1,A_2,...,A_r\)是简单析取式
定理:
- 一个析取范式是矛盾式 当且仅当 它的每一个简单合取式都是矛盾式
- 一个合取范式是重言式 当且仅当 它的每一个简单析取式都是重言式
范式存在定理
任何命题公式都存在着与之等值的析取范式与合取范式
求范式的步骤:
-
消去公式的\(\to ,\leftrightarrow\)
\(A \to B \Leftrightarrow \lnot A \lor B\)
\(A \leftrightarrow B \Leftrightarrow (\lnot A \lor B)\land(\lnot B \lor A)\)
-
否定联结词\(\lnot\)的内移或消去
\(\lnot \lnot A \Leftrightarrow A\)
\(\lnot(A \lor B)\Leftrightarrow \lnot A \land \lnot B\)
\(\lnot(A \land B)\Leftrightarrow \lnot A \lor \lnot B\)
-
使用分配律
\(A \lor (B \land C) \Leftrightarrow (A \lor B) \land (A \lor C)\)
\(A \land (B \lor C) \Leftrightarrow (A \land B) \lor (A \land C)\)
极大项与极小项
定义2.17 在含有n个命题变项的简单合取式(简单析取式)中,若每个命题变项均以文字的形式出现且仅出现一次,而且i(1<=i<=n)个文字(按下标或字母顺序排列)出现在左起第i位上,称这样的简单合取式(简单析取式)为极小项(极大项)
-
简单析取式构成极大项、简单合取式构成极小项
-
析取是成假赋值,每一项都要假;合取是成真赋值,每一项都要真。特点是析取的成假和合取的成真有唯一性
-
极小项用小写,极大项用大写,赋值决定下标,下标最大为\(2^n -1\)
析取最大难假、合取最小难真
定理:
设\(m_i\)与\(M_i\)是由同一组命题变项形成的极小项和极大项,则\(\lnot m_i \Leftrightarrow M_i\),\(\lnot M_i \Leftrightarrow m_i\)
主析取范式与主合取范式
- 主析取范式:由极小项(合取)构成的析取范式
- 主合取范式:由极大项(析取)构成的合取范式
定理:
任何公式都存在着与之等值的主析取范式和主合取范式, 并且是惟一的。(析取范式和合取范式并不唯一)
求解步骤
通用快速解法:
-
用上面求范式的步骤,求取析取范式\(A=B_1 \lor B_2 \lor ... \lor B_n\)或合取范式\(A=B_1 \land B_2 \land ... \land B_n\)
-
对每一项\(B_n\)分析,看缺的命题变项,利用同一律的原理,补齐命题变项,每一个变项的顺序要一致
-
把每一项转换,析取范式中把合取转换为最小项,合取范式中把析取转换为最大限
例如:公式含\(p,q,r\)
\(q (缺p,r 补pq,p\lnot q,\lnot pq,\lnot p\lnot q) \\ \Leftrightarrow (p \land q \land r)\lor(\lnot p \land q \land r)\lor(p \land q \land \lnot r)\lor(\lnot p \land q \land \lnot r) \\ \Leftrightarrow m_2 \lor m_3 \lor m_6 \lor m_7\) -
析取利用\(\sum(...)\),合取利用\(\prod(...)\),把下标写到\(...\)中
快速转换:
已知主析取范式与主合取范式中的一个可以快速得到另一个
例:
\(A(含p,q,r) \Leftrightarrow m_0 \lor m_1 \lor m_3 \lor m_7 \Leftrightarrow M_2 \land M_4 \land M_5 \land M_6\)
用途
-
求公式的成真赋值和成假赋值
由于主析取范式是由最小项构成,合取最小难真,每一个最小项对应一个最小合取式成真赋值;析取一真为真,故主析取范式的下标对应一个公式的成真赋值
-
判断公式类型
可用主析取范式含有项的个数判断公式类型
-
判断两个公式是否等值
若主析取范式等值(都有相同的变项),则等值
逻辑函数的化简
简单来说,化简可以看作求主析取范式(在代数逻辑称作标准形式)的逆过程
代数化简法
与-或表达式化简利用基本定理(基本等值式)化简。
求或-与表达式可以用与-或表达式转换得来:两次对偶法——先对或-与表达式F求对偶\(F^,\),按与-或方法化简,再求对偶,即可得到F的或-与最简式
反演规则:\(\cdot\)变成\(+\),0变成1,1变成0,变量取反
对偶规则:\(\cdot\)变成\(+\),0变成1,1变成0,变量不变
两个逻辑表达式相等,其对偶式也相等
仔细看以上的例子,化简的第二行中出现\(A\bar{B}\)和\((B+\bar{A})\),这里的技巧是把\((B+\bar{A})\)转换为\(\overline{A\overline{B}}\),然后再用消去律
卡诺图法
卡诺图特点
- n个变量的卡诺图由\(2^n\)个小方格组成,每个小方格代表一个最小项
- 卡诺图在相邻、相对、相重的小方格之间为相邻最小项
- 相邻最小项就是两个最小项之间对应的赋值只有一个因子不同,在卡诺图上的体现就是相邻行、相邻列、相对行、相对列、重叠格之间只能有一个赋值是不一样的
例:
整张卡诺图有ABCDE 5个变量,n为5,一共有\(2^5=32\)个最小项
对于3分析相邻最小项:
- 1,7,2是相邻相邻最小项
- 11是相对相邻最小项
- 19是相重相邻最小项
观察DE列,00 01 11 10,其中01到11,而不是二进制加法的01到10。因为00 01 ....代表的是DE的赋值,从01(D:0,E:1)到10(D:1,E:0)时D E都改变了,而01(D:0,E:1)到11(D:1,E:1)只改变了D。所以写卡诺图时不能按照二进制加法书写。
逻辑函数在卡诺图上的表示
-
画出卡诺图外框,注意卡诺图的特点,相邻只能变化一个
-
当给出标准“与或表达式”时,将每一项对应的最小项填上1,其余项位0
-
0方格有时用空格表示
用卡诺图化简
求最简“与-或”表达式
- 用最大的圈把 相邻的1 圈起来形成卡诺圈,1必须被全覆盖,卡诺圈个数应该最少,每个1可以被多个卡诺圈包围
- 卡诺圈小方格必须是\(2^m\)个
- 观察每个卡诺圈中各最小项的赋值,把不变的赋值找出来
- 把不变的赋值对应的满足成真赋值的简单合取式写出来
- 卡诺圈有\(2^m\)个方格,写出来的简单合取式就有\((n-m)\)个变量
求最简“或-与”表达式
给出标准式F是“与-或”表达式
用两次取反法
- 画出F的卡诺图,求取反后的\(\bar{F}\)的最简“与-或”表达式
由于标准式的成真赋值取反以后就变成了成假赋值,剩下的成假赋值取反变成了成真赋值,在卡诺图上体现为\(\bar{F}\)的最小项是F卡诺图上的0。所以计算\(\bar{F}\)的最简“与-或”表达式可以直接圈F卡诺图的0,剩下的步骤相同。
-
得到的最简“与-或”表达式再次取反,得到最简“或-与”表达式
给出标准式F是“或-与”表达式
用两次对偶法
- 作出F对偶式\(F^,\)的卡诺图,求出\(F^,\)最简“与-或”表达式
- 对\(F^,\)最简“与-或”表达式再取对偶,得到F的最简“或-与”表达式
取对偶和取反不太一样,取反成真赋值会直接变成成假赋值,最大项变成最小项,取偶没有这个规律,需要把标准式写出来,用“对偶规则”转换,再写成标准式
与公式法的两次取对偶法思路相同
关于取反还是取对偶的思考
不管是取反还是取对偶,目的都是用“或-与”计算再转换成“与-或”,为了不改变原公式(逻辑函数),都需要取两次。
如果给出的是“与-或”表达式求“或-与”表达式,由于“与-或”本身方便计算,先画卡诺图,再利用取反的性质快速得到取反后的卡诺图
如果给出的是“或-与”表达式求“或-与”表达式,我们优先取对偶,但是取反也可以