From compcert Require Export Clightdefs.
Require Export VST.veric.base.
Require Export VST.veric.SeparationLogic.
Require Export VST.msl.Extensionality.
Require Export compcert.lib.Coqlib.
Require Export VST.msl.Coqlib2 VST.veric.coqlib4 VST.floyd.coqlib3.
Require Export VST.floyd.functional_base.
Hint Rewrite @sem_add_pi_ptr using (solve [auto with norm]) : norm.
Hint Rewrite sem_cast_i2i_correct_range using (solve [auto with norm]) : norm.
Hint Rewrite sem_cast_neutral_Vint : norm.
Definition isVint v := match v with Vint _ => True | _ => False end.
Hint Resolve is_int_I32_Vint : core.
Hint Rewrite sem_cast_neutral_int using
(auto;
match goal with H: is_int ?i ?s ?v |- isVint ?v => apply (is_int_is_Vint i s v H) end) : norm.
Hint Rewrite @eval_expr_Etempvar : eval.
Hint Resolve  @eval_expr_Etempvar' : core.
Hint Rewrite Int.add_zero  Int.add_zero_l Int.sub_zero_l : norm.
Hint Rewrite Ptrofs.add_zero  Ptrofs.add_zero_l Ptrofs.sub_zero_l : norm.

Lemma eval_var_env_set:
forall i t j v (rho: environ), eval_var i t (env_set rho j v) = eval_var i t rho.