fact: Definition QuantExpression (v : Var) (e : Expression) (st : State.t) (i : Int.t) : Int.t := let fr' := st@fr[quants:=VarDict.update st@fr@quants v (Num (I i))] in match EvalNumExpression e st[fr := fr'] with | I n => n | B n => b2i n | Sh n => s2i n end.
imports: Coq(List) Coq(ListSet) Coq(FSetInterface) Coq(Bool) Coq(ZArith) Coq(Relation_Operators) JML(ListHelpers)