离散数学 第4章 谓词逻辑

发布时间:2024-08-27

Chapter 4 谓词逻辑

原子命题是命题逻辑研究的基本单位, 没有对原子 命题的内部结构及其逻辑关系进行讨论. 在实际思 维中,仅有命题逻辑工具是不够的. 例如著名的苏 格拉底(Scrates)三段论 大前提:所有的人都是要死的, 小前提:苏格拉底是人, 结论:所以,苏格拉底是要死的. 这个推理的有效性在命题逻辑中无法证明,因为上 面的每个命题都是原子命题,可以分别用p, q, r表示, 然而在命题逻辑中p, q r 是无效推理.

之所以出现这种推理本身是正确的,但无法 证明其有效性的问题,是因为没有对原子命 题的内部形式结构及其逻辑关系进行讨论, 这正是谓词逻辑首先要研究的内容. 本书讨论的谓词逻辑是一阶逻辑. 利用谓词逻辑建立起来的数据库设计理论, 具有牢固的数学基础和一定的智能特点. 同 时,现实世界中的任何问题只要能用谓词逻 辑推理系统方式表示出来,就可以将它写成 逻辑程序设计PROLOG(PROgramming in LOGic)或LISP语言,并用计算机加以实现,如 已经开发出的一些智能教学专家系统等 .

4.1 个体、谓词、量词和函词

1.个体(individual) 下面4个命题均为原子命题: (1)5是素数. (2)3大于2. (3)张三是学生. (4)所有的人都是要死的. 上面出现的5、3和2、张三以及人是命题分别考虑 的对象,称为个体. 命题的考虑对象称为个体 (individual),它是独立存在的事物. 个体可以是具 体的,如5、3和2、张三,也可以是抽象的,如人 等.

表示特定的、具体的个体称为个体常量 (constant), 用字母表中靠前的小写英文字母 a, b, c, …或带下标表示, 如在(2)中,可以用a: 3, b: 2, 也可以直接用表示该个体常量的原 符号表示,如“3”、“2”、“张三”等. 不确 定的个体称为个体变元(variable), 用字母表 中靠后的小写英文字母x, y, z, …或带下标表 示表示. 在讨论个体时,通常要指定个体讨论的范围, 称为个体域(domain of individuals)或论域 (universe),用D表示. 如同时讨论(1)和(2)时,

可以指定个体域为正整数集合,也可以是整数集合, 还可以是实数集合等,要同时讨论(3)和(4),可以指 定个体域为所有人组成的集合,也可以是所有动物 组成的集合等. 指定个体域D后,所涉及到的个体变 元在所给的个体域中可任意取元素. 个体域可以是有限集合,可以是无限集合. 我们把 世界上所有对象,如所有的动物、所有植物、所有 字母、所有数字等组成的集合称为全总个体域,简 称全域,它是最大的个体域. 之所以要给出这样的 个体域,是因为在很多问题讨论时都没有指定个体 域,这时就在全总个体域中讨论,它是默认的个体域.

2.谓词(predicate) (1)

中“…是素数”,(3)中“…是学生”, (4) 中“…是要死的”是表示一个个体具有的 性质, (2)中“…大于…”是表示两个个体之 间的关系. 我们把表示个体性质以及个体之 间关系的词称为谓词(predicate).

表示一个个体性质的谓词称为1元谓词, 表 示n个个体之间关系的谓词称为n元谓词.

一般用大写字母, 如P, Q, R, …等大写英文字 母表示谓词, 对于任意的n元谓词, 为了把谓 词及其元数同时表示出来, 象表示n元函数 一样, 用诸如P(x1, x2,…,xn)表示. 例如, 用P(x): x是素数, S(x): x是学生, D(x): x是要死的, G(x,y): x > y, R(x, y, z): x 通过y和z等等. 对于n元谓词P(x1, x2,…,xn)(n 1), 当个体变 元取定个体域D中元素后就是一个命题, 如 G(3, 2): 3 > 2, 它是关于命题的函数, 称为命 题函数(propositional function). 显然, 命题函 数不是命题.

Remark 谓词的选取与个体域有关. 例如, 对于命题“所有人都是要死的”, 若 在所有人组成的个体域D中考虑, 只需一个 谓词D(x): x是要死的;若在全域D中考虑, 需要两个谓词P(x): x是人, D(x): x是要死的, 其中P 称为特性谓词, 使用这个特性谓词是 将“人”从全域中分离出来.

3.量词(quantifier) (1)量词的概念 对于命题函数, 如P(x): x是素数, 在个体域D 为自然数集合N时, 对于x的每一个取值, 就 得到一个命题. 使成为命题的另一种方法是量化个体变元. 常使用的方法有两种:全称量化和存在量 化. 如D中任意x有P(x), 即“任意自然数是素 数”, D中存在x有P(x), 即“有些自然数是素 数”, 它们都是命题了.

表示个体数量特征的词称为量词(quantifier), 常用的量词有: 全称量词(universal quantifier) 和存在量词(existential quantifier). 全称量词 相当于“任意”、“全部”、“所有”、 “每一个”、“一切”等, 存在量词 相当 于“有些”、“某些”、“有的”、“存 在”、“至少有一个”等. 本书不涉及存在 唯一量词. 现在的量化仅对个体进行, 不对谓词进行, 因而称为一阶谓词逻辑.

(2)量词的使用 首先注意,量词单独使用是没有意义的,量词 的后面一定要跟个体变元,如 x, y,…, x, y,… x, x等是一个整体. 量词后面所跟的 个体变元称为指导变元. 例如, xP(x), xP(x), x yG( x, y), x yG( x, y), x yG( x, y).

若将命题函数中的所有个体变元都进行了 量化,则得到一个命题,否则不是命题. xG( x, y) ?

(3)量词与个体域 量词是对个体变元进行量化, 所给的个体域 D至关重要. 同一个带量词的命题, 如 x yG(x, y), 而G(x, y): x > y, 则在自然数集 合N中, x yG(x, y)表示没有最小的自然数, 是假命题, 而在整数

集合Z中, x yG(x, y)表 示没有最小的整数, 是真命题. a. xP(x) b. P(x) c. xP(x) d. P(a)

(4)量词的辖域、约束变元与自由变元 x(P(x) D(x)); x(R(x) Q(x)). 量词 x或 x的作用或管辖的范围称为 x或 x的作用域或辖域(scope), 辖域内的个体变 元称为约束变元(bound variable). 若量词后有括号, 则括号里面的部分是其辖 域. x(P(x) D(x))? 若没有括号, 则与量词相邻的部分是辖域. xP( x) D( x) ? x yG( x, y) ?

不受任何量词约束的变元称为自由变元(free variable). xG( x, y) ? (5)约束变元与自由变元的改名(rename) 对于上小节中的“所有人都是要死的”,也 可以 y(P(y) Q(y)), w(P(w) Q(w)). xG( x, w) ? xG( x, t ) ?

之所以要改名, 一是为了避免同一个个体变 元既是约束的又是自由的;二是为了方便 后面计算谓词公式的范式. 需要注意的是, 在对个体变元改名时, (1)将量词辖域中某约束变元及相应的指导 变元改成本辖域中未曾出现过的(约束或自 由)个体变元, 其他个体变元不变; (2)某自由变元全部改成同一个与出现的别 的所有个体变元不同的个体变元.

4. 函词(function) 要把如“张三的父亲”、“两个数的平方 和”等表示出来, 就要用函数, 在谓词逻辑 中习惯称为函词(function: 函数). 设个体域D为所有人组成的集合, f(x): x的父 亲,则f是D上(即D到D)的1元函数. 令D = R, f(x, y) = x2 + y2, 则f是D上(即D2到D)的2元函 数. f : D D D 课堂练习或作业 习题4.1 3, 4, 5, 6, 7.

    精彩图片

    热门精选

    大家正在看