在编程语言语义中,程序状态的概念不是模糊的哲学概念,而是一种非常精确的数学概念。甲状态 在这个小步操作语义是一个局部函数s
s:Var↪Z
记录变量的值。所以,如果,则变量 x的值为 v。状态必须是部分函数,因为只有记录实际发生的变量的值才有意义。sx=vxv
展开的公理
⟨whilebdoS,s⟩⇒⟨ifbthenS;whilebdoSelse skip,s⟩
只是简单地告诉我们,我们将while循环展开为条件语句,条件语句的其中一个分支包含该循环。因此,任何变量都不会更改其值,因此状态不会更改。