Definition trace_mutual_exclusion (trace : list (name * (input + list output))) : Prop :=
    trace_mutual_exclusion' None trace.Definition last_holder (trace : list (name * (input + list output))) : option Client_index :=
    last_holder' None trace.

Lemma locks_correct_invariant : forall st, reachable step_async step_async_init st -> locks_correct (nwState st).