(* End misc lemmas *)

(* Specifications: *)
(* BEGIN rel_expr stuff *)
Lemma rel_expr_const_int: forall {CS: compspecs} i ty P rho,
P |-- rel_expr (Econst_int i ty) (Vint i) rho.
Lemma rel_expr_lvalue_By_reference: forall {CS: compspecs} a v1 P rho,
access_mode (typeof a) = By_reference ->
P |-- rel_lvalue a v1 rho ->
P |-- rel_expr a v1 rho.
Lemma rel_lvalue_local: forall {CS: compspecs} id ty b P rho,
P |-- !! (Map.get (ve_of rho) id = Some (b,ty)) ->
P |-- rel_lvalue (Evar id ty) (Vptr  b Ptrofs.zero) rho.
Lemma rel_lvalue_global: forall {CS: compspecs} id ty b P rho,
P |-- !! (Map.get (ve_of rho) id = None /\ Map.get (ge_of rho) id = Some b) ->
P |-- rel_lvalue (Evar id ty) (Vptr b Ptrofs.zero) rho.
Lemma rel_lvalue_deref: forall {CS: compspecs} a b z ty P rho,
P |-- rel_expr a (Vptr b z) rho->
P |-- rel_lvalue (Ederef a ty) (Vptr b z) rho.