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

Lemma invariant_add:
forall tp i (cnti: containsThread tp i) c pmap1 pmap2 vf arg
(Hinv: invariant
(addThread
(updThread cnti c pmap1)
vf arg pmap2)),
invariant (updThread cnti c pmap1).