Section INIT_MEM.
Variables m tm: mem.
Hypothesis IM: Genv.init_mem p = Some m.
Hypothesis TIM: Genv.init_mem tp = Some tm.

(* Specifications: *)
Lemma bytes_of_init_inject:
forall il,
(forall id, ref_init il id -> kept id) ->
list_forall2 (memval_inject init_meminj) (Genv.bytes_of_init_data_list ge il) (Genv.bytes_of_init_data_list tge il).
Lemma Mem_getN_forall2:
forall (P: memval -> memval -> Prop) c1 c2 i n p,
list_forall2 P (Mem.getN n p c1) (Mem.getN n p c2) ->
p <= i -> i < p + Z.of_nat n ->
P (ZMap.get i c1) (ZMap.get i c2).
Lemma init_mem_inj_1:
Mem.mem_inj init_meminj m tm.
Lemma init_mem_inj_2:
Mem.inject init_meminj m tm.