Require compcert.common.Globalenvs.
Inductive CC_core : Type :=
CC_core_State : function ->
statement -> cont -> env -> temp_env -> CC_core
| CC_core_Callstate : fundef -> list val -> cont -> CC_core
| CC_core_Returnstate : val -> cont -> CC_core.
Definition CC_core_to_CC_state (c:CC_core) (m:mem) : state :=
match c with
CC_core_State f st k e te => State f st k e te m
|  CC_core_Callstate fd args k => Callstate fd args k m
| CC_core_Returnstate v k => Returnstate v k m
end.
Definition CC_state_to_CC_core (c:state): CC_core * mem :=
match c with
State f st k e te m => (CC_core_State f st k e te, m)
|  Callstate fd args k m => (CC_core_Callstate fd args k, m)
| Returnstate v k m => (CC_core_Returnstate v k, m)
end.

Lemma cl_corestep_not_halted : forall ge m q m' q' i,
step2corestep (part_semantics2 ge) q m q' m' -> ~final_state q i.