Section EFF_InternalCall.
Variable cenv : compilenv.
Variable f : Csharpminor.function.
Variable mu : SM_Injection.
Variable m tm : mem.
Variable cs : callstack.
Variable e : Csharpminor.env.
Variable lenv : temp_env.
Variable k : Csharpminor.cont.
Variable tk : cont.
End EFF_InternalCall.

(*program structure not yet updated to module*)
Theorem transl_program_correct:
forall  (R: list_norepet (map fst (prog_defs prog)))
entrypoints
(entry_points_ok :
forall v1 v2 sig,
In (v1, v2, sig) entrypoints ->
exists b f1 f2,
v1 = Vptr b Int.zero
/\ v2 = Vptr b Int.zero
/\ Genv.find_funct_ptr ge b = Some f1
/\ Genv.find_funct_ptr tge b = Some f2)
(init_mem: exists m0, Genv.init_mem prog = Some m0),
SM_simulation.SM_simulation_inject csharpmin_eff_sem
cmin_eff_sem ge tge entrypoints.