我想知道逻辑公式中量词顺序为什么很重要?
当我阅读关于逻辑编程的书籍时,会提到这些点,但没有说明原因。有人能用一些例子解释一下吗?
此外,我们如何从给定的逻辑公式确定量词的顺序?
谢谢!
当我阅读关于逻辑编程的书籍时,会提到这些点,但没有说明原因。有人能用一些例子解释一下吗?
此外,我们如何从给定的逻辑公式确定量词的顺序?
谢谢!
在学习逻辑编程之前,建议您阅读一本关于一阶逻辑的书籍。
考虑以下真实陈述:
1。 每个人都有母亲
让我们用FOL来形式化它。为了简单起见,我们将假设论域是人的集合,即我们的个体变量x
,y
,z
...范围在人之间。然后1变为:
1F。(x)(Ey)Mother(y,x)
我们可以将其解读为:对于每个人x
,都存在一个人y
,使得y
是x
的母亲。
现在让我们交换全称量词(x)
和特称量词(Ey)
的顺序:
2F。(Ey)(x)Mother(y,x)
x
的母亲。
但这个公式并没有表达任何陈述。它表达了一个人的一元谓词,即谓词有人是变量x
的母亲。如果你释放剩余变量:
4F。Mother(x,y)
那么你就有了二元谓词或关系:x
是y
的母亲。
具有1、2、...、n个自由变量的公式表示一元、二元、...、n元谓词。
给定一个谓词,你可以通过使用量词绑定自由变量和/或用个体常量替换自由变量来进行陈述。从 4F ,你可以得出:
(x)(y)Mother(x,y) (Everybody is everybody's mother)
(Ex)(y)Mother(x,y) (Somebody is everybody's mother)
(Ex)(Ey)Mother(x,y) (Somebody is somebody's mother)
(x)Mother(x,Arnold) (Everybody is the mother of Arnold)
(x)Mother(Bernice,x) (Bernice is the mother of everybody)
Mother(Arnold,Bernice) (Arnold is the mother of Bernice)
...
...
等等,直到恶心为止。
这应该表明的是,如果一个公式有自由变量,因此表达了一个谓词,那么这个公式本身并不意味着任何特定的自由变量量化方式,或者它们是否应该被量化。