2.1 谓词逻辑的基本概念
2.1.1 个体词和谓词
在谓词逻辑中,要将原子命题分解成个体词和谓词两部分。
定义2.1.1 个体是指可以独立存在的客体,可以是一个具体的事物或抽象的概念,是原子命题所描述的对象。谓词用来说明个体的性质或个体间的关系。
例如,对于原子命题“小王是一个大学生”,“小王”是个体词,“……是一个大学生”是谓词,说明个体的性质;而对于原子命题“3大于2”,“3”和“2”是个体词,“……大于……”是谓词,说明个体词间的关系。
用谓词逻辑表达命题,要包括表示个体的字母和表示谓词的字母两部分。通常用大写英文字母表示谓词,用小写英文字母表示个体词。一般地,形如“b是A”类型的命题可表达为A(b);表示多个个体间关系的命题,如“a大于b”可表达为B(a,b),B是“……大于……”,而“点a位于点b和点c之间”可表达为P(a,b,c),P是“……位于……和……之间”。
定义2.1.2 和一个个体相联系的谓词称为一元谓词,和两个个体相联系的谓词称为二元谓词,和n个个体相联系的谓词称为n元谓词。个体常元表示具体的或特定的个体,用a,b,c,…表示个体常元;个体变元表示抽象的或泛指的个体,用x,y,z,…表示个体变元。表示具体性质或关系的谓词称为谓词常项,表示抽象或泛指的谓词称为谓词变项,都是用大写英文字母如P,Q,R,…表示。通常根据上下文来区分P,Q,R,…表示的是谓词常项还是谓词变项。
定义2.1.3 一个原子命题可以用一个谓词常项P和几个个体常元,如a,b,c,…,表示成P(a,b,c,…)的形式。称P(a,b,c,…)为原子命题或命题的谓词表达式。一个谓词常项P和几个个体变元如x,y,z,…表示成P(x,y,z,…)的形式,称为命题函数,其中的个体变元可以代表任意一个个体。
命题的谓词表达式和命题函数是不同的。命题的谓词表达式是有真值的,命题函数的真值是不确定的,例如A(x)表示x是个大学生,真值是不确定的,不是命题。当b表示小王,A(b)表示命题:“小王是个大学生”,A(b)是命题的谓词表达式。
例2.1.1 写出下列命题的谓词表达式。
1)小赵不是工人。
2)小丽是非常聪明和美丽的。
3)若小明是高中生,则小明不是大学生。
4)2是偶数,4是偶数,则2+4也是偶数。
5)小丽是王老师和李老师的孩子。
解 1)设A(x):x是工人,a:小赵。则命题符号化为
2)设A(x)表示x是聪明的,B(x)表示x是美丽的,a表示小丽,则命题符号化为
A(a)∧B(a)
3)设A(x)表示x是高中生,B(x)表示x是大学生,a表示小明,则命题符号化为
4)设A(x)表示x是偶数,B(x,y)表示x+y是偶数,a表示2,b:4。则命题符号化为
A(a)∧A(b)→B(a,b)
5)设Q(x,y,z)表示z是y和x的孩子,a表示小丽,b表示王老师,c表示李老师,则命题符号化为
Q(c,b,a)
从上面的例题可以看出,谓词中个体的顺序是十分重要的,不能随意改变,如命题Q(c,b,a)为真,但命题Q(a,b,c)为假。
一个n元谓词不是一个命题。命题的谓词表达式是用具体的个体名称取代命题函数的个体变元。命题函数的个体变元可以用个体域中的任意个体取代。事实上,个体变元在哪些范围取值及取什么值,对是否成为命题及命题的真值有很大影响。例如,A(x)表示x是大学生。如果x的取值范围是某大学班级中的学生,则A(x)是永真式。如果x的取值范围是某中学班级中的学生,则A(x)是永假式。如果x的取值范围是单位的员工,其中有些是大学生,有些不是大学生,则对有些人A(x)为真,对有些人A(x)为假。
◀
定义2.1.4 命题函数中,个体变元的取值范围称为个体域或论述域。
个体域可以是有限的,也可以是无限的。把宇宙中的一切事物作为对象的集合称为全总个体域。通常,没有特别说明时,个体变元的论述域是指全总个体域。
例2.1.2 设F(x,y,z):4x+y-3z≤0,G(x,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 P(x)then x:=3”以后x的值,其中P(x)为语句“x<3”,且执行到该语句时x的值如下。
1)x=4 2)x=3 3)x=1
解 1)执行到语句“If P(x)then x:=3”时,若x=4,P(x)为语句“4<3”,真值为0,不执行赋值语句“x:=3”,所以x=4。
2)执行到语句“If P(x)then x:=3”时,若x=3,P(x)为语句“3<3”,真值为0,不执行赋值语句“x:=3”,所以x=3。
3)执行到语句“If P(x)then x:=3”时,若x=1,P(x)为语句“1<3”,真值为1,执行赋值语句“x:=3”,所以x=3。
◀