Na semântica da linguagem de programação, a noção de estado do programa não é uma noção filosófica vaga, mas sim matemática muito precisa. Um estado nesta semântica operacional de pequena etapa é uma função parcials
s:Var↪Z
que registra os valores das variáveis. Então, se , então a variáveltem o valor. O estado é necessariamente uma função parcial, pois faz sentido registrar os valores das variáveis que realmente ocorrem.sx=vxv
O axioma em desenvolvimento
⟨whilebdoS,s⟩⇒⟨ifbthenS;whilebdoSelse skip,s⟩
está simplesmente nos dizendo que desdobramos um loop while em uma declaração condicional, uma das ramificações que contém o loop. Nenhuma variável alterará seu valor por causa disso e, por esse motivo, o estado não muda.