diff options
author | Maxime Dénès <mail@maximedenes.fr> | 2017-09-11 14:01:56 +0200 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2017-09-11 14:01:56 +0200 |
commit | cc94172036789cfef28007f59510b7f17df5d45d (patch) | |
tree | bc8f18ed22140496273fa53f2ad0f65bbd45de46 | |
parent | 4882288ba34ad0c47f950e733ae353a1b881df77 (diff) | |
parent | 5241a3f69a0ff8c9d33a02d1cf3ebc7bcead8819 (diff) |
Merge PR #1017: Addressing BZ#5713 (classical_left/classical_right artificially restricted to a non-empty context).
-rw-r--r-- | test-suite/bugs/closed/5713.v | 15 | ||||
-rw-r--r-- | theories/Logic/Classical_Prop.v | 6 |
2 files changed, 18 insertions, 3 deletions
diff --git a/test-suite/bugs/closed/5713.v b/test-suite/bugs/closed/5713.v new file mode 100644 index 000000000..9daf9647f --- /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 f7b53f1dc..a5ae07b64 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. |