title: Ciclo invariante
text: # 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
  
  