Section SemaxContext.
Context (Espec: OracleKind).

(* Specifications: *)
Lemma fash_imp_spec: forall (P Q: pred rmap) n, (P >=> Q) n <-> (forall w, (level w <= n)%nat -> P w -> Q w).
Lemma semax_unfold' {CS: compspecs}:
semax Espec = fun Delta P c R =>
forall (psi: Clight.genv) Delta' (w: nat)
(TS: tycontext_sub Delta Delta')
(HGG: genv_cenv psi = cenv_cs)
(Prog_OK: believe Espec Delta' psi Delta' w) (k: cont) (st: environ * rmap),
let F := exact_assert (modifiedvars c) st in
closed_wrt_modvars c F ->
rguard Espec psi (exit_tycon c Delta') (frame_ret_assert R F) k w ->
guard Espec psi Delta' (fun rho => F rho * P rho) (Kseq c :: k) w.
Lemma semax_conjunction {CS: compspecs} Delta (P1 P2: environ -> mpred) c Q1 Q2:
semax Espec Delta P1 c Q1 ->
semax Espec Delta P2 c Q2 ->
semax Espec Delta (fun rho => P1 rho && P2 rho) c (fun k v rho => Q1 k v rho && Q2 k v rho).