En la semántica del lenguaje de programación, la noción de estado del programa no es una noción filosófica vaga, sino matemática muy precisa. UNA estado en esta semántica operacional de pequeños pasos es una función parcials
s:Var↪Z
que registra los valores de las variables. Entonces si , luego variable xsx=vx tiene el valor . El estado es necesariamente una función parcial, ya que solo tiene sentido registrar los valores de las variables que realmente ocurren.v
El axioma desplegado
⟨whilebdoS,s⟩⇒⟨ifbthenS;whilebdoSelse skip,s⟩
simplemente nos dice que desarrollamos un ciclo while en una declaración condicional, una de cuyas ramas contiene el ciclo. Ninguna variable cambiará su valor debido a esto, y por esta razón el estado no cambia.