【问题标题】:encoding "John wants to bite Sara" in first order logic用一阶逻辑编码“约翰想咬萨拉”
【发布时间】:2016-02-09 13:44:03
【问题描述】:

我试图弄清楚你将如何将“[agent A]想要[动词] to [agent B]”编码为一阶逻辑(例如“John想要咬 Sara”)。

将“约翰咬萨拉”编码为 FOL 将是:bites(John, Sara) 或者如果您喜欢 John(x) ^ Sara(y) ^ bites(x,y)

另外,我注意到这种关系可能是递归的。例如:

  • “约翰想要咬萨拉”(约翰想要有咬萨拉的欲望)

  • “John 想要咬 Sara”(John 想要处于想要咬 Sara 的状态)。

有谁知道我该如何处理,尤其是“约翰想咬萨拉”这句话。

【问题讨论】:

    标签: logic first-order-logic


    【解决方案1】:

    棘手!

    让我们首先让句子的结构更清晰:“约翰想要他咬萨拉”。 “他”当然是指约翰,所以我们可以简化为:

    • “约翰想让约翰咬萨拉”

    现在我们可以像以前一样尝试使用谓词来表述这一点:

    • 想要(约翰,“约翰咬萨拉”)

    但是第二个参数将是一个句子,而不是一个表示某些对象的术语,例如“John”或“Sara”。事实证明,您的句子不能仅使用 FOL 中的谓词来形式化,因为“想要那个”不是个体之间的关系(如“bites(x,y)”),而是个体(约翰)和句子之间的关系/proposition(“约翰咬了萨拉”)。

    “John想要A”是一个句子运算符:它需要一些句子A并用它形成一个新句子。取句子并生成新句子的运算符的其他示例是“A and B”、“ìf A, then B”、“not A”或“有必要A ”。

    因此,“John 希望 A”与 FOL 中的逻辑运算符“处于同一级别”。如果我们想将“x想要A”形式的句子形式化,我们需要通过添加一个额外的运算符来扩展逻辑(对于每个x)。这需要向内涵语义(例如可能世界语义)迈出一步,因为“x”的含义不能单独使用真值表来指定(如“不是A”或“@ 987654338@ 和 B")。

    例如,

    Epistemic logic (click) 是命题逻辑,由表示“x”和“x 知道 A”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 2019-07-04
      • 2011-03-21
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多