Section TrivialSimulations.
Definition lift_state {resources Sem1 Sem2}
(f: @semC Sem1 -> @semC Sem2):
@OrdinalPool.t resources Sem1 ->
@OrdinalPool.t resources Sem2.
intros X; inv X.
econstructor; eauto.
intros h; specialize (pool h).
inv pool; [econstructor 1|
econstructor 2|
econstructor 3|
econstructor 4]; eauto.
Defined.
Definition lift_c_state:
@OrdinalPool.t dryResources (@ClightMachine.DMS.DSem Clight_g) ->
@OrdinalPool.t dryResources (HybridSem (@Some nat O)).

Lemma internal_step_lift_c_state:
forall U (st1:HybridMachineSig.HybridMachineSig.machine_state)
m2 st1' m1',
HybridMachineSig.HybridMachineSig.internal_step
(ThreadPool:=OrdinalPool.OrdinalThreadPool) U st1 m2 st1' m1' ->
HybridMachineSig.HybridMachineSig.internal_step
(ThreadPool:=OrdinalPool.OrdinalThreadPool)
U (lift_c_state st1) m2 (lift_c_state st1') m1'.