Remark store_init_data_list_padding:
  forall frm to b ofs m,
  Genv.store_init_data_list ge m b ofs (tr_padding frm to) = Some m.

(* Specifications: *)
Lemma tr_init_sound: (forall m b ofs ty i m', exec_init m b ofs ty i m' -> forall data, tr_init ty i data -> Genv.store_init_data_list ge m b ofs data = Some m') /\(forall m b ofs ty sz il m', exec_init_array m b ofs ty sz il m' -> forall data, tr_init_array ty il sz data -> Genv.store_init_data_list ge m b ofs data = Some m') /\(forall m b ofs l il m', exec_init_list m b ofs l il m' -> forall ty fl data pos, l = fields_of_struct fl pos -> tr_init_struct ty fl il pos data -> Genv.store_init_data_list ge m b (ofs + pos) data = Some m').
Theorem transl_init_sound: forall p m b ty i m' data, exec_init (globalenv p) m b 0 ty i m' -> transl_init (prog_comp_env p) ty i = OK data -> Genv.store_init_data_list (globalenv p) m b 0 data = Some m'.