From 5f98a0bfce6a8572c4dd210ec7c15fe66f2c0a3a Mon Sep 17 00:00:00 2001 From: Ralf Jung <jung@mpi-sws.org> Date: Thu, 18 Jun 2020 15:16:58 +0200 Subject: [PATCH] Add Proper mono instances for make_laterable --- theories/bi/lib/laterable.v | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/theories/bi/lib/laterable.v b/theories/bi/lib/laterable.v index 77ac15310..7983c6fb6 100644 --- a/theories/bi/lib/laterable.v +++ b/theories/bi/lib/laterable.v @@ -76,7 +76,18 @@ Section instances. Global Instance make_laterable_ne : NonExpansive make_laterable. Proof. solve_proper. Qed. Global Instance make_laterable_proper : Proper ((≡) ==> (≡)) make_laterable := ne_proper _. + Global Instance make_laterable_mono' : Proper ((⊢) ==> (⊢)) make_laterable. + Proof. solve_proper. Qed. + Global Instance make_laterable_flip_mono' : + Proper (flip (⊢) ==> flip (⊢)) make_laterable. + Proof. solve_proper. Qed. + + Lemma make_laterable_mono Q1 Q2 : + (Q1 ⊢ Q2) → (make_laterable Q1 ⊢ make_laterable Q2). + Proof. by intros ->. Qed. + (** A stronger version of [make_laterable_mono] that lets us keep persistent + resources. *) Lemma make_laterable_wand Q1 Q2 : □ (Q1 -∗ Q2) -∗ (make_laterable Q1 -∗ make_laterable Q2). Proof. @@ -84,12 +95,6 @@ Section instances. iExists P. iFrame. iIntros "!> HP". iApply "HQ". iApply "HQ1". done. Qed. - Lemma make_laterable_mono Q1 Q2 : - (Q1 ⊢ Q2) → (make_laterable Q1 ⊢ make_laterable Q2). - Proof. - intros HQ12. iApply make_laterable_wand. rewrite HQ12. by iIntros "!# ?". - Qed. - Global Instance make_laterable_laterable Q : Laterable (make_laterable Q). Proof. -- GitLab