1

我一直在阅读有关将自然语言句子转换为一阶逻辑的文章,我很好奇如何在一阶逻辑中表达逻辑推理。

我想知道如何将“由于事件 B 发生事件 A”之类的句子转换为一阶逻辑。

我能想到的这样一句话的一个例子是:

X is evil; Because X is evil, X kills Y.

上面的句子是如何用一阶逻辑表示的?

我想到的解决方案是:

Evil(X) -> Kills(X, Y)

但是我不确定这是否正确,因为我在网上找不到类似句子的例子。如果这是错误的,为什么它是错误的,我该如何纠正它?

4

1 回答 1

0

我相信这种诸如“因为”之类的连接是有问题的,因为它不符合“逻辑连接”标准。您无法验证推理发生的条件。例如:“我摔倒是因为我跑得快”。你无法证实我摔倒是因为我跑得很快。可能有人推了我,或者我偶然发现了马路对面的物体。这意味着您需要一些额外的信息,有关事件的更多详细信息,而一阶逻辑无法处理这些。它只处理逻辑连接词,这些连接词不需要关于事件的更多信息来验证或反驳命题。

于 2017-07-28T17:15:31.150 回答