(* Lemma isLK_rewrite r : (forall (sh : Share.t) (rsh: readable_share sh) (z : Z) (P : preds), r <> YES sh rsh (LK z) P) <-> ~ isLK r. *)
Section Progress.
Variables
(CS : compspecs)
(ext_link : string -> ident)
(ext_link_inj : forall s1 s2, ext_link s1 = ext_link s2 -> s1 = s2).
Definition Jspec' := (@OK_spec (Concurrent_Espec unit CS ext_link)).
Open Scope string_scope.

(* Specifications: *)
Theorem progress ge Gamma n state :
~ blocked_at_external state CREATE ->
state_invariant Jspec' Gamma (S n) state ->
exists state',
state_step(ge := ge) state state'.