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 ConcurrentCompilerCorrectness: forall (p:Clight.program) (tp:Asm.program), CC_correct.CompCert_compiler p = Some tp -> forall asm_genv_safety, ConcurrentCompilerCorrectness_specification (Clight.globalenv p) tp asm_genv_safety (Genv.init_mem (Ctypes.program_of_program p)) (Genv.init_mem tp) .