Definition MachStateDry := @MachState dryResources (Clight_newSem ge)
(@OrdinalPool.OrdinalThreadPool dryResources (Clight_newSem ge)).
(* SearchHead (MachState -> _). Print Val.inject. Definition flat_inject (v: memval) *)
Definition threadpool_of (st: MachStateDry) :=    match st with (_, _, tp) => tp end.
Definition dryThreadPool := @ThreadPool.t dryResources (Clight_newSem ge)
(@OrdinalPool.OrdinalThreadPool dryResources (Clight_newSem ge)).
Definition ctl_ok nextb (c: @ctl Clight_new.corestate) : Prop :=
match c with
| Krun q => corestate_ok nextb q
| Kblocked q => corestate_ok nextb q
| Kresume q v => corestate_ok nextb q /\ val_ok nextb v
| Kinit v1 v2 => val_ok nextb v1 /\ val_ok nextb v2
end.

Lemma alloc_ctl_ok:
forall (nextb nextb': positive)
(LESS:  (nextb <= nextb')%positive)
c,
ctl_ok nextb c -> ctl_ok nextb' c.