Un semi- invariante es una característica de un objeto que cambia monótonamente en algún sentido específico bajo transformaciones dadas. Por ejemplo, una semiinvariante numérica generalmente no disminuye ni aumenta. Por lo general, se usa un semi-invariante cuando se prueba que la aplicación de un algoritmo dado conduce a un cierto estado.