Module CSHL_Defs := DerivedDefs(CSHL_Def).
(***************** SEMAX_LEMMAS ****************)
(* THIS RULE FROM semax_switch *)
(* THESE RULES FROM semax_straight *)
(* THESE RULES FROM semax_lemmas *)
(* THESE RULES FROM semax_ext *)
(*TODO: What's the preferred way to expose these defs in the SL interface?*)

Axiom semax_external_binaryintersection:
forall {Espec ef A1 P1 Q1 P1ne Q1ne A2 P2 Q2 P2ne Q2ne
A P Q P_ne Q_ne sig cc ids}
(EXT1: @semax_external Espec ids ef A1 P1 Q1)
(EXT2: @semax_external Espec ids ef A2 P2 Q2)
(BI: binary_intersection (mk_funspec sig cc A1 P1 Q1 P1ne Q1ne)
(mk_funspec sig cc A2 P2 Q2 P2ne Q2ne) =
Some (mk_funspec sig cc A P Q P_ne Q_ne))
(IDS: ids = map fst (fst sig)),
@semax_external Espec ids ef A P Q.