From 6615248b339b3e0970f16bb5de0b1a929bf3157b Mon Sep 17 00:00:00 2001
From: Robbert Krebbers <mail@robbertkrebbers.nl>
Date: Wed, 15 Jun 2016 14:35:02 +0200
Subject: [PATCH] Make iDestructing of existentials go through always.

---
 proofmode/coq_tactics.v | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/proofmode/coq_tactics.v b/proofmode/coq_tactics.v
index 3e3d103fe..2b9436e89 100644
--- a/proofmode/coq_tactics.v
+++ b/proofmode/coq_tactics.v
@@ -939,6 +939,9 @@ Proof. done. Qed.
 Global Instance exist_destruct_later {A} P (Φ : A → uPred M) :
   ExistDestruct P Φ → Inhabited A → ExistDestruct (▷ P) (λ a, ▷ (Φ a))%I.
 Proof. rewrite /ExistDestruct=> HP ?. by rewrite HP later_exist. Qed.
+Global Instance exist_destruct_always {A} P (Φ : A → uPred M) :
+  ExistDestruct P Φ → ExistDestruct (□ P) (λ a, □ (Φ a))%I.
+Proof. rewrite /ExistDestruct=> HP. by rewrite HP always_exist. Qed.
 
 Lemma tac_exist_destruct {A} Δ i p j P (Φ : A → uPred M) Q :
   envs_lookup i Δ = Some (p, P) → ExistDestruct P Φ →
-- 
GitLab