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

More general instance for framing under `<affine>`.

parent 8343f616
No related branches found
No related tags found
1 merge request!522More general instance for framing under `<affine>`
...@@ -455,6 +455,13 @@ Proof. iIntros "HP HQ". iFrame "HP HQ". Qed. ...@@ -455,6 +455,13 @@ Proof. iIntros "HP HQ". iFrame "HP HQ". Qed.
Lemma test_iFrame_later `{!BiAffine PROP} P Q : P -∗ Q -∗ P Q. Lemma test_iFrame_later `{!BiAffine PROP} P Q : P -∗ Q -∗ P Q.
Proof. iIntros "H1 H2". by iFrame "H1". Qed. Proof. iIntros "H1 H2". by iFrame "H1". Qed.
Lemma test_iFrame_affinely_1 P Q `{!Affine P} :
P -∗ <affine> Q -∗ <affine> (P Q).
Proof. iIntros "HP HQ". iFrame "HQ". iExact "HP". Qed.
Lemma test_iFrame_affinely_2 P Q `{!Affine P, !Affine Q} :
P -∗ Q -∗ <affine> (P Q).
Proof. iIntros "HP HQ". iFrame "HQ". iExact "HP". Qed.
Lemma test_iAssert_modality P : False -∗ P. Lemma test_iAssert_modality P : False -∗ P.
Proof. Proof.
iIntros "HF". iIntros "HF".
......
...@@ -204,11 +204,12 @@ Proof. by rewrite /KnownMakeAffinely /MakeAffinely affinely_True_emp affinely_em ...@@ -204,11 +204,12 @@ Proof. by rewrite /KnownMakeAffinely /MakeAffinely affinely_True_emp affinely_em
Global Instance make_affinely_default P : MakeAffinely P (<affine> P) | 100. Global Instance make_affinely_default P : MakeAffinely P (<affine> P) | 100.
Proof. by rewrite /MakeAffinely. Qed. Proof. by rewrite /MakeAffinely. Qed.
Global Instance frame_affinely R P Q Q' : Global Instance frame_affinely p R P Q Q' :
Frame true R P Q MakeAffinely Q Q' Frame true R (<affine> P) Q'. TCOr (TCEq p true) (Affine R)
Frame p R P Q MakeAffinely Q Q' Frame p R (<affine> P) Q'.
Proof. Proof.
rewrite /Frame /MakeAffinely=> <- <- /=. rewrite /Frame /MakeAffinely=> -[->|?] <- <- /=;
rewrite -{1}(affine_affinely ( R)%I) affinely_sep_2 //. by rewrite -{1}(affine_affinely (_ R)%I) affinely_sep_2.
Qed. Qed.
Global Instance make_intuitionistically_emp : Global Instance make_intuitionistically_emp :
......
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