diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-03-02 13:17:54 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-03-02 13:17:54 +0100 |
commit | 6af8f4275f7f9572d4d0783818cbfb85357807c6 (patch) | |
tree | cd98cb1112a398c992290e1660c329aff8ffd06f /common/Memory.v | |
parent | 65281dfbf2ce12f4fca5c1bfa57a14a429687ca7 (diff) | |
download | compcert-kvx-6af8f4275f7f9572d4d0783818cbfb85357807c6.tar.gz compcert-kvx-6af8f4275f7f9572d4d0783818cbfb85357807c6.zip |
loadv_storev_same
Diffstat (limited to 'common/Memory.v')
-rw-r--r-- | common/Memory.v | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/common/Memory.v b/common/Memory.v index b68a5049..89b920b3 100644 --- a/common/Memory.v +++ b/common/Memory.v @@ -1169,6 +1169,24 @@ Local Hint Resolve store_valid_block_1 store_valid_block_2: mem. Local Hint Resolve store_valid_access_1 store_valid_access_2 store_valid_access_3: mem. + +Section STOREV. +Variable chunk: memory_chunk. +Variable m1: mem. +Variables addr v: val. +Variable m2: mem. +Hypothesis STORE: storev chunk m1 addr v = Some m2. + + +Theorem loadv_storev_same: + loadv chunk m2 addr = Some (Val.load_result chunk v). +Proof. + destruct addr; simpl in *; try discriminate. + eapply load_store_same. + eassumption. +Qed. +End STOREV. + Lemma load_store_overlap: forall chunk m1 b ofs v m2 chunk' ofs' v', store chunk m1 b ofs v = Some m2 -> |