Hurokinvariáns - a programozásban - egy logikai kifejezés , amely a ciklustest minden egyes lépése után (a fix operátor végrehajtása után ) és a ciklus kezdete előtt igaz , attól függően, hogy a ciklustestben milyen változók változnak. [1] Az invariánsokat a programellenőrzés elméletében használják a ciklikus algoritmussal kapott eredmény helyességének bizonyítására .
A ciklusinvariáns egy matematikai kifejezés (általában egyenlőség), amely elkerülhetetlenül tartalmaz legalább néhány olyan változót, amelyek értéke a ciklus egyik iterációjáról a másikra változik. Az invariánst úgy állítjuk össze, hogy az igaz legyen közvetlenül a ciklusvégrehajtás kezdete előtt (az első iterációba való belépés előtt) és minden iterációja után. Ezen túlmenően, ha az invariáns csak a cikluson belül definiált változókat tartalmaz (például fora Pascal vagy Ada ciklusszámlálója ), akkor a ciklusba való belépéshez azokat azokkal az értékekkel veszik figyelembe, amelyeket az inicializáláskor kapnak.
A ciklus működőképességének invariáns segítségével történő bizonyításának eljárása a következő:
Az invariánsokat ciklikus algoritmusok tervezése és optimalizálása során is használják . Például ahhoz, hogy megbizonyosodjunk arról, hogy az optimalizált hurok helyes marad, elég bebizonyítani, hogy a hurokinvariáns nem sérül, és a huroklezárási feltétel teljesíthető.