aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Duplicateproof.v
diff options
context:
space:
mode:
Diffstat (limited to 'backend/Duplicateproof.v')
-rw-r--r--backend/Duplicateproof.v22
1 files changed, 19 insertions, 3 deletions
diff --git a/backend/Duplicateproof.v b/backend/Duplicateproof.v
index d8ca9cd1..c2bdf10d 100644
--- a/backend/Duplicateproof.v
+++ b/backend/Duplicateproof.v
@@ -85,9 +85,25 @@ Proof.
constructor; eauto.
(* Iop *)
- destruct i'; try (inversion H; fail). monadInv H.
- destruct (eq_operation _ _) eqn:EQO; try discriminate.
- destruct (list_eq_dec _ _ _) eqn:LEQ; try discriminate.
- destruct (Pos.eq_dec _ _) eqn:POS; try discriminate. clear EQ0. subst.
+ destruct (eq_operation _ _); try discriminate.
+ destruct (list_eq_dec _ _ _); try discriminate.
+ destruct (Pos.eq_dec _ _); try discriminate. clear EQ0. subst.
+ eapply verify_is_copy_correct_one. destruct x. eassumption.
+ constructor.
+(* Iload *)
+ - destruct i'; try (inversion H; fail). monadInv H.
+ destruct (chunk_eq _ _); try discriminate.
+ destruct (eq_addressing _ _); try discriminate.
+ destruct (list_eq_dec _ _ _); try discriminate.
+ destruct (Pos.eq_dec _ _); try discriminate. clear EQ0. subst.
+ eapply verify_is_copy_correct_one. destruct x. eassumption.
+ constructor.
+(* Istore *)
+ - destruct i'; try (inversion H; fail). monadInv H.
+ destruct (chunk_eq _ _); try discriminate.
+ destruct (eq_addressing _ _); try discriminate.
+ destruct (list_eq_dec _ _ _); try discriminate.
+ destruct (Pos.eq_dec _ _); try discriminate. clear EQ0. subst.
eapply verify_is_copy_correct_one. destruct x. eassumption.
constructor.
Qed.