Hoare Logic | Какое постусловие действительно, когда существует бесконечный цикл?

Мой учитель сказал мне, что верно следующее утверждение: {x > 3}, хотя true (x:= 3) {x = 3}

Почему это утверждение верно? Это потому, что постусловие никогда не проверяется, или пост-условие теперь считается инвариантной проверкой?

Короче говоря, может ли постусловие быть чем-либо, когда есть бесконечный цикл?

Тогда это будет действительно: {x > 3}, в то время как истина (x:= 3) {x = 0}

1 ответ

Решение

Бесконечный цикл может иметь любое постусловие вообще (включая что-то совершенно глупое, например, 1=0), и это будет пусто верно. На самом деле, всегда ложное постусловие - это способ принудительного завершения цикла.

Другие вопросы по тегам