coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Arnaud Spiwack <aspiwack AT lix.polytechnique.fr>
- To: Coq Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] : is ∀A: Prop, ∼∼(A∨∼A) provable in Coq?
- Date: Thu, 3 Sep 2015 11:26:45 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=arnaud.spiwack AT gmail.com; spf=Pass smtp.mailfrom=arnaud.spiwack AT gmail.com; spf=None smtp.helo=postmaster AT mail-la0-f41.google.com
- Ironport-phdr: 9a23:X/QmQxPJ4+i0HAapaasl6mtUPXoX/o7sNwtQ0KIMzox0KPT7rarrMEGX3/hxlliBBdydsKIYzbKK+Pm8EUU7or+/81k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i760zceF13FOBZvIaytQ8iJ35jxj7z5osGbSj4LrQT+SIs6FA+xowTVu5teqqpZAYF19CH0pGBVcf9d32JiKAHbtR/94sCt4MwrqHwI6LoJvvRNWqTifqk+UacQTHF/azh0t4XXskzoShLHzX8BWC1CmR1RRgPB8RvSX5HrsyK8uPAriweAOsijZKoyUCmup5xzSQDhgyRPYzci6GDIg8dzpKZasFS5oBhu34PfYIeULedzOK3HK4BJDVFdV9pcAnQSSri3aJECWq9YZb5V
Let me complete Pierre's answer a little. Because it is easy to find this proof a bit mysterious.
First, excluded middle is `∀A:Prop, A∨¬A`. It is evidently at least as strong as `∀A:Prop, ¬¬(A∨¬A)`. And since the latter is provable in Coq, excluded middle is actually stronger. It is a general principle in constructive mathematics that adding double-negations in a statement can be used to make it weaker: an equivalent principle to excluded middle is double-negation elimination `∀A:Prop, ¬¬A→A`, since it doesn't hold in constructive mathematics, adding double-negation makes it, in general, easier to prove a statement.
The principle behind the proof of `∀A:Prop, ¬¬(A∨¬A)` is as follows.
First remark that `∀A:Prop, ¬(A∧¬A)` is provable. The definition of `¬A` being "a contradiction can be derived from `A`", it should be reasonably clear that this property holds in Coq.
The next step is to prove that `∀A B:Prop, ¬(A∨B) → ¬A∧¬B` (in fact it is an equivalence). This is a de Morgan law which holds even without excluded middle. It is true because given a proof of `A`, I can build a proof of `A∨B` which together with `¬(A∨B)` is contradictory, so `¬A` follows from `¬(A∨B)`. Symmetrically, so does `¬B`.
Now, suppose `¬(A∨¬A)`, by the above property, we have `¬A∧¬¬A`. By the first remark, we have a contradiction. Qed.
First, excluded middle is `∀A:Prop, A∨¬A`. It is evidently at least as strong as `∀A:Prop, ¬¬(A∨¬A)`. And since the latter is provable in Coq, excluded middle is actually stronger. It is a general principle in constructive mathematics that adding double-negations in a statement can be used to make it weaker: an equivalent principle to excluded middle is double-negation elimination `∀A:Prop, ¬¬A→A`, since it doesn't hold in constructive mathematics, adding double-negation makes it, in general, easier to prove a statement.
The principle behind the proof of `∀A:Prop, ¬¬(A∨¬A)` is as follows.
First remark that `∀A:Prop, ¬(A∧¬A)` is provable. The definition of `¬A` being "a contradiction can be derived from `A`", it should be reasonably clear that this property holds in Coq.
The next step is to prove that `∀A B:Prop, ¬(A∨B) → ¬A∧¬B` (in fact it is an equivalence). This is a de Morgan law which holds even without excluded middle. It is true because given a proof of `A`, I can build a proof of `A∨B` which together with `¬(A∨B)` is contradictory, so `¬A` follows from `¬(A∨B)`. Symmetrically, so does `¬B`.
Now, suppose `¬(A∨¬A)`, by the above property, we have `¬A∧¬¬A`. By the first remark, we have a contradiction. Qed.
On 3 September 2015 at 11:03, Pierre Casteran <pierre.casteran AT labri.fr> wrote:
Hi,
Assuming ~(A \/ ~A), you first prove ~A, then find a contradiction.
Goal forall A:Prop, ~ ~(A \/ ~A).
intros A H.
apply H.
right;intro a.
destruct H;now left.
Qed.
Pierre
Le 03/09/2015 10:54, shengyu shen a écrit :
Dear all:
I am trying to prove an exercise in coq art “∀A: Prop, ∼∼(A∨∼A).”
I think this may need exclude middle rule, which is not in “Calculus of
Inductive Constructions“
am I right?
Shen
- [Coq-Club] : is ∀A: Prop, ∼∼(A∨∼A) provable in Coq?, shengyu shen, 09/03/2015
- Re: [Coq-Club] : is ∀A: Prop, ∼∼(A∨∼A) provable in Coq?, Pierre Casteran, 09/03/2015
- Re: [Coq-Club] : is ∀A: Prop, ∼∼(A∨∼A) provable in Coq?, Arnaud Spiwack, 09/03/2015
- Re: [Coq-Club] : is ∀A: Prop, ∼∼(A∨∼A) provable in Coq?, shengyu shen, 09/03/2015
- Re: [Coq-Club] : is ∀A: Prop, ∼∼(A∨∼A) provable in Coq?, Arnaud Spiwack, 09/03/2015
- Re: [Coq-Club] : is ∀A: Prop, ∼∼(A∨∼A) provable in Coq?, Dominique Larchey-Wendling, 09/03/2015
- Re: [Coq-Club] : is ∀A: Prop, ∼∼(A∨∼A) provable in Coq?, Pierre Casteran, 09/03/2015
Archive powered by MHonArc 2.6.18.