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

Some test cases/uses for stronger framing in disjunctions.

parent 2fb90ca6
No related branches found
No related tags found
No related merge requests found
......@@ -47,8 +47,8 @@ Section proofs.
Proof.
iIntros "#HPQ". rewrite /na_inv. iDestruct 1 as (i ?) "#Hinv".
iExists i. iSplit; first done. iApply (inv_iff with "[] Hinv").
iNext. iAlways. iSplit; (iIntros "[[? Ho]|?]";
[iLeft; iFrame "Ho"; by iApply "HPQ"|by iRight]).
iNext; iAlways.
iSplit; iIntros "[[? Ho]|$]"; iLeft; iFrame "Ho"; by iApply "HPQ".
Qed.
Lemma na_alloc : (|==> p, na_own p )%I.
......
......@@ -104,6 +104,12 @@ Lemma test_iFrame_pure (x y z : M) :
x y z -∗ ( x x y z : uPred M).
Proof. iIntros (Hv) "Hxy". by iFrame (Hv Hv) "Hxy". Qed.
Lemma test_iFrame_disjunction_1 P1 P2 Q1 Q2 :
P1 -∗ Q2 -∗ P2 -∗ (P1 P2 False P2) (Q1 Q2).
Proof. iIntros "#HP1 HQ2 HP2". iFrame "HP1 HQ2 HP2". Qed.
Lemma test_iFrame_disjunction_2 P : P -∗ (True True) P.
Proof. iIntros "HP". iFrame "HP". auto. Qed.
Lemma test_iAssert_persistent P Q : P -∗ Q -∗ True.
Proof.
iIntros "HP HQ".
......
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