我的老师告诉我以下语句是有效的: {x > 3} while true (x := 3) {x = 3}
为什么这个说法有效?是因为后置条件永远不会被检查,还是后置条件现在算作不变检查?
简而言之:当存在无限循环时,后置条件可以是任何东西吗?
那么这将是有效的: {x > 3} while true (x := 3) {x = 0}
我的老师告诉我以下语句是有效的: {x > 3} while true (x := 3) {x = 3}
为什么这个说法有效?是因为后置条件永远不会被检查,还是后置条件现在算作不变检查?
简而言之:当存在无限循环时,后置条件可以是任何东西吗?
那么这将是有效的: {x > 3} while true (x := 3) {x = 0}