В семантике языка программирования понятие состояния программы является не смутным философским понятием, а очень точным математическим понятием. Состояние в этом небольшом шаге-операционную семантики является частичной функциейs
s:Var↪Z
который записывает значения переменных. Так что если , тогда переменная x имеет значение v . Состояние обязательно является частичной функцией, поскольку имеет смысл записывать только те значения переменных, которые на самом деле встречаются.sx=vxv
Аксиома разворачивания
⟨whilebdoS,s⟩⇒⟨ifbthenS;whilebdoSelse skip,s⟩
просто говорит нам, что мы разворачиваем цикл while в условный оператор, одна из ветвей которого содержит цикл. Никакие переменные не изменят свое значение из-за этого, и по этой причине состояние не изменяется.