Remark store_init_data_outside:
  forall {F V} genv b i m p m',
  @Genv.store_init_data F V genv m b p i = Some m' ->
  forall chunk b' q,
  b' <> b \/ q + size_chunk chunk <= p \/ p + init_data_size i <= q ->
  Mem.load chunk m' b' q = Mem.load chunk m b' q.Remark store_init_data_list_outside:
  forall {F V} genv b il m p m',
  @Genv.store_init_data_list F V genv m b p il = Some m' ->
  forall chunk b' q,
  b' <> b \/ q + size_chunk chunk <= p ->
  Mem.load chunk m' b' q = Mem.load chunk m b' q.

(* Specifications: *)
Lemma load_store_init_data_lem1: forall {ge m1 b D m2 m3}, store_zeros m1 b 0 (init_data_list_size D) = Some m2 -> Genv.store_init_data_list ge m2 b 0 D = Some m3 -> forall dl' a dl, dl' ++ a :: dl = D -> load_store_init_data1 ge m3 b (init_data_list_size dl') a.
Lemma zero_ext_inj: forall i, Int.zero_ext 8 (Int.repr (Byte.unsigned i)) = Int.zero -> i = Byte.zero.
Lemma max_unsigned_eq: Int.max_unsigned = 4294967295.
Lemma decode_val_getN_lem1: forall j i b, decode_val Mint32 (getN 4 i b) = Vint Int.zero -> 0 <= j-i < 4 -> nth (nat_of_Z (j-i)) (getN 4 i b) Undef = Byte Byte.zero.
Lemma Zmax_Z_of_nat: forall n, Z.max (Z_of_nat n) 0 = Z_of_nat n.
Lemma snd_split_fullshare_not_bot: snd (Share.split fullshare) <> Share.bot.
Lemma readable_readonly2share: forall ro, readable_share (readonly2share ro).
Lemma init_data_list_size_app: forall dl1 dl2, init_data_list_size (dl1++dl2) = init_data_list_size dl1 + init_data_list_size dl2.
Lemma max_unsigned_modulus: Ptrofs.max_unsigned + 1 = Ptrofs.modulus.
Lemma init_data_list_lem: forall (ge: genv) m0 (v: globvar type) m1 b m2 m3 m4 phi0 rho, alloc m0 0 (init_data_list_size (gvar_init v)) = (m1,b) -> store_zeros m1 b 0 (init_data_list_size (gvar_init v)) = Some m2 -> Genv.store_init_data_list ge m2 b 0 (gvar_init v) = Some m3 -> drop_perm m3 b 0 (init_data_list_size (gvar_init v)) (Genv.perm_globvar v) = Some m4 -> forall (Hg: noghost phi0) (SANITY: init_data_list_size (gvar_init v) < Ptrofs.modulus) (VOL: gvar_volatile v = false) (AL: initializers_aligned 0 (gvar_init v) = true) (RHO: ge_of rho = filter_genv ge), init_data_list2pred (gvar_init v) (readonly2share (gvar_readonly v)) (Vptr b Ptrofs.zero) rho (beyond_block b (inflate_initial_mem m4 phi0)).