Skip to content
Snippets Groups Projects
Commit 39a5e48f authored by Robbert Krebbers's avatar Robbert Krebbers
Browse files

More frac_auth stuff.

parent 3cb9abac
No related branches found
No related tags found
No related merge requests found
...@@ -84,6 +84,11 @@ Section frac_auth. ...@@ -84,6 +84,11 @@ Section frac_auth.
Lemma frag_auth_op q1 q2 a1 a2 : ◯!{q1+q2} (a1 a2) ◯!{q1} a1 ◯!{q2} a2. Lemma frag_auth_op q1 q2 a1 a2 : ◯!{q1+q2} (a1 a2) ◯!{q1} a1 ◯!{q2} a2.
Proof. done. Qed. Proof. done. Qed.
Lemma frac_auth_frag_validN_op_1_l n q a b : {n} (◯!{1} a ◯!{q} b) False.
Proof. rewrite -frag_auth_op frac_auth_frag_validN=> -[/exclusiveN_l []]. Qed.
Lemma frac_auth_frag_valid_op_1_l q a b : (◯!{1} a ◯!{q} b) False.
Proof. rewrite -frag_auth_op frac_auth_frag_valid=> -[/exclusive_l []]. Qed.
Global Instance into_op_frac_auth (q q1 q2 : frac) (a a1 a2 : A) : Global Instance into_op_frac_auth (q q1 q2 : frac) (a a1 a2 : A) :
IntoOp q q1 q2 IntoOp a a1 a2 IntoOp (◯!{q} a) (◯!{q1} a1) (◯!{q2} a2). IntoOp q q1 q2 IntoOp a a1 a2 IntoOp (◯!{q} a) (◯!{q1} a1) (◯!{q2} a2).
Proof. by rewrite /IntoOp=> /leibniz_equiv_iff -> ->. Qed. Proof. by rewrite /IntoOp=> /leibniz_equiv_iff -> ->. Qed.
...@@ -92,15 +97,15 @@ Section frac_auth. ...@@ -92,15 +97,15 @@ Section frac_auth.
Proof. by rewrite /FromOp=> /leibniz_equiv_iff <- <-. Qed. Proof. by rewrite /FromOp=> /leibniz_equiv_iff <- <-. Qed.
Global Instance into_op_frac_auth_persistent (q q1 q2 : frac) (a : A) : Global Instance into_op_frac_auth_persistent (q q1 q2 : frac) (a : A) :
IntoOp q q1 q2 Persistent a IntoOp (◯!{q} a) (◯!{q1} a) (◯!{q2} a). Persistent a IntoOp q q1 q2 IntoOp (◯!{q} a) (◯!{q1} a) (◯!{q2} a).
Proof. Proof.
rewrite /IntoOp=> /leibniz_equiv_iff -> ?. rewrite /IntoOp=> ? /leibniz_equiv_iff ->.
by rewrite -frag_auth_op -persistent_dup. by rewrite -frag_auth_op -persistent_dup.
Qed. Qed.
Global Instance from_op_frac_auth_persistent (q q1 q2 : frac) (a : A) : Global Instance from_op_frac_auth_persistent (q q1 q2 : frac) (a : A) :
FromOp q q1 q2 Persistent a FromOp (◯!{q} a) (◯!{q1} a) (◯!{q2} a). Persistent a FromOp q q1 q2 FromOp (◯!{q} a) (◯!{q1} a) (◯!{q2} a).
Proof. Proof.
rewrite /FromOp=> /leibniz_equiv_iff <- ?. rewrite /FromOp=> ? /leibniz_equiv_iff <-.
by rewrite -frag_auth_op -persistent_dup. by rewrite -frag_auth_op -persistent_dup.
Qed. Qed.
......
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