自然演绎的目标是证明某事是重言式吗?

时间:2013-11-13 18:30:17

标签: verification coq theorem

在我们的软件验证模块中,我们刚刚从真值表转向自然演绎。真相表似乎很基本,但现在我们使用coq theorm证明器来证明更复杂的陈述。令我困惑的是我们最终得到了一些“经证实或未经证实”的类型答案,当使用真值表我们可以根据输入得到真或假类型的结果时,这是否意味着我们使用自然演绎来看待对于重言式,还是我完全错过了什么?

2 个答案:

答案 0 :(得分:4)

他们有不同的含义。 真值表对应于命题的语义。你确定命题何时为真或假,取决于自由变量(任何不在“forall”或“exists”中的变量,或者你输入的“输入”)是否为真。

自然演绎是不同的,因为您不直接为任何输入分配真值/假值。通过自然演绎,您可以从命题开始,并使用演绎或“自然推理”来构建新命题。基本上,有一堆规则告诉你如何构建这些命题,称为“推理规则”。

让我们举个例子:我们想要证明|= A->A

真值表 首先让我们看一下|= X->Y

的真值表
X | Y | X-> Y
-------------
T | T | T
T | F | F
F | T | T
F | F | T

现在让我们将其应用于|= A->A

A | A | A-> A
-------------
T | T | T
T | F | F
F | T | T
F | F | T

由于A始终具有相同的值,我们可以在那里裁剪2行并以此结束:

A | A | A-> A
-------------
T | T | T
F | F | T

这是什么意思?这意味着|= A->A总是正确的,所以我们已经在语义上证明了它。

自然演绎

这里我们要使用演绎来证明|- A->A。 为此,我们来看看“entails”的(简化)推理规则:

A |- B
--------
|- A -> B  

此推理规则告诉您:“如果您可以证明B假设您有A,那么您可以证明A需要B,或A-> B” 这是允许你“建立”命题的规则,在你首先构建较小命题的证明的意义上,然后将它们连接在一起以构建更大命题的证明。

我们还有另一个可以使用的推理规则:

A |- A

这是什么意思?这意味着如果你认为它发生了,你总能证明一些事情。有道理吗?

因此,我们可以使用这些新规则来证明|- A->A。怎么样?易:

A |- A
------
|- A -> A

我们使用了“entails”的推理规则,并用A代替B.然后我们必须证明A |- A,但这是我们知道的另一个推理规则!有了这个,我们已经证明|- A->A是真的。但是,我们根本不需要使用任何真值表。

您可能会注意到其中一个是|= A->A,而另一个是|- A->A。这是因为|=表示“需要语义”,而|-表示“证明”。但是,两者都是等价的。如果其中一个是真的,那么另一个是真的,所以通过证明|- A->A成立,你证明|= A->A是真的,即A->A是重言式。

  

这是否意味着我们使用自然演绎来寻找重言式,还是我完全错过了什么?

除了重言式之外,你可以证明更多的东西。 无论如何,重言式都是永恒的命题。这意味着无论你假设什么,无论你赋予任何“输入”什么价值,都是如此。这由符号|= X表示,表示X是重言式。 但是,您可以在其左侧包含命题。当你这样做时,这意味着右边的命题是真的,只有当你解释左边的命题是真的时。例如A |= A。这意味着在您将值true分配给A(左)的任何解释中,A(右)也将具有值true。 您可以在左侧包含任何命题或命题列表,例如A,B |= A /\ B,这意味着只要您解释AB的值为true,那么A /\ B。 回到自然演绎,您也可以这样做(记得将|=更改为|-),例如:A,B |- A /\ B 您可以使用推理规则来证明这是真的。

  

但现在我们正在使用coq theorm prover来证明更复杂的陈述

你必须要小心。 Coq不使用Natural Deduction,而是使用Intuitionistic Logic。 这可能超出了这个问题的范围,但如果您想了解更多信息,请访问维基百科页面:

http://en.wikipedia.org/wiki/Intuitionistic_logic

答案 1 :(得分:0)

您可以使用自然演绎在真值表中表达所有内容,它只是一种不同的格式。让我们说我们有一些命题P : Prop -> Prop -> Prop和真值表类似

 A | B | P
 ---------
 T | F | T
 T | T | T
 F | T | T
 F | F | F

我们可以将其声明为

 Theorem or_equiv : forall A B, A \/ B -> P A B

或类似的。这是一种重言式,因为它始终是真实的,但它能够表达真理表所能提供的一切。

相关问题