(* MachStep that doesn't change the schedule, Reduces the set of valid schedules... *)
Inductive has_unique_running tp:Prop :=
| HasUniqueRun i (cnti : ThreadPool.containsThread tp i) q:
ThreadPool.getThreadC cnti = Krun q ->
has_unique_running tp.

Lemma unique_Krun_updateC:
forall st tid,
unique_Krun st tid ->
forall (cnt: ThreadPool.containsThread st tid) c_new  cnt,
unique_Krun (ThreadPool.updThreadC(tp:=st)(tid:=tid) cnt (Krun c_new)) tid.