Parameter lift_state: forall on, ThreadPool on -> forall on', ThreadPool on' -> Prop.Inductive infty_match:
             nth_index -> meminj ->
             ThreadPool (Some 0) -> mem ->
             ThreadPool None -> mem -> Prop:=
   | Build_infty_match:
       forall n cd j st0 m0 stn mn st,
         match_state n cd j st0 m0 stn mn ->
         lift_state (Some n) stn None st ->
         infty_match cd j st0 m0 st mn.Inductive infty_match:
             nth_index -> meminj ->
             ThreadPool (Some 0) -> mem ->
             ThreadPool None -> mem -> Prop:=
   | Build_infty_match:
       forall n cd j st0 m0 stn mn st,
         match_state n cd j st0 m0 stn mn ->
         lift_state (Some n) stn None st ->
         infty_match cd j st0 m0 st mn.

Lemma HBSimulation_transitivity: forall G1 G2 G3 TID SCH C1 C2 C3 res, forall (Machine1 : @machine_semantics.ConcurSemantics G1 TID SCH _ C1 mem res) (Machine2 : @machine_semantics.ConcurSemantics G2 TID SCH _ C2 mem res) (Machine3 : @machine_semantics.ConcurSemantics G3 TID SCH _ C3 mem res), HybridMachine_simulation Machine1 Machine2 -> HybridMachine_simulation Machine2 Machine3 -> HybridMachine_simulation Machine1 Machine3.