diff --git a/theories/proofmode/class_instances.v b/theories/proofmode/class_instances.v
index 08d1ff595cb6d8f7794258b99b40f08030b8d278..998fab9810b709471bd80bc3a4bc105b362c10c3 100644
--- a/theories/proofmode/class_instances.v
+++ b/theories/proofmode/class_instances.v
@@ -31,6 +31,19 @@ Global Instance into_pure_cmra_valid `{CMRADiscrete A} (a : A) :
   @IntoPure M (✓ a) (✓ a).
 Proof. by rewrite /IntoPure discrete_valid. Qed.
 
+Global Instance into_pure_exist {X : Type} (Φ : X → uPred M) φ :
+  (∀ x, @IntoPure M (Φ x) (φ x)) → @IntoPure M (∃ x, Φ x) (∃ x, φ x).
+Proof.
+  rewrite /IntoPure=>Hx. apply exist_elim=>x. rewrite Hx.
+  apply pure_elim'=>Hφ. apply pure_intro. eauto.
+Qed.
+
+Global Instance into_pure_forall {X : Type} (Φ : X → uPred M) φ :
+  (∀ x, @IntoPure M (Φ x) (φ x)) → @IntoPure M (∀ x, Φ x) (∀ x, φ x).
+Proof.
+  rewrite /IntoPure=>Hx. rewrite -pure_forall_2. by setoid_rewrite Hx.
+Qed.
+
 (* FromPure *)
 Global Instance from_pure_pure φ : @FromPure M ⌜φ⌝ φ.
 Proof. done. Qed.