Inductive empty_type : Type := .
Definition withtype_of_NDfunspec fs := match fs with
mk_funspec _ _ (rmaps.ConstType A) _ _ _ _ => A | _ => empty_type end.
Definition withtype_of_funspec fs := match fs with
mk_funspec _ _ A _ _ _ _ => A end.

Lemma sepcon_ENTAIL:
forall Delta P Q P' Q',
ENTAIL Delta, P |-- P' ->
ENTAIL Delta, Q |-- Q' ->
ENTAIL Delta, P * Q |-- P' * Q'.