Module CompilerCorrectnessT_implies_forward_simulation.

(* Specifications: *)
(*Similar proof, but explicitly require that P2 be a translation of P1*)
Theorem CoreCorrectnessT_implies_CompcertForwardSimulation:
forall F1 C1 V1 F2 C2
(Sem1: CoreSemantics (Genv.t F1 V1) C1 mem)
(Sem2: CoreSemantics (Genv.t F2 V1) C2 mem)
P1 P2 ExternIdents epts
(EXT: In (P1.(prog_main), CompilerCorrectness.extern_func main_sig) ExternIdents),
CompilerCorrectness.core_correctnessT
(fun F C V Sem P => True)
ExternIdents epts F1 C1 V1 F2 C2 Sem1 Sem2 P1 P2 ->
forward_simulation (mk_semantics F1 C1 V1 Sem1 P1)  (mk_semantics F2 C2 V1 Sem2 P2).