Статья 2287

Такой метод никогда не может дать абсолютной уверенности в правильности программы просто потому, что число возможных контрольных вариантов бесконечно. Значительно лучшим решением будет включить в программу высказывания, или условные предложения, которые должны быть справедливыми, если алгоритм верный независимо от того, по какому пути вычисление пришло в данную точку. В этом случае высказывание является инвариантом цикла, иначе говоря, предложением, которое справедливо, сколько бы раз данный цикл ни выполнялся.
Какое же высказывание о величинах, входящих в задачу об умножении, остается справедливым на всем протяжении выполнения программы. Так как в самом начале заданы равными, ясно, что на начальном этапе должно быть равно, звездочкой обозначается умножение - по соглашению, принятому во многих языках программирования. Аналогично, когда вычисление закончено, в качестве произведения берется, которое должно также равняться.