Definition existsv (nextv: var) (P: spred) : spred :=
fun s => exists y,  P (State (env_set nextv y (stk s)) (hp s)).

(* Specifications: *)
Axiom existsv_refl:  forall P x, P |-- existsv x P.
Definition fresh {A} (f: A -> var) (a: A) (x: var) : Prop :=  Ident.lt (f a) x.