Section ThreadPoolWF.
Context {Sem : Semantics}.
Existing Instance DryHybridMachine.dryResources.
Existing Instance OrdinalPool.OrdinalThreadPool.
(** Take an instance of the Dry Machine *)
Existing Instance DryHybridMachine.DryHybridMachineSig.

(** [mem_compatible] is preserved by [addThread]*)
(* NOTE: Strange statement, updThread doesn't need to be here probably*)
Lemma mem_compatible_add:
forall tp i (cnti: containsThread tp i) c pmap vf arg pmap2 m
(Hcomp: mem_compatible
(addThread
(updThread cnti c pmap) vf arg pmap2) m),
mem_compatible (updThread cnti c pmap) m.