diff --git a/base_logic/derived.v b/base_logic/derived.v index 95150ab85f25a30bab550e5970b03040ec73f6eb..8a3b26acffa4060af9d760fa6fb55d8e5f97d87d 100644 --- a/base_logic/derived.v +++ b/base_logic/derived.v @@ -265,6 +265,12 @@ Proof. by intros ->. Qed. Lemma internal_eq_sym {A : cofeT} (a b : A) : a ≡ b ⊢ b ≡ a. Proof. apply (internal_eq_rewrite a b (λ b, b ≡ a)%I); auto. solve_proper. Qed. +Lemma pure_impl_forall φ P : (■φ → P) ⊣⊢ (∀ _ : φ, P). +Proof. + apply (anti_symm _). + - apply forall_intro=> ?. by rewrite pure_equiv // left_id. + - apply impl_intro_l, pure_elim_l=> Hφ. by rewrite (forall_elim Hφ). +Qed. Lemma pure_alt φ : ■φ ⊣⊢ ∃ _ : φ, True. Proof. apply (anti_symm _).