coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Daniel Schepler <dschepler AT gmail.com>
- To: Jonas Oberhauser <s9joober AT gmail.com>
- Cc: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Stuck with functions.
- Date: Thu, 8 Nov 2012 14:03:08 -0800
On Thu, Nov 8, 2012 at 1:15 PM, Jonas Oberhauser
<s9joober AT gmail.com>
wrote:
> One thing that has opened my eyes a little bit was this provable proposition
> that Smolka and CE Brown showed to me:
>
> Goal forall X, forall f : X -> (X -> Prop), exists g, forall x, f x <> g.
>
> What does this mean? Does it mean that there are more "sets of X" than there
> are "elements of X"? Or does it just mean that there is no procedure (in the
> Coq-World) that gives every procedure in (X -> Prop) a unique object of X?
> Certainly you can only write down countably many procedures (or "sets") in
> Coq, but the number of sets of e.g. natural numbers is much larger.
I'm not sure exactly what you're trying to get at with this example.
Of course it's easy to prove this without axioms:
Definition same_set {X} (A B:X->Prop) : Prop :=
forall x:X, A x <-> B x.
Lemma Cantor_diag: forall {X} (f:X -> (X->Prop)),
exists B:X->Prop, forall x:X, ~ same_set (f x) B.
But this is just a refinement of the statement that every
undergraduate math major learns. And since it's also easy to prove
A=B -> same_set A B, so ~ same_set A B -> A <> B, your statement is an
easy corollary.
The way I tend to look at functional extensionality is: x=y is
equivalent to Leibniz equality, i.e. forall P, P x <-> P y or
equivalently forall P, P x -> P y. The statement that functional
extensionality is consistent, to me, means that for propositions you
can build within Coq, there's no proposition which distinguishes f
from g if all their values are equal. And adding functional
extensionality as an axiom is essentially a promise that you won't add
any other axioms or parameters, like a "function introspection on the
reduction" operation, which would allow you to distinguish for example
between fun n => n and fun n => n+0.
--
Daniel Schepler
- [Coq-Club] Stuck with functions., Jesse Clayton, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Jason Gross, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Adam Chlipala, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Dmitry Grebeniuk, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Kristopher Micinski, 11/08/2012
- Re: [Coq-Club] Stuck with functions., AUGER Cédric, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Jonas Oberhauser, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Daniel Schepler, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Jonas Oberhauser, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Daniel Schepler, 11/09/2012
- Re: [Coq-Club] Stuck with functions., AUGER Cédric, 11/09/2012
- Re: [Coq-Club] Stuck with functions., Jonas Oberhauser, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Alan Schmitt, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Daniel Schepler, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Jonas Oberhauser, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Robbert Krebbers, 11/08/2012
- Re: [Coq-Club] Stuck with functions., Dmitry Grebeniuk, 11/08/2012
- <Possible follow-up(s)>
- Re: [Coq-Club] Stuck with functions., Jonas Oberhauser, 11/08/2012
Archive powered by MHonArc 2.6.18.