End CLIGHT_SEPARATION_HOARE_LOGIC_EXTRACTION.
Module GenExtrFacts
(Def: CLIGHT_SEPARATION_HOARE_LOGIC_DEF)
(Conseq: CLIGHT_SEPARATION_HOARE_LOGIC_CONSEQUENCE with Module CSHL_Def := Def)
(Extr: CLIGHT_SEPARATION_HOARE_LOGIC_EXTRACTION with Module CSHL_Def := Def).
Module ConseqFacts := GenConseqFacts (Def) (Conseq).

(* Specifications: *)
Lemma semax_extract_prop:
forall {CS: compspecs} {Espec: OracleKind},
forall Delta (PP: Prop) P c Q,
(PP -> @semax CS Espec Delta P c Q) ->
@semax CS Espec Delta (!!PP && P) c Q.
Lemma semax_orp:
forall {CS: compspecs} {Espec: OracleKind},
forall Delta P1 P2 c Q,
@semax CS Espec Delta P1 c Q ->
@semax CS Espec Delta P2 c Q ->
@semax CS Espec Delta (P1 || P2) c Q.