谓词逻辑之 量词(小弟我们需要更丰富的语言)
前面已经说完了命题逻辑。命题逻辑的可满足性是基于原子命题的赋值,但它局限性很大,只能处理或且非和如果那么这几种情况。你不会简单的认为这就足够了吧。举个例子吓到你:
› “所有的人总是要死的” p
› “苏格拉底是人” q
› “所以苏格拉底是要死的” r
其中前两条是前提假设。我们能不能据此得到第三条呢?
你犹豫了好久,战战兢兢的说:“能”!
的确,这个结论是可以得出的,但是能否用命题逻辑来表达呢?比如 P∧Q->R?
太明显了,这个论证是不合格的:我们完全看不出这三个原子命题有什么关系,也就无法证明它的可满足性。
因为原子命题的不可再分性,这个论证已经超出了命题逻辑的表达范围。
所以我们需要更丰富的语言:谓词逻辑 predicate logic。
命题逻辑处理人类语言中诸如:否、并、或和如果取得了令人满意的结果,但是处理如:存在、所以、在……中,命题逻辑有其局限性。所以我们需要更精确的谓词逻辑来表达判断语句,也称为一阶逻辑(first-order logic)。
我们来看一个例子:每个学生都比他的某个老师年轻 (2-1)
先请仔细考虑一下这个断言的意思。接下来我们使用谓词逻辑来表达它:
S(x): x是一名学生 I(x): x是一位老师 Y(x,y): x比y年轻
在引入量词∀(对所有的,单词all的首字母反写)和∃(存在或对某个,单词exist的首字母反写)之后,可以用符号的形式写出上述例句:∀x(S(x)→(∃y(I(y)∧Y(x,y))))
即:对任意x,若x是一个学生,则存在某个y,y是一位老师,使得x比y年轻。
怎么样,这俩符号是不是很熟悉:我们高中就常打交道是吧!
再来看一个复杂点的例子:不是所有的鸟都可以飞
B(x):x是一只鸟
F(x):x可以飞翔
¬(∀x(B(x)→F(x))
其含义为:只要是鸟就可以飞翔,这种情况是不成立的。
即也是:存在一个x,x是鸟,但不能飞翔
编码为:∃x(B(x)∧¬F(x))
以上两个公式实际是语义等价的。