From 5241a3f69a0ff8c9d33a02d1cf3ebc7bcead8819 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Sun, 3 Sep 2017 21:04:12 +0200 Subject: Addressing BZ#5713 (classical_left/classical_right artificially restricted). As explained in BZ#5713 report, the requirement for a non-empty context is not needed, so we remove it. --- test-suite/bugs/closed/5713.v | 15 +++++++++++++++ theories/Logic/Classical_Prop.v | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 test-suite/bugs/closed/5713.v diff --git a/test-suite/bugs/closed/5713.v b/test-suite/bugs/closed/5713.v new file mode 100644 index 0000000000..9daf9647fc --- /dev/null +++ b/test-suite/bugs/closed/5713.v @@ -0,0 +1,15 @@ +(* Checking that classical_right/classical_left work in an empty context *) + +Require Import Classical. + +Parameter A:Prop. + +Goal A \/ ~A. +classical_right. +assumption. +Qed. + +Goal ~A \/ A. +classical_left. +assumption. +Qed. diff --git a/theories/Logic/Classical_Prop.v b/theories/Logic/Classical_Prop.v index f7b53f1dc2..a5ae07b64c 100644 --- a/theories/Logic/Classical_Prop.v +++ b/theories/Logic/Classical_Prop.v @@ -97,12 +97,12 @@ Proof proof_irrelevance_cci classic. (* classical_left transforms |- A \/ B into ~B |- A *) (* classical_right transforms |- A \/ B into ~A |- B *) -Ltac classical_right := match goal with - | _:_ |-?X1 \/ _ => (elim (classic X1);intro;[left;trivial|right]) +Ltac classical_right := match goal with +|- ?X \/ _ => (elim (classic X);intro;[left;trivial|right]) end. Ltac classical_left := match goal with -| _:_ |- _ \/?X1 => (elim (classic X1);intro;[right;trivial|left]) +|- _ \/ ?X => (elim (classic X);intro;[right;trivial|left]) end. Require Export EqdepFacts. -- cgit v1.2.3