coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Pierre Courtieu <Pierre.Courtieu AT cnam.fr>
- To: Georgi Guninski <guninski AT guninski.com>
- Cc: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?
- Date: Fri, 24 Jun 2011 13:46:38 +0200
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; b=r+PnMcnEUHm3H6aUw3qjW3XA19CSLzI5EINv42u1JqWNVe9k7hVOgPdlnrw1FdX63E luH/xUxtTA3BrZ9n2twL3/yD++2XHQDdHuljC3W7FXBJtzO04AXqwxkrKFY3tWcTfl3b WnuToSVydinCoDFygHCIBSICnol4ZlPUgno8A=
> Why is it wrong to declare a proven theorem as an axiom? (this appears
> counter intuitive to me)
As said by the previous answers, if you want to "declare theorem T as
an axiom", you should basically copy the declaration of T and replace
"Theorem" by "Axiom":
Axiom T_ax:Prop.
Which is not useful since T is already proved. Your script declares an
axiom *of type* T, which is not the same. T:Prop does not imply
(neither in coq nor in any consistent type theory) that there exists a
closed term of type T. False is the typical counter-example.
*Replacing* T by T_ax may be useful (for efficiency if T is slow to
compile). It may seem unharmful however it may lead to inconsistencies
if you prove new theorems after that. Even if these theorems are not
about T itself. The reason is that the proof of T comes with universe
constraints which guarantee the consistency of the global proof
environment. Replacing T by T_ax would delete these constraints and
make coq accept proofs that would be inconsistent with the real proof
of T.
An interesting question is: since in this case the potential
inconsistency would not be a consequence of T but a consequence of the
absence of the universe constraints of T, does this provide a way to
build a proof H of False such that Print Assumptions H = \emptyset?
Maybe someone who knows how Print Assumptions works can tell? If yes
then this may be called a "fake proof that looks plausible to human
forensics". However there *is* an axiom somewhere in the environment
that should be detectable in some sense.
Replacing T by (T_ax + universe constraints of T) is an interesting
feature, I believe it is more or less what the -dont-load-proofs
option is made for.
Bests,
Pierre Courtieu
2011/6/23 Georgi Guninski
<guninski AT guninski.com>:
> I am investigating fake proofs that look plausible to human forensics.
>
> Why is it wrong to declare a proven theorem as an axiom? (this appears
> counter intuitive to me)
>
> Theorem T : Prop.
> exact False.
> Defined.
>
> Axiom A : T.
>
> Lemma FUCKMS: False.
> pose proof A. compute in H. contradiction.
> Defined.
>
> Coq < Print Assumptions FUCKMS.
> Axioms:
> A : T
>
> If $T$ were False, how was it proven as a theorem?
>
> Thank you.
>
> --
> joro
>
- [Coq-Club] Why is it wrong to declare a proven theorem as axiom?, Georgi Guninski
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?, gallais @ ensl.org
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?, AUGER Cedric
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?, Pierre Courtieu
- Message not available
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?,
Bruno Barras
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?,
Georgi Guninski
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?, Adam Chlipala
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?,
Pierre-Yves Strub
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?, Pierre-Yves Strub
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?,
Daniel Schepler
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?, Daniel Schepler
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?,
Georgi Guninski
- Re: [Coq-Club] Why is it wrong to declare a proven theorem as axiom?,
Bruno Barras
Archive powered by MhonArc 2.6.16.