离散数学试题及答案
离散数学试题(A卷答案)
一、证明题(10分)
1) (P∧Q∧A?C)∧(A?P∨Q∨C)? (A∧(P?Q))?C。
证明: (P∧Q∧A?C)∧(A?P∨Q∨C)
?(?P∨?Q∨?A∨C)∧(?A∨P∨Q∨C) ?(?P∨?Q∨?A∨C)∧(?A∨P∨Q∨C) ?((?P∨?Q∨?A)∧(?A∨P∨Q))∨C ??((P∧Q∧A)∨(A∧?P∧?Q))∨C ??( A∧((P∧Q)∨(?P∧?Q)))∨C ??( A∧(P?Q))∨C ?(A∧(P?Q))?C
2) ?(P?Q)? ?P??Q。
证明:?(P?Q)??(?(P∧Q))??(?P∨?Q))??P??Q。 二、分别用真值表法和公式法求(P?(Q∨R))∧(?P∨(Q?R))的主析取范式与主合取范式,并写出其相应的成真赋值和成假赋值(15分)。
证明:
公式法:因为(P?(Q∨R))∧(?P∨(Q?R))
?(?P∨Q∨R)∧(?P∨(Q∧R)∨(?Q∧?R)) ?(?P∨Q∨R)∧(((?P∨Q)∧(?P∨R))∨(?Q∧
?R))
?(?P∨Q∨R)∧(?P∨Q∨?Q)∧(?P∨Q∨?R)∧
(?P∨R∨?Q)∧(?P∨R∨?R)
?(?P∨Q∨R)∧(?P∨Q∨?R)∧(?P∨?Q∨R) ?M4∧M5∧M6 ?m0∨m1∨m2∨m3∨m7
所以,公式(P?(Q∨R))∧(?P∨(Q?R))为可满足式,其相应的成真赋值为000、001、010、011、111:成假赋值为:100、101、110。
真值表法:
P Q Q?R P?(Q∨R R) 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1
?P∨(P?(Q∨R))∧(?P∨(Q?R) (Q?R)) 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1
由真值表可知,公式(P?(Q∨R))∧(?P∨(Q?R))为可满足式,其相应的成真赋值为000、001、010、011、111:成假赋值为:100、101、110。 三、推理证明题(10分)
1)?P∨Q,?Q∨R,R?SP?S。
证明:(1)P 附加前提 (2)?P∨Q P
(3)Q T(1)(2),I (4)?Q∨R P
(5)R T(3)(4),I (6)R?S P
(7)S T(5)(6),I (8)P?S CP
2) ?x(P(x)?Q(y)∧R(x)),?xP(x)?Q(y)∧?x(P(x)∧R(x))
证明(1)?xP(x) (2)P(a)
(3)?x(P(x)?Q(y)∧R(x)) (4)P(a)?Q(y)∧R(a) (5)Q(y)∧R(a) (6)Q(y) (7)R(a) (8)P(a)
(9)P(a)∧R(a) (10)?x(P(x)∧R(x)) (11)Q(y)∧?x(P(x)∧R(x))
四、某班有学生60人,其中有38人学习PASCAL语言,有16人学习C语言,有21人学习COBOL语言;有3个人这三种语言都学习,有2个人这三种语言都不学习,问仅学习两门语言的学生数是多少?(10分)
解 设 、 、 分别表示学习PASCAL语言、C语言、COBOL语言的学生组成的集合,则|A|=38,|B|=16,|C|=21,|A∩B∩C|=3,|A∩B∩C|=2。
|A∪B∪C|=60-|A∩B∩C|=58 由容斥原理,得
|A∪B∪C|=|A|+|B|+|C|―|A∩B|―|A∩C|―|B∩C|+|A∩B∩C|
所以
|A∩B|+|A∩C|+|B∩C|=|A|+|B|+|C|+|A∩B∩C|―|A∪B∪C|=38+16+21+3―58=20
又因为
|A∩B∩C|=|A∩B|―|A∩B∩C| 所以
|A∩B∩C|+|A∩B∩C|+|A∩B∩C|=|A∩B|+|A∩C|+|B∩C|―3|A∩B∩C|=20-9=11
仅学习两门语言的学生数是11人。
五、已知A、B、C是三个集合,证明(A∪B)-C=(A-C)∪(B-C) (10分)
证明:因为
x∈(A∪B)-C?x∈(A∪B)-C
?x∈(A∪B)∧x?C ?(x∈A∨x∈B)∧x?C
?(x∈A∧x?C)∨(x∈B∧x?C) ?x∈(A-C)∨x∈(B-C) ?x∈(A-C)∪(B-C)
所以,(A∪B)-C=(A-C)∪(B-C)。
六、已知R、S是N上的关系,其定义如下:R={
解:R-1={
七、证明:R是传递的?R*R?R(10分)。
证明 若R是传递的,则
反之,若R*R?R,则对任意的x、y、z∈A,如果xRz且zRy,则