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

Group `monpred` BI instances together.

parent de8e16fd
No related branches found
No related tags found
No related merge requests found
...@@ -553,6 +553,18 @@ Section instances. ...@@ -553,6 +553,18 @@ Section instances.
@monPred_defs.monPred_in_unseal). @monPred_defs.monPred_in_unseal).
Ltac unseal := rewrite !monPred_unseal /=. Ltac unseal := rewrite !monPred_unseal /=.
Global Instance monPred_bi_persistently_forall :
BiPersistentlyForall PROP BiPersistentlyForall monPredI.
Proof. intros ? A φ. split=> /= i. unseal. by apply persistently_forall_2. Qed.
Global Instance monPred_bi_pure_forall :
BiPureForall PROP BiPureForall monPredI.
Proof. intros ? A φ. split=> /= i. unseal. by apply pure_forall_2. Qed.
Global Instance monPred_bi_later_contractive :
BiLaterContractive PROP BiLaterContractive monPredI.
Proof. intros ? n. unseal=> P Q HPQ. split=> i /=. f_contractive. apply HPQ. Qed.
Global Instance monPred_bi_embed_emp : BiEmbedEmp PROP monPredI. Global Instance monPred_bi_embed_emp : BiEmbedEmp PROP monPredI.
Proof. split. by unseal. Qed. Proof. split. by unseal. Qed.
...@@ -719,16 +731,6 @@ Section bi_facts. ...@@ -719,16 +731,6 @@ Section bi_facts.
Global Instance monPred_in_flip_mono : Proper (() ==> flip ()) (@monPred_in I PROP). Global Instance monPred_in_flip_mono : Proper (() ==> flip ()) (@monPred_in I PROP).
Proof. solve_proper. Qed. Proof. solve_proper. Qed.
Global Instance monPred_persistently_forall :
BiPersistentlyForall PROP BiPersistentlyForall monPredI.
Proof. intros ? A φ. split=> /= i. unseal. by apply persistently_forall_2. Qed.
Global Instance monPred_pure_forall : BiPureForall PROP BiPureForall monPredI.
Proof. intros ? A φ. split=> /= i. unseal. by apply pure_forall_2. Qed.
Global Instance monPred_later_contractive :
BiLaterContractive PROP BiLaterContractive monPredI.
Proof. intros ? n. unseal=> P Q HPQ. split=> i /=. f_contractive. apply HPQ. Qed.
Global Instance monPred_bi_löb : BiLöb PROP BiLöb monPredI. Global Instance monPred_bi_löb : BiLöb PROP BiLöb monPredI.
Proof. rewrite {2}/BiLöb; unseal=> ? P HP; split=> i /=. apply löb_weak, HP. Qed. Proof. rewrite {2}/BiLöb; unseal=> ? P HP; split=> i /=. apply löb_weak, HP. Qed.
Global Instance monPred_bi_positive : BiPositive PROP BiPositive monPredI. Global Instance monPred_bi_positive : BiPositive PROP BiPositive monPredI.
......
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