Estado de programa
Definición
Asignación de valores a las variables relevantes de un programa en un instante de su ejecución.
Intuición
Ejecutar una instrucción transforma un estado en otro. Las aserciones describen conjuntos de estados posibles, no pasos de ejecución.
Formulación
Un estado puede modelarse como una función . Se escribe:
cuando los valores dados por hacen verdadera la aserción .
Ejemplo mínimo
s0 = {x = 2, y = 5}
ejecutar x := x + 1
s1 = {x = 3, y = 5}y , pero .
Contraejemplo o límites
Una condición parcial como no determina un solo estado: permite , y muchos otros valores, además de múltiples valores para las variables no mencionadas.
Relaciones
- Satisface o refuta: Aserción de programa.
- Es transformado por el código en: Terna de Hoare.
- Requiere distinguir estado inicial y final al aplicar: Axioma de asignación de Hoare.
Procedencia
- Clase: Ternas de Hoare y demostración formal.
- Fuente: Programación Avanzada Notas 4 2027, diapositivas 5 y 7 (láminas 59 y 61).