【发布时间】:2011-10-02 20:14:13
【问题描述】:
我不确定
{ true } x := y { x = y }
是一个有效的Hoare triple。
我不确定是否允许引用一个变量(在本例中为y),而无需先在三重程序主体或前置条件中明确定义它。
{ y=1 } x := y { x = y } //valid
{true} y := 1; x := y { x = y } //valid
怎么样?
【问题讨论】:
-
cstheory 的目标是研究层面的讨论。这是一道基本的 CS 问题。
-
好吧,看起来 SO 在基本 CS 上失败了 :-)(我以前从未听说过 Hoare 逻辑)
-
不幸的是,所有对霍尔逻辑的解释(包括维基百科上的解释)都是由有语法挑战的外国人写的。在形式逻辑中主要是这样。我仍在等待为英语流利的人编写的文本。
-
这和问知道 x = x 有什么意义是一样的;在 C 中是否有效。
标签: logic hoare-logic