diff --git a/theories/proofmode/monpred.v b/theories/proofmode/monpred.v
index b65eddfa72652c6578a8d327246109b493ffd1fe..0dabf37cd9a737f7a5161f08ae8d5b8eac127311 100644
--- a/theories/proofmode/monpred.v
+++ b/theories/proofmode/monpred.v
@@ -81,32 +81,32 @@ Proof.
 Qed.
 
 Global Instance as_valid_monPred_car φ P (Φ : I → PROP) :
-  AsValid φ P → (∀ i, MakeMonPredCar i P (Φ i)) → AsValid φ (∀ i, Φ i) | 100.
+  AsValid φ P → (∀ i, MakeMonPredCar i P (Φ i)) → AsValid' φ (∀ i, Φ i) | 100.
 Proof.
-  rewrite /MakeMonPredCar /AsValid /bi_valid=> -> EQ. setoid_rewrite <-EQ.
-  unseal; split.
+  rewrite /MakeMonPredCar /AsValid' /AsValid /bi_valid=> -> EQ.
+  setoid_rewrite <-EQ. unseal; split.
   - move=>[/= /bi.forall_intro //].
-  - move=>H. split=>i. rewrite /= H bi.forall_elim //.
+  - move=>HP. split=>i. rewrite /= HP bi.forall_elim //.
 Qed.
 Global Instance as_valid_monPred_car_wand φ P Q (Φ Ψ : I → PROP) :
   AsValid φ (P -∗ Q) →
   (∀ i, MakeMonPredCar i P (Φ i)) → (∀ i, MakeMonPredCar i Q (Ψ i)) →
-  AsValid φ (∀ i, Φ i -∗ Ψ i).
+  AsValid' φ (∀ i, Φ i -∗ Ψ i).
 Proof.
-  rewrite /AsValid /MakeMonPredCar. intros -> EQ1 EQ2.
+  rewrite /AsValid' /AsValid /MakeMonPredCar. intros -> EQ1 EQ2.
   setoid_rewrite <-EQ1. setoid_rewrite <-EQ2. split.
-  - move=>/bi.wand_entails H. setoid_rewrite H. by iIntros (i) "$".
-  - move=>H. apply bi.entails_wand. split=>i. iIntros "H". by iApply H.
+  - move=>/bi.wand_entails HP. setoid_rewrite HP. by iIntros (i) "$".
+  - move=>HP. apply bi.entails_wand. split=>i. iIntros "H". by iApply HP.
 Qed.
 Global Instance as_valid_monPred_car_equiv φ P Q (Φ Ψ : I → PROP) :
   AsValid φ (P ∗-∗ Q) →
   (∀ i, MakeMonPredCar i P (Φ i)) → (∀ i, MakeMonPredCar i Q (Ψ i)) →
-  AsValid φ (∀ i, Φ i ∗-∗ Ψ i).
+  AsValid' φ (∀ i, Φ i ∗-∗ Ψ i).
 Proof.
-  rewrite /AsValid /MakeMonPredCar. intros -> EQ1 EQ2.
+  rewrite /AsValid' /AsValid /MakeMonPredCar. intros -> EQ1 EQ2.
   setoid_rewrite <-EQ1. setoid_rewrite <-EQ2. split.
-  - move=>/bi.wand_iff_equiv H. setoid_rewrite H. iIntros. iSplit; iIntros "$".
-  - move=>H. apply bi.equiv_wand_iff. split=>i. by iSplit; iIntros; iApply H.
+  - move=>/bi.wand_iff_equiv HP. setoid_rewrite HP. iIntros. iSplit; iIntros "$".
+  - move=>HP. apply bi.equiv_wand_iff. split=>i. by iSplit; iIntros; iApply HP.
 Qed.
 
 Global Instance into_pure_monPred_car P φ i :
diff --git a/theories/proofmode/tactics.v b/theories/proofmode/tactics.v
index 9c002eaf9ca8ed761e317a85ac27b790442e4091..64b281c788206403ce2d102c5cf489cefb3737fb 100644
--- a/theories/proofmode/tactics.v
+++ b/theories/proofmode/tactics.v
@@ -71,9 +71,13 @@ Proof. split. apply bi.entails_wand. apply bi.wand_entails. Qed.
 Instance as_valid_equiv {PROP : bi} (P Q : PROP) : AsValid (P ≡ Q) (P ∗-∗ Q) | 0.
 Proof. split. apply bi.equiv_wand_iff. apply bi.wand_iff_equiv. Qed.
 
+Class AsValid' {PROP : bi} (φ : Prop) (P : PROP) := as_valid' :> AsValid φ P.
+Arguments AsValid' {_} _%type _%I.
+Hint Mode AsValid' ! ! - : typeclass_instances.
+
 Instance as_valid_embed `{BiEmbedding PROP PROP'} (φ : Prop) (P : PROP) :
-  AsValid φ P → AsValid φ ⎡P⎤.
-Proof. rewrite /AsValid=> ->. rewrite bi_embed_valid //. Qed.
+  AsValid φ P → AsValid' φ ⎡P⎤.
+Proof. rewrite /AsValid' /AsValid=> ->. rewrite bi_embed_valid //. Qed.
 
 (** * Start a proof *)
 Tactic Notation "iStartProof" uconstr(PROP) :=