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

Add implication variants of lemmas `auth_frag_valid`.

parent c65b38ea
No related branches found
No related tags found
No related merge requests found
...@@ -104,10 +104,15 @@ Section auth. ...@@ -104,10 +104,15 @@ Section auth.
Proof. by rewrite view_auth_frac_validN auth_view_rel_unit. Qed. Proof. by rewrite view_auth_frac_validN auth_view_rel_unit. Qed.
Lemma auth_auth_validN n a : {n} ( a) {n} a. Lemma auth_auth_validN n a : {n} ( a) {n} a.
Proof. by rewrite view_auth_validN auth_view_rel_unit. Qed. Proof. by rewrite view_auth_validN auth_view_rel_unit. Qed.
(** The following lemmas are also stated as implications, which can be used
to force [apply] to use the lemma in the right direction. *)
Lemma auth_frag_validN n b : {n} ( b) {n} b. Lemma auth_frag_validN n b : {n} ( b) {n} b.
Proof. by rewrite view_frag_validN auth_view_rel_exists. Qed. Proof. by rewrite view_frag_validN auth_view_rel_exists. Qed.
(** Also stated as implications, which can be used to force [apply] to use the Lemma auth_frag_validN_1 n b : {n} ( b) {n} b.
lemma in the right direction. *) Proof. apply auth_frag_validN. Qed.
Lemma auth_frag_validN_2 n b : {n} b {n} ( b).
Proof. apply auth_frag_validN. Qed.
Lemma auth_frag_op_validN n b1 b2 : {n} ( b1 b2) {n} (b1 b2). Lemma auth_frag_op_validN n b1 b2 : {n} ( b1 b2) {n} (b1 b2).
Proof. apply auth_frag_validN. Qed. Proof. apply auth_frag_validN. Qed.
Lemma auth_frag_op_validN_1 n b1 b2 : {n} ( b1 b2) {n} (b1 b2). Lemma auth_frag_op_validN_1 n b1 b2 : {n} ( b1 b2) {n} (b1 b2).
...@@ -131,13 +136,18 @@ Section auth. ...@@ -131,13 +136,18 @@ Section auth.
rewrite view_auth_valid !cmra_valid_validN. rewrite view_auth_valid !cmra_valid_validN.
by setoid_rewrite auth_view_rel_unit. by setoid_rewrite auth_view_rel_unit.
Qed. Qed.
(** The following lemmas are also stated as implications, which can be used
to force [apply] to use the lemma in the right direction. *)
Lemma auth_frag_valid b : ( b) b. Lemma auth_frag_valid b : ( b) b.
Proof. Proof.
rewrite view_frag_valid cmra_valid_validN. rewrite view_frag_valid cmra_valid_validN.
by setoid_rewrite auth_view_rel_exists. by setoid_rewrite auth_view_rel_exists.
Qed. Qed.
(** Also stated as implications, which can be used to force [apply] to use the Lemma auth_frag_valid_1 b : ( b) b.
lemma in the right direction. *) Proof. apply auth_frag_valid. Qed.
Lemma auth_frag_valid_2 b : b ( b).
Proof. apply auth_frag_valid. Qed.
Lemma auth_frag_op_valid b1 b2 : ( b1 b2) (b1 b2). Lemma auth_frag_op_valid b1 b2 : ( b1 b2) (b1 b2).
Proof. apply auth_frag_valid. Qed. Proof. apply auth_frag_valid. Qed.
Lemma auth_frag_op_valid_1 b1 b2 : ( b1 b2) (b1 b2). Lemma auth_frag_op_valid_1 b1 b2 : ( b1 b2) (b1 b2).
......
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