Definition all_initializers_aligned (prog: program) :=
forallb (fun idv => andb (initializers_aligned 0 (gvar_init (snd idv)))
(Zlt_bool (init_data_list_size (gvar_init (snd idv))) Ptrofs.modulus))
(prog_vars prog) = true.

Lemma alloc_global_access:
forall {F V} (ge: Genv.t F V) m i v m', Genv.alloc_global ge m (i, Gvar v) = Some m' ->
forall z, access_at m' (nextblock m, z) Cur =
if range_dec 0 z (init_data_list_size (gvar_init v))
then Some (Genv.perm_globvar v) else None.