aboutsummaryrefslogtreecommitdiffstats
path: root/common/Mem.v
diff options
context:
space:
mode:
Diffstat (limited to 'common/Mem.v')
-rw-r--r--common/Mem.v20
1 files changed, 20 insertions, 0 deletions
diff --git a/common/Mem.v b/common/Mem.v
index de3e8c94..e169dfc7 100644
--- a/common/Mem.v
+++ b/common/Mem.v
@@ -1796,6 +1796,26 @@ Proof.
unfold inject_id; intros. congruence.
Qed.
+Lemma free_left_lessdef:
+ forall m1 m2 b,
+ lessdef m1 m2 -> lessdef (free m1 b) m2.
+Proof.
+ intros. destruct H. split.
+ rewrite <- H. auto.
+ apply free_left_inj; auto.
+Qed.
+
+Lemma free_right_lessdef:
+ forall m1 m2 b,
+ lessdef m1 m2 -> low_bound m1 b >= high_bound m1 b ->
+ lessdef m1 (free m2 b).
+Proof.
+ intros. destruct H. unfold lessdef. split.
+ rewrite H. auto.
+ apply free_right_inj; auto. intros. unfold inject_id in H2. inv H2.
+ red; intro. inv H2. generalize (size_chunk_pos chunk); intro. omega.
+Qed.
+
Lemma valid_block_lessdef:
forall m1 m2 b, lessdef m1 m2 -> valid_block m1 b -> valid_block m2 b.
Proof.