Definition CMinSel_initial_core (ge:genv) (v: val) (args:list val): option CMinSel_core :=
match v with
| Vptr b i =>
if Int.eq_dec i Int.zero
then match Genv.find_funct_ptr ge b with
| None => None
| Some f => Some (CMinSel_Callstate f args Kstop)
end
else None
| _ => None
end.
Definition CMinSel_core_sem : CoreSemantics genv CMinSel_core mem.
eapply @Build_CoreSemantics with (at_external:=CMinSel_at_external)
(after_external:=CMinSel_after_external)
(corestep:=CMinSel_corestep)
(halted:=CMinSel_halted).
apply CMinSel_initial_core.
apply CMinSel_corestep_not_at_external.
apply CMinSel_corestep_not_halted.
apply CMinSel_at_external_halted_excl.
apply CMinSel_after_at_external_excl.
Defined.
(************************NOW SHOW THAT WE ALSO HAVE A COOPSEM******)

(* Specifications: *)
Lemma CMinSel_forward : forall g c m c' m' (CS: CMinSel_corestep g c m c' m'),
mem_forward m m'.