回答:
「the」不変などはありません。どのループにも多くの不変があります。興味深い不変式を見つける必要があります。ループが行列の乗算を計算していることを証明しようとしているので、不変式は、、の係数は行列積の係数、つまり それはむしろとこのプロパティを特化して、外部ループと中間ループの不変量を推測するのは自然です。
内部ループを実行するたびに、番目の項が合計に追加され、提案された不変式が導かれます この不変式が成立する場合、中間ループ用に提案された不変式が成立し、それから、外側ループ用に提案された不変式が成立し、プログラムが期待どおりの動作をすることが簡単にわかります。
まだ証明されていないのは初期状態です。、つまりことを証明する必要がありますプログラムへの入り口で。初期化した方がいいでしょう。あるいは、内側のループに入る直前に、中間のループ内で初期化を行うことによって、このプロパティを実現できます。