Ciclo invariante
# Ciclo invariante

De manera informal, ciclo invariante es algún predicado o condición que se mantiene en cada iteración de un ciclo. Por ejemplo:

En este ejemplo se cumple la invariante de ciclo para cada iteración, ya que se mantiene la condición siguiente:

Otra invariante más débil es:

Las invariantes de ciclo sirven para probar que un algoritmo esté correcto.

## Propiedades

* Inicialización. Es verdadera desde la primera iteración.
* Mantenimiento. Es verdadera después de una iteración del ciclo. Se mantiene verdadera antes de la iteración próxima.
* Terminación. Cuando finaliza el ciclo, la invariante aporta una propiedad que indica que el algoritmo es correcto.

## Ejemplos

Insertion sort

