Hint Rewrite @compose_eval_make_args_same : norm.
Hint Rewrite @compose_eval_make_args_other using (solve [clear; intro Hx; inversion Hx]) : norm.

(* Specifications: *)
Lemma substopt_unfold {A}: forall id v, @substopt A (Some id) v = @subst A id v.
Hint Rewrite elim_globals_only using (split3; [eassumption | reflexivity.. ]) : norm.
Lemma elim_globals_only':
forall a: mpred,
(@liftx (Tarrow environ (LiftEnviron mpred)) (`a) globals_only) = `a.
Lemma globvars2pred_unfold: forall gv vl rho,
globvars2pred gv vl rho =
andp (prop (gv = globals_of_env rho))
(fold_right sepcon emp (map (fun idv => globvar2pred gv idv rho) vl)).