给出一个循环不变,维基百科的名单,一个很好的方式,产生一个循环 最弱的先决条件(从http://en.wikipedia.org/wiki/Predicate_transformer_semantics)之间的关系: wp(while E inv I do S, R) =
I \wedge
\forall y. ((E \wedge I) \implies wp(S,I \we
我定义2种几乎相同的语言(foo和bar): theory SimpTr
imports Main
begin
type_synonym vname = "string"
type_synonym 'a env = "vname ⇒ 'a option"
datatype foo_exp =
FooBConst bool |
FooIConst int |