(** Proofs about [internal_execution] and [internal_step] *)
Existing Instance HybridCoarseMachine.scheduler.

Lemma internal_step_cmachine_step :
forall (i : NatTID.tid) (tp tp' : thread_pool) (m m' : mem)
(U : list nat) tr
(Hcnt: containsThread tp i)
(Hcomp: mem_compatible tp m)
(Hstep_internal: internal_step Hcnt Hcomp tp' m'),
exists tr',
cmachine_step (((i :: U)), tr, tp) m
(((i :: U)), tr ++ tr', tp') m' /\
(forall tp'' tr'' m'' U',
cmachine_step (((i :: U)), tr,tp) m
((U'), tr ++ tr'', tp'') m'' ->
tp' = tp'' /\ m' = m'' /\ i :: U = U').