Section INIT.
Variable bc: block_classification.
Hypothesis GMATCH: genv_match bc ge.

(* Specifications: *)
Lemma store_init_data_summary:
forall ab p id,
pge Glob (ab_summary ab) ->
pge Glob (ab_summary (store_init_data ab p id)).
Lemma store_init_data_list_summary:
forall idl ab p,
pge Glob (ab_summary ab) ->
pge Glob (ab_summary (store_init_data_list ab p idl)).
Lemma store_init_data_sound:
forall m b p id m' ab,
Genv.store_init_data ge m b p id = Some m' ->
bmatch bc m b ab ->
bmatch bc m' b (store_init_data ab p id).
Lemma store_init_data_list_sound:
forall idl m b p m' ab,
Genv.store_init_data_list ge m b p idl = Some m' ->
bmatch bc m b ab ->
bmatch bc m' b (store_init_data_list ab p idl).
Lemma store_init_data_other:
forall m b p id m' ab b',
Genv.store_init_data ge m b p id = Some m' ->
b' <> b ->
bmatch bc m b' ab ->
bmatch bc m' b' ab.
Lemma store_init_data_list_other:
forall b b' ab idl m p m',
Genv.store_init_data_list ge m b p idl = Some m' ->
b' <> b ->
bmatch bc m b' ab ->
bmatch bc m' b' ab.
Lemma store_zeros_same:
forall p m b pos n m',
store_zeros m b pos n = Some m' ->
smatch bc m b p ->
smatch bc m' b p.
Lemma store_zeros_other:
forall b' ab m b p n m',
store_zeros m b p n = Some m' ->
b' <> b ->
bmatch bc m b' ab ->
bmatch bc m' b' ab.