> -- Peter Almazov писал(а):
> Идиотское убеждение (от Info21), что инвариант нужен некоему дяде, причем только в редких, особо торжественных случаях, и только , как цикл написан, оставляю без комментариев.

Нет, инвариант, разумеется, нужен до цикла. Но совершенно необходима та его часть, которая задаёт соотношение между значениями переменных цикла. И эта часть очень естественно вытекает из семантики алгоритма.
Если нужен формальный вывод, то часто инвариант усиливается искусственными (очевидными с точки зрения семантики) частями: типа, что в пройденной части массива все элементы меньше искомого. Т.е. начинается эффект "проще было бы опустить, чем загромождать очевидными вещами".