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

Later stripping for big_ops.

parent f70294b1
No related branches found
No related tags found
No related merge requests found
From iris.prelude Require Import gmap.
From iris.algebra Require Export upred. From iris.algebra Require Export upred.
From iris.algebra Require Export upred_big_op. From iris.algebra Require Export upred_big_op.
Import uPred. Import uPred.
...@@ -227,6 +228,21 @@ Global Instance strip_later_r_sep P1 P2 Q1 Q2 : ...@@ -227,6 +228,21 @@ Global Instance strip_later_r_sep P1 P2 Q1 Q2 :
StripLaterR P1 Q1 StripLaterR P2 Q2 StripLaterR (P1 P2) (Q1 Q2). StripLaterR P1 Q1 StripLaterR P2 Q2 StripLaterR (P1 P2) (Q1 Q2).
Proof. intros ??; red. by rewrite later_sep; apply sep_mono. Qed. Proof. intros ??; red. by rewrite later_sep; apply sep_mono. Qed.
Global Instance strip_later_r_big_sepM `{Countable K} {A}
(Φ Ψ : K A uPred M) (m : gmap K A) :
( x k, StripLaterR (Φ k x) (Ψ k x))
StripLaterR ([ map] k x m, Φ k x) ([ map] k x m, Ψ k x).
Proof.
rewrite /StripLaterR=> ?. rewrite big_sepM_later; by apply big_sepM_mono.
Qed.
Global Instance strip_later_r_big_sepS `{Countable A}
(Φ Ψ : A uPred M) (X : gset A) :
( x, StripLaterR (Φ x) (Ψ x))
StripLaterR ([ set] x X, Φ x) ([ set] x X, Ψ x).
Proof.
rewrite /StripLaterR=> ?. rewrite big_sepS_later; by apply big_sepS_mono.
Qed.
Global Instance strip_later_l_later P : StripLaterL ( P) P. Global Instance strip_later_l_later P : StripLaterL ( P) P.
Proof. done. Qed. Proof. done. Qed.
Global Instance strip_later_l_and P1 P2 Q1 Q2 : Global Instance strip_later_l_and P1 P2 Q1 Q2 :
......
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