Hoare逻辑|无限循环时,什么后置条件有效?

时间:2018-11-03 17:07:21

标签: infinite-loop post-conditions hoare-logic

我的老师告诉我以下陈述是有效的: {x> 3}而真(x:= 3){x = 3}

为什么此陈述有效? 是因为后置条件永远不会被检查,还是后置条件现在算作不变检查?

简而言之:存在无限循环时,后置条件可以是任何东西吗?

这将是有效的:{x> 3}而为真(x:= 3){x = 0}

1 个答案:

答案 0 :(得分:0)

无限循环根本可以具有任何后置条件(包括完全愚蠢的东西,例如1 = 0),这将是空虚的。实际上,永远为假的后置条件是强制循环永不退出的一种方式。