第5章谓词逻辑 5.1谓词逻辑的基本概念 命题逻辑的基本研究单位是简单命题,所研究的是命题之间的逻辑关系和推理。换言之,命题逻辑对自然语言的事实陈述及其推理只解析到简单命题为止,而无法研究简单命题的内部结构及命题间的内在关系。由此,导致一些简单而又常见的推理过程往往无法处理。例如,著名的苏格拉底三段论: · 所有的人都是要死的; · 苏格拉底是人; · 所以,苏格拉底是要死的。 显然,这个推理是正确的推理。从命题逻辑的观点看,上述推理过程含有3个简单命题,若分别用符号p、q、r表示“所有的人都是要死的”“苏格拉底是人”和“苏格拉底是要死的”,则r应该是p和q的有效结论,即p,qr。根据命题逻辑公式的解释,在p取1、q取1和r取0下,命题公式p∧q→r的真值为0。所以,命题公式p∧q→r不是永真公式,即r不是p和q的有效结论。因此,命题逻辑无法正确表述这一推理过程。 产生上述问题的原因在于: 这类推理中,各命题之间的逻辑关系不仅体现在简单命题之间,而且体现在简单命题的内部成分之间。命题逻辑无法对简单命题的内部成分及其之间的逻辑结构进行描述和推理,这是命题逻辑的局限性。因此,有必要对简单命题作进一步的解析,分析其中更细节的要素,即分解出其中的个体词(individual)、谓词(predicate)、量词(quantifier)和函词(function),研究它们的形式结构及逻辑关系。这就是一阶谓词逻辑(first order predicate logic)所研究的内容。一阶谓词逻辑简称为谓词逻辑(predicate logic)或一阶逻辑(first order logic)。 5.1.1个体词 命题是具有真假意义的陈述句。从自然语言的语法角度,一个陈述句的主要结构形式为“主语+谓语”或“主语+谓语+宾语”。可以把陈述句所含有的各个句子成分作为基本单元,进行简单命题的进一步解析。 例如,陈述句“离散数学是计算机科学与技术专业本科生的必修课程”属于“主语+谓语”的句子结构,其中,主语为“离散数学”,谓语为“是计算机科学与技术专业本科生的必修课程”; 陈述句“x大于5”属于“主语+谓语+宾语”的句子结构,其中,主语为“x”,谓语为“大于”,宾语为“5”。 定义5.1在陈述句中,可以独立存在的具体的或抽象的客体(句子中的主语、宾语等),称为个体词(individual)。表示具体或特定的客体的个体词称为个体常量或个体常元(individual constant)。没有赋予具体内容或泛指的个体词称为个体变元或个体变量(individual variable)。个体变元的所有可能取值组成的集合称为个体域(individual field)。 一般地,个体常量用小写英文字母a、b、c等表示,个体变元用小写英文字母x、y、z等表示,个体域用D表示。个体域可以是有限集合,也可以是无限集合。当个体词遍及宇宙中的一切客体时,个体域特称为全总个体域(universal individual field)。 例如,在陈述句“3是质数”中,“3”和“质数”是个体词,“3”是个体常量,“质数”是个体变元,其个体域是所有质数的集合; 在陈述句“所有人都需要呼吸氧气”中,“人”和“氧气”是个体词,“氧气”是个体常量,“人”是个体变元,其个体域是所有人的集合; 在陈述句“x0; ⑥ 对于x,必有y,满足y>x。 5.5设个体域为自然数集,给出下列命题的符号表示: ① x是两数平方之和; ② x是y和z的最大公约数; ③ 任何数被2除时余数为0或1; ④ 任意3个数有最小公倍数; ⑤ 并非任何自然数都有比它小的自然数; ⑥ 两个奇数之和是偶数。 5.6设个体域为实数集,给出下列命题的符号表示: ① 不存在某数的平方小于零; ② 方程x=f(x)的解是f(x)的不动点; ③ 任何两实数之间必存在一个实数; ④ 非零实数都是另外两个不同实数的积; ⑤ 有些一元二次方程有两个不同的实根; ⑥ 闭区间的连续函数一定有上界和下界。 5.7用谓词逻辑符号化下列命题: ① 我为人人,人人为我; ② 有些乌龟比有些兔子跑得快; ③ 不管白猫黑猫,抓住老鼠都是好猫; ④ 如果R是集合A上的自反、对称和传递关系,则该关系是集合A上的等价关系; ⑤ 任何实数都有比它小的后继实数; ⑥ 不存在最大的自然数; ⑦ 只要功夫深,铁棒磨成针; ⑧ 天下乌鸦一般黑; ⑨ 吃一堑长一智; ⑩ 空集是任何集合的子集合。 5.8判断下列符号串哪些是谓词公式: ① H(x,y)∨瘙綈(y)G(x); ② (x)瘙綈H(x,f(y)); ③ (x)瘙綈(y)瘙綈H(x,f(y)); ④ (x)瘙綈(y)(瘙綈H(x,f(y))∨瘙綈(y)G(x); ⑤ (x)瘙綈(y)(瘙綈H(x,f(y))∨瘙綈(y))G(x); ⑥ (x)瘙綈(y)(瘙綈H(x,f(y))∨瘙綈(y)G(x)); ⑦ H(,y)∨G(x)x)瘙綈(y)(瘙綈H(x,; ⑧ (x)(y)(A(x,y)∧B(x))→H(x); ⑨ (x)(y)A(x,y,z)∧(z)B(x); ⑩ (x)瘙綈H(x→y); 5.9给出下列谓词公式的自然语言表述: ① (x)(y)A(x,y),其中A(x,y)表示x·y=y; ② (x)(y)F(x,y),其中F(x,y)表示x+y=y; ③ (x)(y)N(x,y),其中N(x,y)表示y=2x; ④ (x)(y)M(x,y),其中M(x,y)表示x·y=1; ⑤ (x)(y)(z)B(x,y,z),其中B(x,y,z)表示x≤y<z; ⑥ (x)(y)(z)C(x,y,z),其中C(x,y,z)表示x2+y2=z。 5.10对于谓词,有 P(x): x是素数; E(x): x是偶数; O(x): x是奇数; N(x,y): x可以整除y。 给出下列谓词公式的自然语言表述: ① (x)(N(2,x)→E(x)); ② (x)(N(x,6)∧E(x)); ③ (x)(瘙綈E(x)→瘙綈N(2,x)); ④ (x)(E(x)→(y)(N(x,y)→E(y))); ⑤ (x)(P(x)→(y)(N(y,x)∧O(y))); ⑥ (x)(O(x)→(y)(瘙綈N(y,x)∧E(y)))。 5.11指出下列各谓词公式中的自由变元、约束变元及量词的辖域: ① (x)(P(x)→R(x)∧S(x))→(x)(R(x)∧Q(x,y)); ② (x)(瘙綈P(x)→R(x)∧S(x))(x)R(x)∧Q(x,y); ③ (x)(y)(P(x)R(x)∧S(y))R(x)∧(x)Q(x,y); ④ (x)P(x) (y)(R(x)∧瘙綈S(y))∧(x)R(x)∧(y)Q(x,y); ⑤ (x)(y)(z)瘙綈B(x,y,z)∨(x)P(x)→(y)(y)(R(x)∧S(y))∧(x)G(x)∧(y)Q(y); ⑥ (x)(y)(z)B(x,y,z)∨(x)P(x)→(x)(y)(瘙綈R(x)∧S(y,w))∧(x)Q(x)。 5.12对下列谓词公式进行个体变元替换,使得每一个个体变元有唯一的出现形式: ① (x)S(x)→(x)(R(x)∧Q(x,y)); ② 瘙綈(x)P(x)→(R(x,y)∧S(x)(x)M(x,y)); ③ (x)(y)(P(x)R(x)∧S(y))∨R(x)∧(y)F(x,y); ④ (x)P(x,y)(y)(R(x)∧瘙綈S(y))∧(y)Q(x,y); ⑤ (x)(y)瘙綈(z)H(x,y,z)→(y)(x)(R(x,y)∧S(y))∧(x)G(x); ⑥ ((x)(y)N(x,y,z)∨(x)P(x,y)∨(x)R(x,z))∧(x)Q(x)。 5.13设P(x)表示“x=x2”,个体域为整数集,求下列各谓词公式的真值: ① P(0)∧P(1); ② P(-1)→P(2); ③ (x)P(x); ④ (x)P(x); ⑤ P(3)→(x)P(x); ⑥ (x)P(x)→(y)P(y)。 5.14设个体域为自然数集,个体常量a=0,函词f(x,y)=x+y,函词g(x,y)=x·y,谓词P(x,y)为x=y。求使得下列各谓词公式的真值为真或假的个体变元的取值: ① P(f(x,y),g(y,z)); ② P(f(x,a),y)→ P(f(x,y),z); ③ 瘙綈P(g(x,y),g(y,z)); ④ (x)P(g(x,y),z); ⑤ (x)P(g(x,a),x)→ P(x,y); ⑥ (x)(y)(P(f(x,y),a)→P(x,g(x,y)))。 5.15设个体域为实数集,个体常量a=0,函词f(x,y)=x-y,谓词Q(x,y)为x=y。求使得下列各谓词公式的真值为真或假的个体变元的取值: ① Q(x,a); ② Q(f(x,y),x)→Q(a,f(x,y)); ③ 瘙綈Q(x,f(x,f(x,y))); ④ (x)Q(f(x,y),z); ⑤ (x)Q(f(x,a),x)→ Q(x,y); ⑥ (x)(y)(Q(f(x,a),y)→Q(x,f(a,y)))。 5.16设Q(x,y)表示“x+y=x-y”,个体域为整数集合,求下列各谓词公式的真值: ① Q(0,1); ② (x)Q(0,x); ③ (x)(y)Q(x,y); ④ (x)Q(x,2); ⑤ (x)(y)Q(x,y); ⑥ (x)(y)Q(x,y)。 5.17设个体域为整数集,求下列各语句的真值: ① (x)(x2=2); ② (x)(y)(x+y=x·y); ③ (x)(y)(x+1=y2); ④ (x)(y)((x+y=1)∧(2x+y=3)); ⑤ (x)(y)(z)(x+y=z-y); ⑥ (x)(y)(z)((x+y)/2=z)。 5.18对于解释I: 个体域D={a,b}; 谓词P(x,y): P(a,a)=1,P(a,b)=0,P(b,a)=0,P(b,b)=1。 给出下列谓词公式在解释I下的真值: ① (x)(y)P(x,y); ② (x)(y)P(x,y); ③ (x)(y)P(x,y); ④ (x)P(x,x); ⑤ (y)P(b,y); ⑥ (x)(y)P(x,y)。 5.19对于解释I: 个体域D={1,2}; 个体常量a=1,b=2; 函词f(x): f(1)=2,f(2)=1; 谓词P(x,y): P(1,1)=1,P(1,2)=1,P(2,1)=0,P(2,2)=1。 给出下列谓词公式在解释I下的真值: ① P(a,f(a))∧P(b,f(b)); ② (x)(y)P(x,f(y)); ③ (x)(y)(P(f(x),y)∨P(x,x)); ④ (x)P(x,x)∧(x)P(x,f(x)); ⑤ (y)P(b,y)→(x)P(x,f(x)); ⑥ (x)(y)P(f(x),f(y))。 5.20对于谓词公式G=(x)P(x)→(x)P(x),如果解释I的个体域仅包含一个元素,那么G的真值是什么?如果个体域为D={a,b},试找出G的成假解释。 5.21对于个体域为D={1,2},给出使得谓词公式(x)(P(x)→Q(x))和(x)(P(x)∧Q(x))的真值同时为真和同时为假的两个解释。 5.22对于解释I: 个体域D为整数集; 个体常量a=0; 函词f(x,y)=x-y; 谓词P(x,y): x=y; 谓词Q(x,y): x