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

Add lemma `inv_combine_dup_l`.

Thanks to @tchajed for the initial version of this proof.
parent ea29f3a0
No related branches found
No related tags found
No related merge requests found
......@@ -145,6 +145,18 @@ Section inv.
iMod "Hclose" as %_. iMod ("HcloseQ" with "HQ") as %_. by iApply "HcloseP".
Qed.
Lemma inv_combine_dup_l N P Q :
(P -∗ P P) -∗
inv N P -∗ inv N Q -∗ inv N (P Q).
Proof.
rewrite inv_eq. iIntros "#HPdup #HinvP #HinvQ !#" (E ?).
iMod ("HinvP" with "[//]") as "[HP HcloseP]".
iDestruct ("HPdup" with "HP") as "[$ HP]".
iMod ("HcloseP" with "HP") as %_.
iMod ("HinvQ" with "[//]") as "[$ HcloseQ]".
iIntros "!> [HP HQ]". by iApply "HcloseQ".
Qed.
(** ** Proof mode integration *)
Global Instance into_inv_inv N P : IntoInv (inv N P) 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