Я пытаюсь придумать инвариант цикла для следующего цикла while, но у меня возникли некоторые проблемы.
После того, как инвариант цикла определен, я хотел бы собрать таблицу доказательства ипоказать все промежуточные утверждения
ASSERT(k >= 0)
{i = 1;
sum = 1;
while (i <= k) {
sum = sum + 2*i + 1;
i = i+1;
} //end-while
}
ASSERT( sum == (k+1)*(k+1) )