Skip to content
Snippets Groups Projects
Commit 7330d7e4 authored by Ralf Jung's avatar Ralf Jung
Browse files

Merge branch 'mono' into 'master'

add some missing IsOp instances and remove accidental instance for mono_nat and mono_list

See merge request !828
parents f20bc050 f1cefaac
No related branches found
No related tags found
No related merge requests found
...@@ -30,6 +30,9 @@ lemma. ...@@ -30,6 +30,9 @@ lemma.
- Add `frac_auth_frag_op_validN` and `frac_auth_frag_op_valid`, which are - Add `frac_auth_frag_op_validN` and `frac_auth_frag_op_valid`, which are
bi-implications with arbitrary fractions. bi-implications with arbitrary fractions.
- Add `ufrac_auth_frag_op_validN` and `ufrac_auth_frag_op_valid`. - 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`:** **Changes in `bi`:**
......
...@@ -70,8 +70,9 @@ Section mono_list_props. ...@@ -70,8 +70,9 @@ Section mono_list_props.
by rewrite /mono_list_auth /mono_list_lb -!assoc -auth_frag_op -core_id_dup. by rewrite /mono_list_auth /mono_list_lb -!assoc -auth_frag_op -core_id_dup.
Qed. Qed.
Global Instance mono_list_lb_is_op l : IsOp' (ML l) (ML l) (ML l). Global Instance mono_list_auth_dfrac_is_op dq dq1 dq2 l :
Proof. by rewrite /IsOp' /IsOp -core_id_dup. Qed. 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 *) (** * Validity *)
Lemma mono_list_auth_dfrac_validN n dq l : {n} (ML{dq} l) dq. Lemma mono_list_auth_dfrac_validN n dq l : {n} (ML{dq} l) dq.
......
...@@ -55,6 +55,13 @@ Section mono_nat. ...@@ -55,6 +55,13 @@ Section mono_nat.
rewrite Nat.max_id //. rewrite Nat.max_id //.
Qed. 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 (** rephrasing of [mono_nat_lb_op] useful for weakening a fragment to a
smaller lower-bound *) smaller lower-bound *)
Lemma mono_nat_lb_op_le_l n n' : Lemma mono_nat_lb_op_le_l n n' :
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment