本文概述
一阶逻辑推理用于从现有句子中推断出新事实或句子。在理解FOL推理规则之前,让我们了解FOL中使用的一些基本术语。
代换:
替代是对术语和公式执行的基本操作。它以一阶逻辑出现在所有推理系统中。在FOL中存在量词的情况下,替换过程很复杂。如果我们写F [a / x],那么它是指用常量“ a”代替变量“ x”。
注意:一阶逻辑能够表达有关Universe中某些或所有对象的事实。
平等:
一阶逻辑不仅使用谓词和术语来构成原子语句,而且还使用另一种方式,即FOL中的相等性。为此,我们可以使用等号来指定两个术语指的是同一对象。
例如:兄弟(约翰)=史密斯。
如上述示例中,兄弟(John)引用的对象类似于Smith的对象。等号也可以与否定符一起使用,以表示两个术语不是同一对象。
示例:¬(x = y)等效于x≠y。
量词的FOL推理规则
作为命题逻辑,我们在一阶逻辑中也有推理规则,因此以下是FOL中的一些基本推理规则:
- 通用概括
- 通用实例化
- 存在实例化
- 存在介绍
1.通用概括:
- 通用概括是一个有效的推论规则,该规则指出,如果前提P(c)对于话语范围中的任意元素c为真,那么我们可以得出结论∀x P(x)。
- 它可以表示为:。
- 如果我们要显示每个元素都具有相似的属性,则可以使用此规则。
- 在此规则中,x不得显示为自由变量。
示例:让我们代表P(c):“一个字节包含8位”,因此对于∀x P(x)“所有字节包含8位。”,它也将成立。
2.通用实例化:
- 通用实例化也称为通用消除或UI是有效的推理规则。可以多次应用它以添加新句子。
- 从逻辑上讲,新的KB与先前的KB是等效的。
- 根据用户界面,我们可以推断出用基本术语代替变量所获得的任何句子。
- UI规则规定,我们可以通过从∀x P(x)代入话语范围中的任何对象来推论基础术语c(域x中的常数)来推断任何句子P(c)。
- 它可以表示为:。
范例:1。
如果“每个人都喜欢冰淇淋” =>∀xP(x),那么我们可以推断出“约翰喜欢冰淇淋” => P(c)
范例:2。
让我们举一个著名的例子
“所有贪婪的国王都是邪恶的。”因此,让我们的知识库以FOL的形式包含此细节:
∀x王(x)∧贪婪(x)→邪恶(x),
因此,根据这些信息,我们可以使用通用实例化推断以下任何语句:
- 金(约翰)∧贪婪(约翰)→邪恶(约翰),
- 国王(理查德)∧贪婪(理查德)→邪恶(理查德),
- 国王(父亲(约翰))∧贪婪(父亲(约翰))→邪恶(父亲(约翰)),
3.存在实例化:
- 存在实例化也称为存在消除,它是一阶逻辑中的有效推理规则。
- 它只能用于替换现有句子一次。
- 新的KB在逻辑上不等同于旧的KB,但是如果旧的KB是可以满足的,那么它将是可以满足的。
- 该规则指出,对于一个新的常数符号c,可以从以∃xP(x)形式给出的公式中推断P(c)。
- 此规则的限制是,规则中使用的c必须是P(c)为true的新项。
- 它可以表示为:
例:
从给定的句子中:∃xCrown(x)∧OnHead(x,John),
因此,我们可以推断出:Crown(K)∧OnHead(K,John),只要K不出现在知识库中。
- 上面使用的K是一个常数符号,称为Skolem常数。
- 存在实例化是Skolemization过程的特例。
4.现有介绍
- 存在性介绍也称为存在性概括,它是一阶逻辑中的有效推理规则。
- 该规则指出,如果话语宇宙中存在某些具有属性P的元素c,那么我们可以推断出宇宙中存在某些具有属性P的元素。
- 它可以表示为:
- 示例:假设“ Priyanka的英语成绩很好。” “因此,有人用英语打出了很好的分数。”
广义模态规则
对于FOL中的推理过程,我们有一个单一的推理规则,称为“通用模态”。它是Modus ponens的提升版本。
广义模态可以概括为:“ P表示Q,并且P断言为真,因此Q必须为真”。
根据Modus Ponens的说法,对于原子句子pi,pi’,q。如果存在替换θ使得SUBST(θ,pi’,)= SUBST(θ,pi),则可以表示为:
例:
我们将使用此规则,因为国王是邪恶的,因此我们将找到一些x,例如x是国王,x是贪婪的,因此我们可以推断出x是邪恶的。
Here let say, p1' is king(John) p1 is king(x)
p2' is Greedy(y) p2 is Greedy(x)
θ is {x/John, y/John} q is evil(x)
SUBST(θ, q).