Section ClightSelfSim.
Context (ge: genv).
(*Separate state and memory*)
Definition core:= state. (* this contains a useless memory*)
Definition state_to_memcore st:=
(st, get_mem st).
Definition memcore_to_state:= set_mem .
(* Doesn't exactly hold. Lemma state_to_memcore_correct: forall c m, state_to_memcore (memcore_to_state c m) = (c,m). *)
Definition memcore_to_state_correct: forall s c m,
state_to_memcore  s = (c,m) -> s = memcore_to_state c m:=
CC_core_CC_state_2.

Lemma is_ext_seperated j j' m m' (E:is_ext j (Mem.nextblock m) j' (Mem.nextblock m')):
inject_separated j j' m m'.