谓词逻辑练习及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章谓词逻辑
练习一
1、指出下列谓词公式中的量词及其辖域,指出各自由变元和约束变元,并回答它们是否是命题:
(1)∀x(P(x)∨Q(x))∧R (R为命题常元)
(2)∀x(P(x)∧Q(x))∧∃xS(x)→T(x)
(3)∀x(P(x)→∃y(B(x,y)∧Q(y))∨T(y))
(4)P(x)→(∀y∃x(P(x)∧B(x,y))→P(x))
解(1)全称量词∀,辖域P(x)∨Q(x),其中x为约束变元,∀x(P(x)∨Q(x))∧R是命题。
(2)全称量词∀,辖域P(x)∨Q(x),其中x为约束变元。
存在量词∃,辖域S(x) ,其中x为约束变元。
T(x)中x为自由变元。∀x(P(x)∧Q(x))∧∃xS(x)→T(x)不是命题。
(3)全称量词∀,辖域P(x)→∃y(B(x,y)∧Q(y))∨T(y),其中x为约束变元,T(y)中y为自由变元。存在量词∃,辖域B(x,y)∧Q(y),其中y为约束变元。∀x(P(x)→∃y(B(x,y)∧Q(y))∨T(y))是命题。
(4)全称量词∀,辖域∃x(P(x)∧B(x,y)),其中y为约束变元。
存在量词∃,辖域P(x)∧B(x,y),其中x为约束变元。
不在量词辖域中的P(x)中的x为自由变元。P(x)→(∀y∃x(P(x)∧B(x,y))→P(x))
不是命题。
2、对个体域{0,1}判定下列公式的真值, E(x)表示“x是偶数”:
(1)∀x(E(x)→┐x=1)
(2)∀x(E(x)∧┐x=1)
(3)∃x(E(x)∧x=1)
(4)∃x(E(x)→x=1)
再将它们的量词消去,表示成合取或析取命题公式,鉴别你所确定的真值是否正确。
解(1)∀x(E(x)→┐x=1) 真
∀x(E(x)→┐x=1) 可表示成命题公式(E(0)→┐0=1)∧(E(1)→┐1=1)
其中E(0)→┐0=1真,E(1)→┐1=1也真,故(E(0)→┐0=1)∧(E(1)→┐1=1)真。
(2)∀x(E(x)∧┐x=1) 假
∀x(E(x)∧┐x=1) 可表示成命题公式(E(0) ∧┐0=1)∧(E(1) ∧┐1=1)
其中E(0) ∧┐0=1真,但E(1) ∧┐1=1假,故(E(0) ∧┐0=1)∧(E(1) ∧┐1=1)假。
(3)∃x(E(x)∧x=1) 假
∃x(E(x)∧x=1) 可表示成命题公式(E(0)∧0=1) ∨(E(1)∧1=1)
其中E(0)∧0=1假,E(1)∧1=1也假,故(E(0)∧0=1) ∨(E(1)∧1=1)假。
(4)∃x(E(x)→x=1) 真
∃x(E(x)→x=1) 可表示成命题公式(E(0)→0=1) ∨(E(1)→1=1)
其中E(0)→0=1假,但E(1)→1=1真,故(E(0)→0=1) ∨(E(1)→1=1)真。
3、设整数集为个体域,判定下列公式的真值(*表示数乘运算):
(1)∀x ∃y(x*y=x)
(2)∀x∃y (x*y=1)
(3)∀x ∃y(x+y=1)
(4)∃y ∀x (x*y=x)
(5)∃y ∀x (x+y=0)
(6)∀x ∃y(x+y=0)
解(1)∀x ∃y(x*y=x) 真
(2)∀x∃y (x*y=1) 假
(3)∀x ∃y(x+y=1) 真
(4)∃y ∀x (x*y=x) 真
(5)∃y ∀x (x+y=0) 假
(6)∀x ∃y(x+y=0) 真
4、量词∃! 表示“有且仅有”,∃!xP(x)表示有且仅有一个个体满足谓词P(x)。试用量词,∀, ∃,等号“=”及谓词P(x),表示∃! P(x),即写出一个通常的谓词公式使之与∃!xP(x)具有相同的意义。
解∃!xP(x)可用以下具有相同的意义的谓词公式表示
∃x(P(x) ∧∀y(P(y)→y=x))
5、设个体域为整数集,试确定两个谓词P(x,y),分别使得下列两个蕴涵式假:
(1)∀x ∃!yP(x,y) →∃!y∀x P(x,y)
(2)∃!y∀x P(x,y) →∀x ∃!yP(x,y)
解(1)当P(x,y)表示x+y=0时∀x ∃!yP(x,y) →∃!y∀x P(x,y)为假。
(2)当P(x,y)表示x*y=0时∃!y∀x P(x,y)→∀x ∃!yP(x,y) 为假(*表示数乘运算)。因为只有数0对一切整数x,有x*0=0,从而前件真;但对数0,可有众多y,使0*y=0,从而后件假。
6、指定整数集的一个尽可能大的子集(如果存在)为个体域,使得下列公式为真:
(1)∀x(x>0)
(2)∀x(x=5∨x=6)
(3)∀x ∃y(x+y=3)
(4)∃y ∀x (x+y<0)
解(1)对正整数集个体域,∀x(x>0)为真
(2)对{5,6},∀x(x=5∨x=6) 为真
(3)对整数集,∀x ∃y(x+y=3) 为真
(4)使得∃y ∀x (x+y<0) 为真的整数集的尽可能大的子集不存在。
7、以实数集为个体域, 用谓词公式将下列语句形式化:
(1)如果两实数的平方和为零,那么这两个实数均为零。
(2)f(x)为一实函数当且仅当对每一实数x都有且只有一个实数y满足y = f(x)(不得使用量词∃!。“f(x)为实函数”可译为RF(f))。
解(1)∀x∀y(x2+y2=0→x=0y=0) 。
(2)RF(f )↔∀x ∃y(y = f(x)∧┐∃z(z≠y∧z= f(x)))
8、用谓词公式将下列语句形式化:
(1)高斯是数学家,但不是文学家。
(2)没有一个奇数是偶数。
(3)一个数既是偶数又是质数,当且仅当该数为2。
(4)有的猫不捉耗子,会捉耗子的猫便是好猫。
(5)发亮的东西不都是金子。
(6)不是所有的男人都至少比一个女人高,但至少有一个男人比所有的女人高。
(7)一个人如果不相信所有其他人,那么他也就不可能得到其他人的信任。
(8)如果别的星球上有人,天文学家是不会感到惊讶的。
(9)党指向哪里,我们就奔向那里。
(10)谁要是游戏人生,他就一事无成;谁不能主宰自己,他就是一个奴隶。(歌德)
解(1)M(x) 表示“x是数学家”,A(x) 表示“x是天文学家”,g表示“高斯”,原句可表示为
M(g) ∧┐A(g)
(2)O(x) 表示“x是奇数”,E(x) 表示“x是偶数”,原句可表示为
┐∃x(O(x)∧E(x))
(3)O(x) 表示“x是奇数”,E(x) 表示“x是偶数”,原句可表示为
∀x(O(x)∧E(x) ↔x=2)
(4)C(x) 表示“x是猫”,M(x) 表示“x是老鼠”,G(x) 表示“x是好的”,K(x,y)表示“x会捉y”,原句可表示为