离散数学及其应用(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 谓词逻辑的基本概念

2.1.1 个体词和谓词

在谓词逻辑中,要将原子命题分解成个体词和谓词两部分。

定义2.1.1 个体是指可以独立存在的客体,可以是一个具体的事物或抽象的概念,是原子命题所描述的对象。谓词用来说明个体的性质或个体间的关系。

例如,对于原子命题“小王是一个大学生”,“小王”是个体词,“……是一个大学生”是谓词,说明个体的性质;而对于原子命题“3大于2”,“3”和“2”是个体词,“……大于……”是谓词,说明个体词间的关系。

用谓词逻辑表达命题,要包括表示个体的字母和表示谓词的字母两部分。通常用大写英文字母表示谓词,用小写英文字母表示个体词。一般地,形如“bA”类型的命题可表达为Ab);表示多个个体间关系的命题,如“a大于b”可表达为Bab),B是“……大于……”,而“点a位于点b和点c之间”可表达为Pabc),P是“……位于……和……之间”。

定义2.1.2 和一个个体相联系的谓词称为一元谓词,和两个个体相联系的谓词称为二元谓词,和n个个体相联系的谓词称为n元谓词个体常元表示具体的或特定的个体,用abc,…表示个体常元;个体变元表示抽象的或泛指的个体,用xyz,…表示个体变元。表示具体性质或关系的谓词称为谓词常项,表示抽象或泛指的谓词称为谓词变项,都是用大写英文字母如PQR,…表示。通常根据上下文来区分PQR,…表示的是谓词常项还是谓词变项。

定义2.1.3 一个原子命题可以用一个谓词常项P和几个个体常元,如abc,…,表示成Pabc,…)的形式。称Pabc,…)为原子命题或命题的谓词表达式。一个谓词常项P和几个个体变元如xyz,…表示成Pxyz,…)的形式,称为命题函数,其中的个体变元可以代表任意一个个体。

命题的谓词表达式和命题函数是不同的。命题的谓词表达式是有真值的,命题函数的真值是不确定的,例如Ax)表示x是个大学生,真值是不确定的,不是命题。当b表示小王,Ab)表示命题:“小王是个大学生”,Ab)是命题的谓词表达式。

例2.1.1 写出下列命题的谓词表达式。

1)小赵不是工人。

2)小丽是非常聪明和美丽的。

3)若小明是高中生,则小明不是大学生。

4)2是偶数,4是偶数,则2+4也是偶数。

5)小丽是王老师和李老师的孩子。

1)设Ax):x是工人,a:小赵。则命题符号化为

2)设Ax)表示x是聪明的,Bx)表示x是美丽的,a表示小丽,则命题符号化为

A(a)∧B(a)

3)设Ax)表示x是高中生,Bx)表示x是大学生,a表示小明,则命题符号化为

4)设Ax)表示x是偶数,Bx,y)表示x+y是偶数,a表示2,b:4。则命题符号化为

Aa)∧Ab)→Bab

5)设Qxyz)表示zyx的孩子,a表示小丽,b表示王老师,c表示李老师,则命题符号化为

Q(cba)

从上面的例题可以看出,谓词中个体的顺序是十分重要的,不能随意改变,如命题Qcba)为真,但命题Qabc)为假。

一个n元谓词不是一个命题。命题的谓词表达式是用具体的个体名称取代命题函数的个体变元。命题函数的个体变元可以用个体域中的任意个体取代。事实上,个体变元在哪些范围取值及取什么值,对是否成为命题及命题的真值有很大影响。例如,Ax)表示x是大学生。如果x的取值范围是某大学班级中的学生,则Ax)是永真式。如果x的取值范围是某中学班级中的学生,则Ax)是永假式。如果x的取值范围是单位的员工,其中有些是大学生,有些不是大学生,则对有些人Ax)为真,对有些人Ax)为假。

定义2.1.4 命题函数中,个体变元的取值范围称为个体域论述域

个体域可以是有限的,也可以是无限的。把宇宙中的一切事物作为对象的集合称为全总个体域。通常,没有特别说明时,个体变元的论述域是指全总个体域。

例2.1.2Fx,y,z):4x+y-3z≤0,Gx,y):x>y,求F(3,4,5)∧G(3,4)和F(2,1,3)∧G(2,1)的真值。

F(3,4,5):12+4-15≤0,真值为0,G(3,4):3>4,真值为0,所以F(3,4,5)∧G(3,4)为假。F(2,1,3):8+1-9≤0,真值为1,G(2,1):2>1,真值为1,所以F(2,1,3)∧G(2,1)为真。

例2.1.3 给出执行语句“If Px)then x:=3”以后x的值,其中Px)为语句“x<3”,且执行到该语句时x的值如下。

1)x=4 2)x=3 3)x=1

1)执行到语句“If Px)then x:=3”时,若x=4,Px)为语句“4<3”,真值为0,不执行赋值语句“x:=3”,所以x=4。

2)执行到语句“If Px)then x:=3”时,若x=3,Px)为语句“3<3”,真值为0,不执行赋值语句“x:=3”,所以x=3。

3)执行到语句“If Px)then x:=3”时,若x=1,Px)为语句“1<3”,真值为1,执行赋值语句“x:=3”,所以x=3。