循環不變量

在計算機科學中 ， 循環不變式 （ loop invariant ， 或循環不變量 、 循環不變條件 ， 也有譯作循環不變性 ） ， 是一組在循環體內 、 每次迭代均保持爲真的性質 （ 表達式 ） ， 通常被用來證明程式或僞碼的正確性 （ 有時但較少情況下用以證明算法的正確性 ） 。 簡單說來 ， “ 循環不變式 ” 是指在循環開始和循環中 ， 每一次迭代時爲真的性質 。 這意味着 ， 一個正確的循環體 ， 在循環結束時 “ 循環不變式 ” 和 “ 循環終止條件 ” 必須同時成立 。 由於循環和遞歸的相通 ， 證明帶有不變式的循環的部分正確性和證明通過歸納的遞歸程序的正確性極其相似 。 循環不變代碼外提 （ Loop - invariant code motion ） 是將循環內部不受循環影響的語句或表達式移到循環體之外 ， 和此條目提到的循環不變式無關係 。