基本上我有一个程序,它在每次迭代中将变量增加1,并且一旦Y变为8(即MOD 8),就会将其重置为0。

是一个非常简单的例子,但它仍然是错误的,因为我无法澄清我的ltl-arefice对属性的ltl-arefice是正确的,所以有一个值为y的值,其下一个值为8“。为此,我想出了:

$$ fx(y \ doteq 8)$$

这意味着“未来的某个地方下一个值为8”。

是我的问题的正确的ltl公式(即使我的应用程序当然是无效的)?

有帮助吗?

解决方案

您的问题中缺少的重要事项是您绘制您的程序的方式,具体而言,您允许的原子命令是什么。

如果您的原子命题是“y= 0”,...,“y= 8”,并且相应地建模过渡系统,则公式 $ fx y= 8$ 意味着最终,下一个位置会有“y= 8”。请注意,这相当于公式 $ xf y= 8 $ ,它基本上表示y= 8在第一位置后的某个时间。

但是,您将您的要求扣除为“有一个值的值,其下一个值为8”,并不清楚这意味着什么。什么是“y的下一个值”?LTL不识别为实体,只有上述命题。因此,您无法真正讨论LTL中变量的值,而无需首先将所有可能的值添加为命题。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top