(*+ Adding the specifications to a void ext_spec *)
Definition concurrent_simple_specs (cs : compspecs) (ext_link : string -> ident) :=
(ext_link "acquire"%string, acquire_spec) ::
(ext_link "release"%string, release_spec) ::
nil.
Definition concurrent_simple_ext_spec Z (cs : compspecs) (ext_link : string -> ident) :=
add_funspecs_rec
ext_link
(ok_void_spec Z).(@OK_ty)
(ok_void_spec Z).(@OK_spec)
(concurrent_simple_specs cs ext_link).
Definition Concurrent_Simple_Espec Z cs ext_link :=
Build_OracleKind
Z
(concurrent_simple_ext_spec Z cs ext_link).

(* Specifications: *)
Lemma strong_nat_ind (P : nat -> Prop) (IH : forall n, (forall i, lt i n -> P i) -> P n) n : P n.
Set Printing Implicit.