diff --git a/CHANGELOG.md b/CHANGELOG.md index 7722b8e7ad195b3f115b4407f1c89fca4f980d92..ceefd450274d1a8a95d95197423253f399bc32e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,9 @@ lemma. - Add `frac_auth_frag_op_validN` and `frac_auth_frag_op_valid`, which are bi-implications with arbitrary fractions. - Add `ufrac_auth_frag_op_validN` and `ufrac_auth_frag_op_valid`. +* Remove `mono_list_lb_is_op` instance for `IsOp' (â—¯ML l) (â—¯ML l) (â—¯ML l)`; we + don't usually have such instances for duplicable resources and it was added by + accident. **Changes in `bi`:** diff --git a/iris/algebra/lib/mono_list.v b/iris/algebra/lib/mono_list.v index 9aa8503549ff780be34fb3afae869ed8a4d47b5e..9f453595c80555571797f69b93b30e977d3ba15b 100644 --- a/iris/algebra/lib/mono_list.v +++ b/iris/algebra/lib/mono_list.v @@ -70,8 +70,9 @@ Section mono_list_props. by rewrite /mono_list_auth /mono_list_lb -!assoc -auth_frag_op -core_id_dup. Qed. - Global Instance mono_list_lb_is_op l : IsOp' (â—¯ML l) (â—¯ML l) (â—¯ML l). - Proof. by rewrite /IsOp' /IsOp -core_id_dup. Qed. + Global Instance mono_list_auth_dfrac_is_op dq dq1 dq2 l : + IsOp dq dq1 dq2 → IsOp' (â—ML{dq} l) (â—ML{dq1} l) (â—ML{dq2} l). + Proof. rewrite /IsOp' /IsOp=> ->. rewrite mono_list_auth_dfrac_op //. Qed. (** * Validity *) Lemma mono_list_auth_dfrac_validN n dq l : ✓{n} (â—ML{dq} l) ↔ ✓ dq. diff --git a/iris/algebra/lib/mono_nat.v b/iris/algebra/lib/mono_nat.v index a30056d162e313e723c9a6f4bc5d2e30057255e3..100b000b719de0642aba214f121df81e184da8fe 100644 --- a/iris/algebra/lib/mono_nat.v +++ b/iris/algebra/lib/mono_nat.v @@ -55,6 +55,13 @@ Section mono_nat. rewrite Nat.max_id //. Qed. + Global Instance mono_nat_auth_dfrac_is_op dq dq1 dq2 n : + IsOp dq dq1 dq2 → IsOp' (â—MN{dq} n) (â—MN{dq1} n) (â—MN{dq2} n). + Proof. rewrite /IsOp' /IsOp=> ->. rewrite mono_nat_auth_dfrac_op //. Qed. + Global Instance mono_nat_lb_max_is_op n n1 n2 : + IsOp (MaxNat n) (MaxNat n1) (MaxNat n2) → IsOp' (â—¯MN n) (â—¯MN n1) (â—¯MN n2). + Proof. rewrite /IsOp' /IsOp /mono_nat_lb=> ->. done. Qed. + (** rephrasing of [mono_nat_lb_op] useful for weakening a fragment to a smaller lower-bound *) Lemma mono_nat_lb_op_le_l n n' :