Hoare Logic | Какое постусловие действительно, когда существует бесконечный цикл?
Мой учитель сказал мне, что верно следующее утверждение: {x > 3}, хотя true (x:= 3) {x = 3}
Почему это утверждение верно? Это потому, что постусловие никогда не проверяется, или пост-условие теперь считается инвариантной проверкой?
Короче говоря, может ли постусловие быть чем-либо, когда есть бесконечный цикл?
Тогда это будет действительно: {x > 3}, в то время как истина (x:= 3) {x = 0}
1 ответ
Решение
Бесконечный цикл может иметь любое постусловие вообще (включая что-то совершенно глупое, например, 1=0), и это будет пусто верно. На самом деле, всегда ложное постусловие - это способ принудительного завершения цикла.