Section STOREBYTES.
Variable m1: mem.
Variable b: block.
Variable ofs: Z.
Variable bytes: list memval.
Variable m2: mem.
Hypothesis STORE: storebytes m1 b ofs bytes = Some m2.
Local Hint Resolve perm_storebytes_1 perm_storebytes_2: mem.
Local Hint Resolve storebytes_valid_access_1 storebytes_valid_access_2: mem.
Local Hint Resolve storebytes_valid_block_1 storebytes_valid_block_2: mem.
End STOREBYTES.

Theorem store_int64_split:
forall m b ofs v m',
store Mint64 m b ofs v = Some m' -> Archi.ptr64 = false ->
exists m1,
store Mint32 m b ofs (if Archi.big_endian then Val.hiword v else Val.loword v) = Some m1
/\ store Mint32 m1 b (ofs + 4) (if Archi.big_endian then Val.loword v else Val.hiword v) = Some m'.