谓词逻辑量化器和括号



取自: https://cs.nyu.edu/faculty/davise/ai/pred-examples.html

让U成为一个包含人和歌曲的宇宙。设 L 是具有以下原语的语言。

c(P,S) --- Person P composed song S.
l(P,S) --- Person P likes song S.
s(P,S) --- Person P sings song S.
m(S) --- Song S is in a major key.
Constants: a --- Amy; b --- Barry; d --- David; y -- Yankee Doodle. 

大卫喜欢艾米写的一些歌(即至少一首歌(。 exists(S( c(a,S( ^ l(d,S(.

存在(S( c(a,S( ^ l(d,S(vs exists(S( [c(a,S( ^ l(d,S(]之间在含义上是否有区别?

exists(S) c(a,S) ^ l(d,S)

是模棱两可的。这可能意味着exists(S) [c(a,S) ^ l(d,S)]exists(S) [c(a,S)] ^ l(d,S)。这两个公式是不同的。前者是一个封闭公式,通常也称为句子,后者是具有自由变量的公式。

您可以更好地了解两个公式之间的差异。通过将重命名规则应用于后者的封闭子公式,您可以得到

exists(R) [c(a,R)] ^ l(d,S)

这个公式意味着a创作了一些歌曲,d喜欢歌曲S

在印刷品中,某些惯例通常设定为重新调整这种歧义,以避免在公式中加入许多括号。然而,不存在普遍的公约。

根据我的经验,逻辑连接词通常比量词结合更强。如果采用这一惯例,歧义就解决了第一种选择,即 预计exists(S) c(a,S) ^ l(d,S)意味着exists(S) [c(a,S) ^ l(d,S)]。但是,在依赖它之前,您必须检查一下。

最新更新