Commit 2638b55d authored by Robbert Krebbers's avatar Robbert Krebbers

Make `Excl_included` and `Excl_includedN` bi-implications.

parent 5ea9eab2
...@@ -118,10 +118,14 @@ Proof. by destruct mx. Qed. ...@@ -118,10 +118,14 @@ Proof. by destruct mx. Qed.
Lemma excl_validN_inv_r n mx a : {n} (mx Excl' a) mx = None. Lemma excl_validN_inv_r n mx a : {n} (mx Excl' a) mx = None.
Proof. by destruct mx. Qed. Proof. by destruct mx. Qed.
Lemma Excl_includedN n a b : Excl' a {n} Excl' b a {n} b. Lemma Excl_includedN n a b : Excl' a {n} Excl' b a {n} b.
Proof. by intros [[c|] Hb%(inj Some)]; inversion_clear Hb. Qed. Proof.
Lemma Excl_included a b : Excl' a Excl' b a b. split; [|by intros ->]. by intros [[c|] Hb%(inj Some)]; inversion_clear Hb.
Proof. by intros [[c|] Hb%(inj Some)]; inversion_clear Hb. Qed. Qed.
Lemma Excl_included a b : Excl' a Excl' b a b.
Proof.
split; [|by intros ->]. by intros [[c|] Hb%(inj Some)]; inversion_clear Hb.
Qed.
End excl. End excl.
Arguments exclO : clear implicits. Arguments exclO : clear implicits.
......
...@@ -90,8 +90,8 @@ Section lifting. ...@@ -90,8 +90,8 @@ Section lifting.
Lemma ownP_eq σ1 σ2 κs n : state_interp σ1 κs n - ownP σ2 - ⌜σ1 = σ2. Lemma ownP_eq σ1 σ2 κs n : state_interp σ1 κs n - ownP σ2 - ⌜σ1 = σ2.
Proof. Proof.
iIntros "Hσ● Hσ◯". rewrite /ownP. iIntros "Hσ● Hσ◯". rewrite /ownP.
iDestruct (own_valid_2 with "Hσ● Hσ◯") as %[Hps _]%auth_both_valid. by iDestruct (own_valid_2 with "Hσ● Hσ◯")
by pose proof (leibniz_equiv _ _ (Excl_included _ _ Hps)) as ->. as %[->%Excl_included _]%auth_both_valid.
Qed. Qed.
Lemma ownP_state_twice σ1 σ2 : ownP σ1 ownP σ2 False. Lemma ownP_state_twice σ1 σ2 : ownP σ1 ownP σ2 False.
Proof. rewrite /ownP -own_op own_valid. by iIntros (?). Qed. Proof. rewrite /ownP -own_op own_valid. by iIntros (?). Qed.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment