Invariante (informatica)
In informatica, un predicato è detto invariante per una sequenza di operazioni quando il predicato risulta vero prima e dopo dell'esecuzione della sequenza.
Sebbene i programmi per computer sono principalmente specificati in termini di cosa cambia, è ugualmente importante sapere o specificare le invarianti del programma.
La teoria di ottimizzazione dei compilatori, la metodologia di programmazione per contratto e i metodi formali per determinare la correttezza di un programma tengono conto delle invarianti.
I programmatori spesso fanno uso di asserzioni nel loro codice per rendere espliciti gli invarianti. Alcuni linguaggi ad oggetti hanno una sintassi speciale per specificare le invarianti di classe.