Module CSHL_Defs := DerivedDefs(CSHL_Def).
(***************** SEMAX_LEMMAS ****************)
(* THIS RULE FROM semax_switch *)
(* THESE RULES FROM semax_straight *)
(* THESE RULES FROM semax_lemmas *)

Axiom semax_conseq:
forall {CS: compspecs} {Espec: OracleKind},
forall Delta P' (R': ret_assert) P c (R: ret_assert) ,
local (tc_environ Delta) && ((allp_fun_id Delta) && P) |-- |==> |> FF || P' ->
local (tc_environ Delta) && ((allp_fun_id Delta) && RA_normal R') |-- |==> |> FF || RA_normal R ->
local (tc_environ Delta) && ((allp_fun_id Delta) && RA_break R') |-- |==> |> FF || RA_break R ->
local (tc_environ Delta) && ((allp_fun_id Delta) && RA_continue R') |-- |==> |> FF || RA_continue R ->
(forall vl, local (tc_environ Delta) && ((allp_fun_id Delta) && RA_return R' vl) |-- |==> |> FF || RA_return R vl) ->
@semax CS Espec Delta P' c R' -> @semax CS Espec Delta P c R.