逻辑命题公式计算
逻辑判断推理中常用的逻辑公式
逻辑命题与推理
必定性推理(演绎推理):对当关系推理.三段论.复合命题推理.关系推理和模态推理
可能性推理:归纳推理(列举归纳.科学归纳).类比推理
命题
直言命题的种类:(AEIOae)
⑴全称肯天命题:所有S是P(SAP)
⑵全称否天命题:所有S不是P(SEP)
⑶特称肯天命题:有的S是P(SIP)
⑷特称否天命题:有的S不是P(SOP)
⑸单称肯天命题:某个S是P(SaP)
⑹单称否天命题:某个S不是P(SeP)
直言命题间的真假对当关系:
抵触关系.(上)否决关系.(下)否决关系.从属关系
抵触关系:具有抵触关系的两个命题之间不克不及同真同假.重要有三组:SAP与SOP之间.“所有同窗测验都几个了”与“有些同窗测验不合格”
SEP与SIP之间.“所有同窗测验不合格”与“有些同窗测验合格”
SaP与SeP之间.“张三测验合格”与“张三测验不合格”
上否决关系:具有上否决关系的两个命题不克不及同真(必有一假),但是可以同假.即要么一个是假的,要么都是假的.消失于SAP与SEP.SAP与SeP.SEP与SaP之间.
下否决关系:具有下否决关系的两个命题不克不及同假(必有一真),但是可以同真.即要么一个是真的,要么两个都是真的.消失于SIP与SOP.SeP与SIP.SaP与SOP之间.从属关系(可推出关系):消失于SAP与SIP.SEP与SOP.SAP与SaP.SEP与SeP.SaP 与SIP.SeP与SOP
六种直言命题之间消失的对当关系可以用一个六角图形来暗示,“逻辑方阵图”
SAP SEP
SaP SeP
SIP SOP
逻辑联结词和四种命题公式
逻辑联结词和四种命题
1、逻辑联结词
(1)命题:一般地,我们把用语言、符号、式子表达的,可以判断真假的语句叫做命题其中判断为真的语句叫真命题,判断为假的语句叫假命题(2)逻辑联结词:“或”、“且”、“非”这些词叫做逻辑联结词
或:两个简单命题至少一个成立
且:两个简单命题都成立
非:对一个命题的否定
(3)简单命题与复合命题:不含逻辑联结词的命题叫简单命题;由简单命题和逻辑联结词构成的命题叫复合命题
(4)表达形式
用小写的拉丁字母p、 q 、 r 、 s……来表示简单命题
复合命题有三类:
① p或q ② p且q ③非p
(5)真值表:表示命题真假的表叫真值表
①非p
② p且q
③p或q
2、四种命题
(1)一般地,用p和q分别表示原命题的条件和结论,用┐p和┐q分别表示p和q的否定,于是四种命题的形式就是:
原命题:若p则 q(p q);
逆命题:若q则 p(q p);
否命题:若┐p则┐q(┐p┐q);
逆否命题:若┐q则┐p(┐q ┐p)
(2)四种命题的关系
原命题逆命题
否命题逆否命题
(3)一个命题的真假与其他三个命题的真假有如下四种关系
①原命题为真,它的逆命题不一定为真
②原命题为真,它的否命题不一定为真
③原命题为真,它的逆否命题一定为真
④逆命题为真,否命题一定为真
3、反证法证明命题的一般步骤
(1)否定结论
(2)从假设出发,经过推理论证得出矛盾
(3)断定假设错误,肯定结论成立
反证法属于间接证法,当证明一个结论成立,已知条件较少,或结论的情况较多,或结论是以否定形式出现,如某些结论中含有“至多”、“至少”、“唯一”、“不可能”、“不都”等指示性词语时往往考虑采用反证法证明结论成立。
逻辑判断推理中常用的逻辑公式
逻辑命题与推理
必然性推理(演绎推理):对当关系推理、三段论、复合命题推理、关系推理和模态推理
可能性推理:归纳推理(枚举归纳、科学归纳)、类比推理
命题
直言命题的种类:(AEIOae)
⑴全称肯定命题:所有S是P(SAP)
⑵全称否定命题:所有S不是P(SEP)
⑶特称肯定命题:有的S是P(SIP)
⑷特称否定命题:有的S不是P(SOP)
⑸单称肯定命题:某个S是P(SaP)
⑹单称否定命题:某个S不是P(SeP)
直言命题间的真假对当关系:
矛盾关系、(上)反对关系、(下)反对关系、从属关系
矛盾关系:具有矛盾关系的两个命题之间不能同真同假。主要有三组:
SAP与SOP之间。“所有同学考试都及格了”与“有些同学考试不及格”
SEP与SIP之间。“所有同学考试不及格”与“有些同学考试及格”
SaP与SeP之间。“张三考试及格”与“张三考试不及格”
上反对关系:具有上反对关系的两个命题不能同真(必有一假),但是可以同假。即要么一个是假的,要么都是假的。存在于SAP与SEP、SAP与SeP、SEP与SaP之间。
下反对关系:具有下反对关系的两个命题不能同假(必有一真),但是可以同真。即要么一个是真的,要么两个都是真的。存在于SIP与SOP、SeP与SIP、SaP与SOP之间。
从属关系(可推出关系):存在于SAP与SIP、SEP与SOP、SAP与SaP、SEP与SeP、SaP与SIP、SeP与SOP
六种直言命题之间存在的对当关系可以用一个六角图形来表示,“逻辑方阵图”
SAP SEP
SaP SeP
SIP SOP
直言命题的真假包含关系
命题逻辑基本推理公式
命题逻辑基本推理公式
(1) P∧Q⇒P .
(2)¬( P→Q)⇒P .
(3)¬(P→Q)⇒¬Q.
(4) P⇒P ∨Q.
(5)¬P⇒P →Q.
(6) Q⇒P →Q.
(7) ¬P∧(P∨Q) ⇒Q.选言推理否定式
(8) P∧(P→Q) ⇒Q. 假言推理肯定前件式
(9) ¬Q∧(P→Q) ⇒¬P .假言推理否定后件式
(10) (P→Q)∧(Q→R) ⇒P→R. 三段论
(11) (P↔ Q)∧(Q↔R) ⇒P↔R. 双条件三段论
(12) (P→R)∧(Q→R)∧( P ∨Q) ⇒R. 二难推理
(13) (P→Q)∧(R→S) ∧(P ∨R)⇒Q∨S. 二难推理
(14) (P→Q)∧(R→S) ∧¬(Q∨¬S)⇒¬P ∨¬R. 破坏二难推理
(15) (Q→R) ⇒(( P∨Q)→(P ∨R)) .
(16) (Q→R) ⇒(( P→Q)→(P→R)) .
使用真值表法证明这些推理公式是容易的。
若从语义上给予直观说明也是不难的. 如公式(2), ¬(P →Q) ⇒P . 公式( 3), ¬(P →Q)⇒Q. 意思是说, 若P →Q 不成立( 取假), 必有 P 为真, 还有 Q 为假. 这从P →Q 的定义可知, 因只有当 P = T 而 Q = F 时, P →Q = F. 又如公式( 7), ¬P ∧(P ∨Q)⇒Q. 意思是说, P 不对, 而P ∨Q 又对, 必然有 Q 对.
公式( 8) , P ∧(P →Q) ⇒Q 常称作假言推理, 或称作分离规则, 是最常使用的推理公式。
公式(10) , (P →Q) ∧(Q→R)⇒P →R 常称作三段论。
逻辑推理公式
直言命题
所有的都是上反对
必有一假
所有的都不是包
容矛盾
包
容
有的是必有一真
下反对有的不是
所有的A是B 上反对
必有一假
所有的A都不是B 包
容矛盾
包
容
有的A是B 必有一真
下反对有A的不是B
三段论
A→B
B→C
A→B 有的B是C
A→C 有的C是B
—B →—A 逆否(A→B的矛盾关系A∧—B)A→B 有的A→B
有的B→A
—A∨B
B→C
充分假言:前推后(A推B),肯前肯后,否后否前
如果A,那么B;只要A,就B 若A,则B
所有A,是B 凡是A,是B 为了A,一定B 为了A,必须B A指的就是B 除非不A,否则B
必要假言B推A
只有A,才B 没有A,就没有B 不A,不B
除非A,否则不B A是B的前提,保障,基础,条件/谁是条件谁在后
选言命题
P、Q √
相容性P∨Q —P、Q √
P、—Q √
选言—P、—Q ×
不相容性P∕Q 要么P要么Q
不是P就是Q
P∨Q的矛盾命题—(P∨Q)→—P ∧—Q
P∨Q= —P →Q
—Q →P
P∨Q 排中律排除一个选中一个必须先排
—A∨B = A→B (鲁宾逊定律)
—A∨B的矛盾命题是A∧—B A→B的矛盾命题是A∧—B
模态命题
必然P 上反对
必有一假
必然非P 包
容矛盾
包
容
可能P 必有一真
下反对可能非P
模态命题的具体关系
“并非必然P”等值于“可能非P”,即:不必然=可能不;“并非必然非P”等值于“可能P”,即:不必然不=可能;“并非可能P”等值于“必然非P”,即:不可能=必然不;“并非可能非P”等值于“必然P”,即:不可能不=必然;
模态命题与非模态命题的推出关系
必然P→P →可能P ;
07 命题逻辑等值式
离散数学基础
2017-11-17•定义:命题逻辑等值式
−给定两个命题公式 A、B,设 p1, p2,…… p n 为所有出现于 A、B 中的命题变量。
若对 p1, p2,…… p n 中的任何一组逻辑解释,A 和 B 的真值都相同,则称 A、B 是等值的或逻辑相等的。记为 A ⇔ B。
−p1, p2,…… p n 的所有逻辑解释总数为 2n 个。
•定义:命题逻辑等值式
−若两个命题公式 A、B 在任意的真值赋值函数 t : Var→{0,1} 下取得相同的真值,则称 A、B 是等值的(或逻辑相等的)。记为 A ⇔ B。
上述定义是前一个定义的等价定义, 利用了之前定义复合语句的真值时引用的真值赋值函数 t。我们马上意识到,使用真值表可以判断两个逻辑公式的等值性。
•定义:命题逻辑等值式
−例:证明 ¬p∨q ⇔ p→q
p q¬p¬p∨q p→q
00111
01111
10000
11011
在每个解释下, ¬p∨q 和 p→q 取相同的真值, 所以是一对等值式
•等值的基本性质
−对公式 A、B、C,按照等值的定义显然有:
»A ⇔ A;(自反性)
»若 A ⇔ B 则 B ⇔ A;(对称性)
»若 A ⇔ B 且 B ⇔ C 则 A ⇔ C。(传递性)
−具有自反性、对称性和传递性的关系称为等价关系。所以命题逻辑公式的等值性通常也称为等价性。
•定理:等值定理
−设命题公式 A、B,则 A ⇔ B iff A↔B 是重言式。
−证:
⇒ 若 A ⇔ B,则 A 与 B 在任意解释下都有相同的真值。由“↔”的定义,A↔B 只能取值1,即 A↔B 是重言式。
命题逻辑内定理
命题逻辑内定理
1. 同一律:对于任何命题p,p ∨ p ≡ p 和 p ∧ p ≡ p
2. 零律:对于任何命题p,p ∨ F ≡ p 和 p ∧ T ≡ p
3. 吸收律:对于任何命题p和q,p ∨ (p ∧ q) ≡ p 和 p ∧ (p ∨ q) ≡ p
4. 恒等律:对于任何命题p,p ∨ T ≡ T 和 p ∧ F ≡ F
5. 幂等律:对于任何命题p,p ∨ p ≡ p 和 p ∧ p ≡ p
6. 非律:对于任何命题p,p ∨ ¬p ≡ T 和 p ∧¬p ≡ F
7. 排中律:对于任何命题p,p ∨ ¬p ≡ T 和 p ∧ ¬p ≡ F
8. 同一否定律:对于任何命题p,p ∨ ¬p ≡ T 和 p ∧ ¬p ≡ F
9. 结合律:对于任何命题p、q和r,(p ∨ q) ∨ r ≡ p ∨ (q ∨r) 和 (p ∧ q) ∧ r ≡ p ∧ (q ∧ r)
10. 分配律:对于任何命题p、q和r,p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r) 和 p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r)
11. 狄摩根率:对于任何命题p和q,¬(p ∨ q) ≡ ¬p ∧ ¬q 和¬(p ∧ q) ≡ ¬p ∨ ¬q
12. 德摩根率的推广:对于任何命题p_1, p_2, ..., p_n,¬(p_1 ∨ p_2 ∨ ... ∨ p_n) ≡ ¬p_1 ∧ ¬p_2 ∧ ... ∧ ¬p_n 和 ¬(p_1 ∧p_2 ∧ ... ∧ p_n) ≡ ¬p_1 ∨ ¬p_2 ∨ ... ∨ ¬p_n
逻辑最基本的公式
逻辑最基本的公式
蕴含是逻辑中最基本的重要概念之一,可以用符号“→”表示。蕴含的定义是:“如果命题P成立,则命题Q也成立”。这可以用以下公式表示:
P→Q
其中,P被称为前提,Q被称为结论。这个公式意味着如果前提P成立,那么结论Q也必定成立。
蕴含有几个重要的特性:
1.反身性:一个命题蕴含它本身。即,P→P是恒成立的。
2.假言推理:如果有一个蕴含P→Q成立,又知道P成立,那么我们可以推断Q也成立。这被称为假言推理,也是常见的逻辑推理形式。
3.合成性:如果有两个蕴含P→Q和Q→R成立,那么我们可以推断出P→R也成立。这被称为合成性,表示多个蕴含的传递性。
此外,逻辑中还有一个重要的公式是“等价”。等价表示两个命题之间具有相同的真值,可以用符号“↔”表示。等价的定义是:“如果命题P成立,则命题Q也成立;反之亦然”。这可以用以下公式表示:P↔Q
等价命题具有以下几个特性:
1.反身性:一个命题等价于它自身。即,P↔P是恒成立的。
2.传递性:如果有两个等价P↔Q和Q↔R成立,那么我们可以推断出P↔R也成立。
3.双向假设推理:如果有一个等价P↔Q成立,我们可以根据其中一个命题的真值推断另一个命题的真值。
以上是逻辑中最基本的公式,蕴含和等价。它们是逻辑推理的基础,适用于许多领域,如数学、哲学、计算机科学等。透彻理解和应用这些公式,有助于我们进行严密的逻辑思考和推理。
逻辑判断必背公式
以下是一些逻辑判断必背公式:
1.逆否命题:A→B 的逆否命题为非B→非A。
2.摩根定律:非A 且非B=非(A 或B);非A 或非B=A 且B 的否
定。
3.直言命题的矛盾关系:“所有S 是P”与“有些S 不是P”;“所有S
不是P”与“有些S 是P”;“某个S 是P”与“某个S 不是P”。4.直言命题的推出关系:所有S 是P→某个S 是P→有些S 是P;
所有S 不是P→某个S 不是P→有些S 不是P。
5.模态命题的矛盾关系:必然P 与可能非P;必然非P 与可能P。
6.充分条件假言命题的推理规则:如果A,那么B;A→B;非B→
非A。
7.必要条件假言命题的推理规则:只有A,才B;B→A;非A→非B。
逻辑判断推理中常用的逻辑公式
逻辑判断推理中常用的
逻辑公式
文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-
逻辑命题与推理
必然性推理(演绎推理):对当关系推理、三段论、复合命题推理、关系推理和模态推理
可能性推理:归纳推理(枚举归纳、科学归纳)、类比推理
命题
直言命题的种类:(AEIOae)
⑴全称肯定命题:所有S是P(SAP)
⑵全称否定命题:所有S不是P(SEP)
⑶特称肯定命题:有的S是P(SIP)
⑷特称否定命题:有的S不是P(SOP)
⑸单称肯定命题:某个S是P(SaP)
⑹单称否定命题:某个S不是P(SeP)
直言命题间的真假对当关系:
矛盾关系、(上)反对关系、(下)反对关系、从属关系
矛盾关系:具有矛盾关系的两个命题之间不能同真同假。主要有三组:
SAP与SOP之间。“所有同学考试都及格了”与“有些同学考试不及格”
SEP与SIP之间。“所有同学考试不及格”与“有些同学考试及格”
SaP与SeP之间。“张三考试及格”与“张三考试不及格”
上反对关系:具有上反对关系的两个命题不能同真(必有一假),但是可以同假。即要么一个是假的,要么都是假的。存在于SAP与SEP、SAP与SeP、SEP与SaP之间。
下反对关系:具有下反对关系的两个命题不能同假(必有一真),但是可以同真。即要么一个是真的,要么两个都是真的。存在于SIP与SOP、SeP与SIP、SaP与SOP之间。
从属关系(可推出关系):存在于SAP与SIP、SEP与SOP、SAP与SaP、SEP与SeP、SaP与SIP、SeP与SOP
逻辑判断推理中常用的逻辑公式
逻辑命题与推理之杨若古兰创作
必定性推理(归纳推理):对当关系推理、三段论、复合命题推理、关系推理和模态推理
可能性推理:归纳推理(枚举归纳、科学归纳)、类比推理
命题
婉言命题的品种:(AEIOae)
⑴全称肯定命题:所有S是P(SAP)
⑵全称否定命题:所有S不是P(SEP)
⑶特称肯定命题:有的S是P(SIP)
⑷特称否定命题:有的S不是P(SOP)
⑸单称肯定命题:某个S是P(SaP)
⑹单称否定命题:某个S不是P(SeP)
婉言命题间的真假对当关系:
矛盾关系、(上)反对关系、(下)反对关系、从属关系
矛盾关系:具有矛盾关系的两个命题之间不克不及同真同假.次要有三组:SAP与SOP之间.“所有同学考试都几个了”与“有些同学考试不及格”
SEP与SIP之间.“所有同学考试不及格”与“有些同学考试及格”
SaP与SeP之间.“张三考试及格”与“张三考试不及格”
上反对关系:具有上反对关系的两个命题不克不及同真(必有一假),但是可以同假.即要末一个是假的,要末都是假的.存在于SAP与SEP、SAP与SeP、SEP与SaP之间.
下反对关系:具有下反对关系的两个命题不克不及同假(必有一真),但是可以同真.即要末一个是真的,要末两个都是真的.存在于SIP与SOP、SeP与SIP、SaP 与SOP之间.
从属关系(可推出关系):存在于SAP与SIP、SEP与SOP、SAP与SaP、SEP与
SeP、SaP与SIP、SeP与SOP
六种婉言命题之间存在的对当关系可以用一个六角图形来暗示,“逻辑方阵图” SAP SEP
SaP SeP
逻辑判断推理中常用的逻辑公式
逻辑命题与推理
必然性推理(演绎推理):对当关系推理、三段论、复合命题推理、关系推理和模态推理
可能性推理:归纳推理(枚举归纳、科学归纳)、类比推理
命题
直言命题的种类:(AEIOae)
⑴全称肯定命题:所有S是P(SAP)
⑵全称否定命题:所有S不是P(SEP)
⑶特称肯定命题:有的S是P(SIP)
⑷特称否定命题:有的S不是P(SOP)
⑸单称肯定命题:某个S是P(SaP)
⑹单称否定命题:某个S不是P(SeP)
直言命题间的真假对当关系:
矛盾关系、(上)反对关系、(下)反对关系、从属关系
矛盾关系:具有矛盾关系的两个命题之间不能同真同假。主要有三组:
SAP与SOP之间。“所有同学考试都及格了”与“有些同学考试不及格”
SEP与SIP之间。“所有同学考试不及格”与“有些同学考试及格”
SaP与SeP之间。“张三考试及格”与“张三考试不及格”
上反对关系:具有上反对关系的两个命题不能同真(必有一假),但是可以同假。即要么一个是假的,要么都是假的。存在于SAP与SEP、SAP与SeP、SEP与SaP之间。
下反对关系:具有下反对关系的两个命题不能同假(必有一真),但是可以同真。即要么一个是真的,要么两个都是真的。存在于SIP与SOP、SeP与SIP、SaP与SOP之间。
从属关系(可推出关系):存在于SAP与SIP、SEP与SOP、SAP与SaP、SEP与SeP、SaP与SIP、SeP与SOP
六种直言命题之间存在的对当关系可以用一个六角图形来表示,“逻辑方阵图”
SAP SEP
SaP SeP
SIP SOP
直言命题的真假包含关系
数理逻辑考点整理
一、命题逻辑
1、公式定义:
(1)单个命题变元是命题公式。
(2)如果A, B是命题公式,则(~A), (A∧B), (A∨B), (A→B), (A↔B)都是命题公式。
(~,∧,∨,→,↔,左边高于右边。)
2、公理:
Ax1 ├α→(β→α)
Ax2 ├ (α→β→γ)→(α→β) →α→γ
Ax3 ├(¬α→¬β)→β→α
3、推理规则:
由α,α→β得β
4、证明:
从公理出发的证明:
(1)称α是P的一个内定理,记作├α
(2)如果存在公式序列α1,α2 ,α3,……αn=α,其中每个αk,或是公理,或是由序列中αk前面的公式经由推理法则得到。
从公式集出发的证明:
Σ├α当且仅当存在公式序列α1,α2 ,α3,……αn=α,其中任意的αk,要么是公理,要么αk∈Σ,要么是由前面两条由推理法则得到。
5、证明的例子:
二、一阶逻辑
1、公式的定义:
(1)原子公式是公式
(2)若φ,ψ是公式,则(¬φ),(φ→ψ),是公式
(3)若φ是公式,x是某个个体变元则(∀xφ)是公式
2、公理:
Ax1: A→B→A
Ax2: (A→B→C)→(A →B)→A→C
Ax3: (¬A→¬B)→(B→A)
Ax4: ∀x(A(x)→B(x)) →(∀xA(x)→∀xB(x))
Ax5: ∀xA(x)→A(x/t)
Ax6: A→∀xA x∉FV(φ)
Ax7: ∀x(x≡x)
Ax8: ∀x1,y1,…,xn,yn (x1≡y1→x2≡y2→…→xn≡yn →f(x1,x2…xn)≡f(y1,y2,…,yn)) Ax9: ∀x1,y1,…,xn,yn (x1≡y1→x2≡y2→…→xn≡yn →r(x1,x2…xn)→r(y1,y2,…,yn)) Ax10: ∀xA, A是公理
逻辑判断推理中常用的逻辑公式
逻辑命题与推理
必然性推理(演绎推理):对当关系推理、三段论、复合命题推理、关系推理和模态推理
可能性推理:归纳推理(枚举归纳、科学归纳)、类比推理
命题
直言命题的种类:(AEIOae)
⑴全称肯定命题:所有S是P(SAP)
⑵全称否定命题:所有S不是P(SEP)
⑶特称肯定命题:有的S是P(SIP)
⑷特称否定命题:有的S不是P(SOP)
⑸单称肯定命题:某个S是P(SaP)
⑹单称否定命题:某个S不是P(SeP)
直言命题间的真假对当关系:
矛盾关系、(上)反对关系、(下)反对关系、从属关系
矛盾关系:具有矛盾关系的两个命题之间不能同真同假。主要有三组:
SAP与SOP之间。“所有同学考试都几个了”与“有些同学考试不及格”
SEP与SIP之间。“所有同学考试不及格”与“有些同学考试及格”
SaP与SeP之间。“张三考试及格”与“张三考试不及格”
上反对关系:具有上反对关系的两个命题不能同真(必有一假),但是可以同假。即要么一个是假的,要么都是假的。存在于SAP与SEP、SAP与SeP、SEP与SaP之间。
下反对关系:具有下反对关系的两个命题不能同假(必有一真),但是可以同真。即要么一个是真的,要么两个都是真的。存在于SIP与SOP、SeP与SIP、SaP与SOP之间。
从属关系(可推出关系):存在于SAP与SIP、SEP与SOP、SAP与SaP、SEP与SeP、SaP与SIP、SeP与SOP
六种直言命题之间存在的对当关系可以用一个六角图形来表示,“逻辑方阵图”
SAP SEP
SaP SeP
SIP SOP
直言命题的真假包含关系
常用的命题等价公式
(2)( p q) p q r 解 : ( p q) p q r (p q) p q r (p p) (q p) q r 0 (q p) q r (q p) q r (q p) q r (q p) q r q p q r 1 r 0 r 0 该公式是永假式
1 ((Q1 R2) (Q1 R2)) (R1 Q 3 P 1 R3) (Q1 R2 R1 Q 3 P 1 R3) (Q1 R2 R1 Q 3 P 1 R3)
由于中国队不能与韩国队并列第一,即第一项为0,所 Q1 R2 R1 Q 3 P 1 R3 1 以
证明: p r q r
p r q r p q r p q r p q r
3 p q r q r p r r p q r q r p r p q r q r p r p q r q p r p q r p q r p q p q r
0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1
0
逻辑判断推理中常用的逻辑公式
逻辑命题与推理
必然性推理(演绎推理):对当关系推理、三段论、复合命题推理、关系推理与模态推理
可能性推理:归纳推理(枚举归纳、科学归纳)、类比推理
命题
直言命题得种类:(AEIOae)
⑴全称肯定命题:所有S就是P(SAP)
⑵全称否定命题:所有S不就是P(SEP)
⑶特称肯定命题:有得S就是P(SIP)
⑷特称否定命题:有得S不就是P(SOP)
⑸单称肯定命题:某个S就是P(SaP)
⑹单称否定命题:某个S不就是P(SeP)
直言命题间得真假对当关系:
矛盾关系、(上)反对关系、(下)反对关系、从属关系
矛盾关系:具有矛盾关系得两个命题之间不能同真同假。主要有三组:
SAP与SOP之间。“所有同学考试都及格了"与“有些同学考试不及格”
SEP与SIP之间、“所有同学考试不及格”与“有些同学考试及格"
SaP与SeP之间。“张三考试及格”与“张三考试不及格”
上反对关系:具有上反对关系得两个命题不能同真(必有一假),但就是可以同假、即要么一个就是假得,要么都就是假得、存在于SAP与SEP、SAP与SeP、SEP与SaP之间。
下反对关系:具有下反对关系得两个命题不能同假(必有一真),但就是可以同真。即要么一个就是真得,要么两个都就是真得。存在于SIP与SOP、SeP与SIP、SaP与SOP之间。
从属关系(可推出关系):存在于SAP与SIP、SEP与SOP、SAP与SaP、SEP与SeP、SaP与SIP、SeP与SOP 六种直言命题之间存在得对当关系可以用一个六角图形来表示,“逻辑方阵图”
SAPSEP
SaP SeP
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题号:第一题
题目:电梯模拟
1,需求分析:
计算命题演算公式的真值
所谓命题演算公式是指由逻辑变量(其值为TRUE或FALSE)和逻辑运算符∧(AND)、∨(OR)和┐(NOT)按一定规则所组成的公式(蕴含之类的运算可以用∧、∨和┐来表示)。公式运算的先后顺序为┐、∧、∨,而括号()可以改变优先次序。已知一个命题演算公式及各变量的值,要求设计一个程序来计算公式的真值。
要求:
(1)利用二叉树来计算公式的真值。首先利用堆栈将中缀形式的公式变为后缀形式;然后根据后缀形式,从叶结点开始构造相应的二叉树;最后按后序遍历该树,求各子树之值,即每到达一个结点,其子树之值已经计算出来,当到达根结点时,求得的值就是公式之真值。
(2)逻辑变元的标识符不限于单字母,而可以是任意长的字母数字串。
(3)根据用户的要求显示表达式的真值表。
2,设计:
2.1 设计思想:
<1>,数据结构设计:
(1) 线性堆栈1的数据结构定义
typedef struct
{
DataType stack [MaxStackSize];
int top; /* 当前栈的表长*/
} SeqStack;
用线性堆栈主要是用来存储输入的字符,它的作用就是将中缀表达式变成后缀表达式。
(2) 线性堆栈2的数据结构定义
typedef struct
{
BiTreeNode *stack [MaxStackSize];
int top; /* 当前栈的表长*/
} TreeStack;
这个堆栈和上面的堆栈的唯一不同就是它们存储的数据的类型不同,此堆栈存储的是树节点,它的作用是将后缀表达式构成一棵二叉树。
(3)树节点数据结构定义
typedef struct Node
{
DataType data;
struct Node *leftChild;
struct Node *rightChild;
}BiTreeNode;
<2>算法设计详细思路如下:
首先实现将中缀表达式变成后缀表达式:
在将中缀表达式变成后缀表达式的时候会用到堆栈,因此首先需要初始化一个堆栈。又由于逻辑变元可能是字符也可能是字符串,所以它又不同于将单字符的逻辑变元的中缀表达式变成后缀表达式。我的设计是这样的,我将中缀表达式变成后缀表达式的过程分成了两部:化简(将一维的复杂的中缀表达式变成一维的简单的中缀表达式,并将字符串逻辑变元存放在二维数组中),转化(将化简后的中缀表达式变成后缀表达式)。
(1)化简:先用一个字符数组存放输入的中缀表达式(表达式以‘#’号结束),然后将一维的中缀表达式中的字符串逻辑变元用一个字符进行标识,这样我们就可以将原来复杂的中缀表达式变成熟悉而又简单的中缀表达式,同时用二维数组存放那些字符串逻辑变元。实现的过程就是首先扫描一维中缀表达式,如果遇到逻辑符号,那么记住这个逻辑符号在数组中的相对位置用一个变量存放,然后继续扫描中缀表达式直到再次遇到逻辑符号,再一次记住它在中缀表达式中的相对位置,这两个逻辑符号之间的部分就是一个完整的逻辑变元,将这个字符串逻辑变元用一个字符代替并将这个字符串逻辑变元保存在二维数组中。这个过程的实现我把它放在change()函数中。
(2)转化:在实现该功能时,首先需要定义各符号的优先级,即:'(' 和')' 的优先级最高;'!'(逻辑非号)的优先级次之;'&'(逻辑与号)的优先级又低一级,'|'(逻辑或号)的优先级跟低;'#' (他不是逻辑符号,只是为了方便使用堆栈而设置)的优先级最低,接着将'#'压入堆栈。在这之后就是正式的转化了,其过程为:当读到的是逻辑变元时直接输出,并保存到保存后缀表达式的数组中,当读到的单词为运算符时,令x1为当前栈顶运算符的变量,x2为当前扫描到的简单中缀表达式的运算符的变量,把当前读入的单词赋予变量x2,然后比较x1和x2的优先级。若x1的优先级高于x2的优先级,将x1退栈作为后缀表达式的一个单词输出,然后接着比较新的栈顶运算符x1的优先级与x2的优先级;若x1的优先级低于x2的优先级,将x2的值进栈,然后接着读下一个单词;若x1的优先级等于x2的优先级且x1为“(”,x2为“)”,将x1退栈,然后接着读下一个单词;若x1的优先级等于x2的优先级且x1为“#”,x2为“#”,算法结束。这个过程我把它放在InToPost()函数中。
然后用后缀表达式构造出二叉树:
在这个过程中,我用到了之前所定义的存放树的堆栈。具体实现为:扫描后缀表达式,如果遇到逻辑变元然后将这个变元变成一个树节点,它的实现就是将该逻辑变元赋给树的data域,然后将它的左右子树赋为NULL,然后将这个树节点压入相应的堆栈;接着继续扫描,如果遇到的是单目运算符(非号“!”)也将它构造成一个树节点然后从堆栈里面弹出一个树形节点,将弹出的元素的作为它的左子树,右子树设置为NULL,然后将这个树节点压入相应的堆栈;如果扫描到的是双目运算符(与号“&”或者或号“|”)将它也构造成一棵树,然后将这个树节点压入相应的堆栈,然后从栈中弹出两个元素,一个作为它的左子树,一个作为它的右子树,如此重复n(n为后缀表达式的长度)次。这个过程我把它放在Maketree()函数中。
最后打印真值表:
打印真值表也用到了前面的简单的后缀表达式,其实现的基本思想为和构造二叉树差不多,它实现了每到一个根节点就计算一个运算的值。在打印之前需要统计字符的个数,有m个字符则要打印2^m行,因为他有这么多情况。具体实现为:用一个字符型的数组来存放每个元素的一次取值,然后扫描后缀表达式,如果遇到逻辑变元就通过这个标识将相应的取值赋给它,然后它压入堆栈;接着继续扫描,如果遇到的是单目运算符(非号“!”)则从堆栈里面弹出一个元素,并对它进行非运算,然后又将这个运算后的值压入堆栈;如果扫描到的是双目运算符(与号“&”或者或号“|”)则从栈中弹出两个元素,并对这两个元素进行相应的运算,然后将这个运算后的值压入堆栈,如此重复n(n为后缀表达式的长度)次。这个过程我把它放在Print()函数中。
其中第一,二过程的流程图描述分别为: