From cbad1f38c2269735f3100b31422c2123dd9f0e01 Mon Sep 17 00:00:00 2001
From: Robbert Krebbers
Date: Fri, 26 Feb 2016 21:05:07 +0100
Subject: [PATCH] Some decidable agreement CMRA properties.
---
algebra/dec_agree.v | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/algebra/dec_agree.v b/algebra/dec_agree.v
index 901fe143..d8a40e16 100644
--- a/algebra/dec_agree.v
+++ b/algebra/dec_agree.v
@@ -49,10 +49,13 @@ Qed.
Canonical Structure dec_agreeRA : cmraT := discreteRA dec_agree_ra.
(* Some properties of this CMRA *)
-Lemma dec_agree_idemp (x : dec_agree A) : x ⋅ x ≡ x.
-Proof. destruct x; by repeat (simplify_eq/= || case_match). Qed.
+Lemma dec_agree_ne a b : a ≠ b → DecAgree a ⋅ DecAgree b = DecAgreeBot.
+Proof. intros. by rewrite /= decide_False. Qed.
-Lemma dec_agree_op_inv (x1 x2 : dec_agree A) : ✓ (x1 ⋅ x2) → x1 ≡ x2.
+Lemma dec_agree_idemp (x : dec_agree A) : x ⋅ x = x.
+Proof. destruct x; by rewrite /= ?decide_True. Qed.
+
+Lemma dec_agree_op_inv (x1 x2 : dec_agree A) : ✓ (x1 ⋅ x2) → x1 = x2.
Proof. destruct x1, x2; by repeat (simplify_eq/= || case_match). Qed.
End dec_agree.
--
GitLab