Skip to content
Snippets Groups Projects
Commit 3e51bdd7 authored by Robbert Krebbers's avatar Robbert Krebbers
Browse files

Prove that `BiPureForall` holds if we assume classical logic in Coq.

parent 6e334252
No related branches found
No related tags found
No related merge requests found
...@@ -547,6 +547,13 @@ Proof. ...@@ -547,6 +547,13 @@ Proof.
- apply exist_elim=> x. eauto using pure_mono. - apply exist_elim=> x. eauto using pure_mono.
Qed. Qed.
Lemma bi_pure_forall_em : ( φ : Prop, φ ¬φ) BiPureForall PROP.
Proof.
intros Hem A φ. destruct (Hem ( a, ¬φ a)) as [[a ]|].
{ rewrite (forall_elim a). by apply pure_elim'. }
apply pure_intro=> a. destruct (Hem (φ a)); naive_solver.
Qed.
Lemma pure_impl_forall φ P : (φ P) ⊣⊢ ( _ : φ, P). Lemma pure_impl_forall φ P : (φ P) ⊣⊢ ( _ : φ, P).
Proof. Proof.
apply (anti_symm _). apply (anti_symm _).
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment