From ed383a7740adbde57f5b210e83268786e52a3f22 Mon Sep 17 00:00:00 2001 From: Ralf Jung <jung@mpi-sws.org> Date: Thu, 13 Oct 2016 10:59:48 +0200 Subject: [PATCH] Make everything compile with Coq 8.6 --- prelude/list.v | 7 ++++++- program_logic/namespaces.v | 3 ++- proofmode/tactics.v | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/prelude/list.v b/prelude/list.v index b96edfdc9..c8af713f3 100644 --- a/prelude/list.v +++ b/prelude/list.v @@ -2234,7 +2234,12 @@ Section Forall_Exists. Lemma not_Forall_Exists l : ¬Forall P l → Exists (not ∘ P) l. Proof. intro. destruct (Forall_Exists_dec dec l); intuition. Qed. Lemma not_Exists_Forall l : ¬Exists P l → Forall (not ∘ P) l. - Proof. by destruct (Forall_Exists_dec (λ x, swap_if (decide (P x))) l). Qed. + Proof. + (* TODO: Coq 8.6 needs type annotation here, Coq 8.5 did not. + Should we report this? *) + by destruct (@Forall_Exists_dec (not ∘ P) _ + (λ x : A, swap_if (decide (P x))) l). + Qed. Global Instance Forall_dec l : Decision (Forall P l) := match Forall_Exists_dec dec l with | left H => left H diff --git a/program_logic/namespaces.v b/program_logic/namespaces.v index 62de7e675..06b91c92c 100644 --- a/program_logic/namespaces.v +++ b/program_logic/namespaces.v @@ -52,7 +52,8 @@ Section ndisjoint. Lemma ndot_ne_disjoint N x y : x ≠y → N .@ x ⊥ N .@ y. Proof. intros Hxy a. rewrite !nclose_eq !elem_coPset_suffixes !ndot_eq. - intros [qx ->] [qy]. by intros [= ?%encode_inj]%list_encode_suffix_eq. + intros [qx ->] [qy Hqy]. + revert Hqy. by intros [= ?%encode_inj]%list_encode_suffix_eq. Qed. Lemma ndot_preserve_disjoint_l N E x : nclose N ⊥ E → nclose (N .@ x) ⊥ E. diff --git a/proofmode/tactics.v b/proofmode/tactics.v index c63a655e1..9941b50ef 100644 --- a/proofmode/tactics.v +++ b/proofmode/tactics.v @@ -834,7 +834,7 @@ Tactic Notation "iRevertIntros" constr(Hs) "with" tactic(tac) := | ESelName ?p ?H :: ?Hs => iRevert H; go Hs; let H' := - match p with true => constr:[IAlwaysElim (IName H)] | false => H end in + match p with true => constr:([IAlwaysElim (IName H)]) | false => H end in iIntros H' end in iElaborateSelPat Hs go. -- GitLab