Я смотрю на Hoare Logic и я ' m проблемы с пониманием метода нахождения инварианта цикла.
Может ли кто-нибудь объяснить метод, используемый для вычисления инварианта цикла?
И что должен содержать инвариант цикла, чтобы быть «полезным»?
I Я имею дело только с простыми примерами, поиском инвариантов и доказательством частичного и полного исправления в таких примерах, как:
{ i ≥ 0 } while i > 0 do i := i−1 { i = 0 }