From a06fe19859d4445b6130fe192f7c2228e6cee7af Mon Sep 17 00:00:00 2001
From: Robbert Krebbers <mail@robbertkrebbers.nl>
Date: Wed, 9 May 2018 20:18:56 +0200
Subject: [PATCH] Misc monPred tweaks.

---
 theories/bi/monpred.v | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/theories/bi/monpred.v b/theories/bi/monpred.v
index 86a74749e..e3191ffbf 100644
--- a/theories/bi/monpred.v
+++ b/theories/bi/monpred.v
@@ -651,7 +651,7 @@ Global Instance persistently_if_objective P p `{!Objective P} : Objective (<pers
 Proof. rewrite /bi_persistently_if. destruct p; apply _. Qed.
 Global Instance affinely_if_objective P p `{!Objective P} : Objective (<affine>?p P).
 Proof. rewrite /bi_affinely_if. destruct p; apply _. Qed.
-Global Instance intuitionistically_if_objective P p `{!Objective P} : Objective (<affine>?p P).
+Global Instance intuitionistically_if_objective P p `{!Objective P} : Objective (â–¡?p P).
 Proof. rewrite /bi_intuitionistically_if. destruct p; apply _. Qed.
 
 (** monPred_in *)
@@ -670,10 +670,10 @@ Qed.
 Global Instance monPred_at_monoid_and_homomorphism i :
   MonoidHomomorphism bi_and bi_and (≡) (flip monPred_at i).
 Proof. split; [split|]; try apply _. apply monPred_at_and. apply monPred_at_pure. Qed.
-Global Instance monPred_at_monoid_or_homomorphism :
+Global Instance monPred_at_monoid_or_homomorphism i :
   MonoidHomomorphism bi_or bi_or (≡) (flip monPred_at i).
 Proof. split; [split|]; try apply _. apply monPred_at_or. apply monPred_at_pure. Qed.
-Global Instance monPred_at_monoid_sep_homomorphism :
+Global Instance monPred_at_monoid_sep_homomorphism i :
   MonoidHomomorphism bi_sep bi_sep (≡) (flip monPred_at i).
 Proof. split; [split|]; try apply _. apply monPred_at_sep. apply monPred_at_emp. Qed.
 
@@ -839,14 +839,14 @@ Qed.
 
 (** Objective  *)
 Global Instance internal_eq_objective {A : ofeT} (x y : A) :
-  @Objective I PROP (x ≡ y)%I.
+  @Objective I PROP (x ≡ y).
 Proof. intros ??. by unseal. Qed.
 
-Global Instance later_objective P `{!Objective P} : Objective (â–· P)%I.
+Global Instance later_objective P `{!Objective P} : Objective (â–· P).
 Proof. intros ??. unseal. by rewrite objective_at. Qed.
-Global Instance laterN_objective P `{!Objective P} n : Objective (â–·^n P)%I.
+Global Instance laterN_objective P `{!Objective P} n : Objective (â–·^n P).
 Proof. induction n; apply _. Qed.
-Global Instance except0_objective P `{!Objective P} : Objective (â—‡ P)%I.
+Global Instance except0_objective P `{!Objective P} : Objective (â—‡ P).
 Proof. rewrite /sbi_except_0. apply _. Qed.
 
 (** FUpd  *)
@@ -916,11 +916,8 @@ Proof.
     do 3 apply bi.forall_intro => ?. f_equiv. rewrite bi.forall_elim //.
   - intros P. split=> i /=. apply bi.forall_intro=>_. by apply plainly_emp_intro.
   - intros P Q. split=> i. apply bi.sep_elim_l, _.
-  - intros P Q. split=> i /=.
-    rewrite <-(sig_monPred_sig P), <-(sig_monPred_sig Q), <-(bi.f_equiv _).
-    rewrite -bi.sig_equivI /= -bi.fun_ext. f_equiv=> j.
-    rewrite -prop_ext !(bi.forall_elim j) !bi.pure_impl_forall
-            !bi.forall_elim //.
+  - intros P Q. split=> i /=. rewrite (monPred_equivI P Q). f_equiv=> j.
+    by rewrite -prop_ext !(bi.forall_elim j) !bi.pure_True // !bi.True_impl.
   - intros P. split=> i /=.
     rewrite bi.later_forall. f_equiv=> j. by rewrite -later_plainly_1.
   - intros P. split=> i /=.
-- 
GitLab