Section semax_ext_oracle.
Variable Espec : OracleKind.
Local Notation ty := Espec.(@OK_ty).
Local Notation spec := Espec.(@OK_spec).

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).