Terna de Hoare

Definición

Expresión que especifica que, al ejecutar el código desde un estado que satisface , todo estado final alcanzado satisface .

Intuición

establece el contrato de entrada, transforma el estado y establece el contrato de salida. La forma usual expresa corrección parcial: condiciona la salida a que la ejecución termine.

Formulación

Ejemplo mínimo

{ y != 0 }
x := 1 / y
{ x = 1 / y }

Con notación histórica más precisa, el y de la postcondición es el valor inicial .

Contraejemplo o límites

La terna no afirma por sí sola que ocurra en la práctica ni que termine. Para corrección total debe demostrarse la terminación.

Validez y demostrabilidad

Conviene distinguir:

significa que la terna es verdadera según la semántica, mientras que

significa que existe una derivación con las reglas de Hoare. La corrección del sistema exige que toda terna demostrable sea válida.

Para practicar paso a paso

Relaciones

Procedencia

  • Clase: Ternas de Hoare y demostración formal.
  • Fuente: Programación Avanzada Notas 4 2027, diapositivas 2–3 y 8–10 (láminas 56–57 y 62–64).
  • Fuente complementaria: /Users/diegovillalba/Downloads/AllLectures.pdf, páginas PDF 4–12 y 92–102.