Local Notation ty := Espec.(@OK_ty).Local Notation spec := Espec.(@OK_spec).

(* Specifications: *)
Lemma semax_ext'_oracle (ext_link: Strings.String.string -> ident) id sig cc A P Q (fs : list (ident * funspecOracle ty)) : let f := mk_funspecOracle ty sig cc A P Q in In (ext_link id, f) fs -> list_norepet (map fst fs) -> (forall n, semax_external_oracle (Build_OracleKind _ (add_funspecsOracle_rec ext_link ty spec fs)) (fst (split (fst sig))) (EF_external id (funsig2signature sig cc)) _ P Q n).
Lemma semax_ext_oracle (ext_link: Strings.String.string -> ident) id ids sig sig' cc A P Q (fs : list (ident * funspecOracle ty)) : let f := mk_funspecOracle ty sig cc A P Q in In (ext_link id,f) fs -> list_norepet (map fst fs) -> ids = fst (split (fst sig)) -> sig' = funsig2signature sig cc -> (forall n, semax_external_oracle (Build_OracleKind _ (add_funspecsOracle_rec ext_link ty spec fs)) ids (EF_external id sig') _ P Q n).