Definition initial_jm (prog: program) m (G: funspecs) (n: nat)
(H: Genv.init_mem prog = Some m)
(H1: list_norepet (prog_defs_names prog))
(H2: match_fdecs (prog_funct prog) G) : juicy_mem :=
initial_mem m (initial_core (Genv.globalenv prog) G n)
(initial_core_ok _ _ _ m H1 H2 H).

(* Specifications: *)
Lemma initial_jm_age (prog: program) m (G: funspecs) (n : nat)
(H: Genv.init_mem prog = Some m)
(H1: list_norepet (prog_defs_names prog))
(H2: match_fdecs (prog_funct prog) G) :
age
(initial_mem m (initial_core (Genv.globalenv prog) G (S n)) (initial_core_ok _ _ _ m H1 H2 H))
(initial_mem m (initial_core (Genv.globalenv prog) G    n ) (initial_core_ok _ _ _ m H1 H2 H)).
Lemma initial_core_ext_ok: forall {Z} (ora : Z) (prog: program) G n m,
list_norepet (prog_defs_names prog) ->
match_fdecs (prog_funct prog) G ->
Genv.init_mem prog = Some m ->
initial_rmap_ok m (initial_core_ext ora (Genv.globalenv prog) G n).