(* The following two lemmas is not now used. but after deep embedded hoare logic (SL_as_Logic) is ported, the frame does not need to be quantified in the semantic definition of semax. Then, these two lemmas can replace the other two afterwards. *)

Lemma semax'_pre_post:
forall
{CS: compspecs} {Espec: OracleKind} P' (R': ret_assert) Delta (R: ret_assert) P c,
(forall rho, typecheck_environ Delta rho ->   P rho |-- P' rho) ->
(forall ek vl rho, !!(typecheck_environ Delta rho)
&&  proj_ret_assert R ek vl rho
|-- proj_ret_assert R' ek vl rho) ->
semax' Espec Delta P' c R |-- semax' Espec Delta P c R'.