coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Chung-Kil Hur <gil.hur AT gmail.com>
- To: Coq-Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] injectivity of inductive type implies False
- Date: Tue, 28 Feb 2017 17:04:59 +0900
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gil.hur AT gmail.com; spf=Pass smtp.mailfrom=gil.hur AT gmail.com; spf=None smtp.helo=postmaster AT mail-qk0-f176.google.com
- Ironport-phdr: 9a23:guiZWRRZldow3NjOWFuW8m+0RNpsv+yvbD5Q0YIujvd0So/mwa69YByN2/xhgRfzUJnB7Loc0qyN4v2mAzNLuM/R+Fk5M7V0HycfjssXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aFRrwLxd6KfroEYDOkcu3y/qy+5rOaAlUmTaxe71/IRG2oAnLqMUbg4RuJrssxhbKv3BFZ/lYyWR0KFyJgh3y/N2w/Jlt8yRRv/Iu6ctNWrjkcqo7ULJVEi0oP3g668P3uxbDSxCP5mYHXWUNjhVIGQnF4wrkUZr3ryD3q/By2CiePc3xULA0RTGv5LplRRP0lCsKMSMy/WfKgcJyka1bugqsqB5xw4DUbo+bN+dwcL3Bct4BX2VNQtxcWjZdDo+gbYYCCfcKM+ZCr4n6olsDtQWzBQmxBOPpxT9En3r43aw+0+88Ew/GwRYgFM8JvXTbrdX1ML0eUeCozKnS1jjDYPZW1i386IjMaBwuvfaMXbdpfMfX1EIhGQTFjlCKpozkOTOYzvgCs2iB4OpkUOKglXQnqxprrji02MghjJTCiIENyl3c6yl13II4Kce7RUN7e9KoDoVcuz2AO4drQM4vQmdlszsgxLIco560Zi0KxYwnxxHBb/yHdJCF4hf5W+aQJTd0nWtleLGjixqr/0is1+/xW8iu3FZFqSpFldbMtnQT2BDJ9seHTf598l+g2TaJyQ/T9vlJLV4omaffMZIswb49moANvUjdAiP6glj6ga2Xe0k8/+in8eXnYrHopp+GMI90jxnzMqsvmsy7G+g4MhUOX3KA9OSz0b3s50z5QLFQgvIqlanZtYjWJd4Hqa6hHw9VzoEj5g6jADehydQUhGUILFZYeB2clIXpIFHPIPXgDfilmViskTFrx+rHPrL7GJnNIGLDw//deuNW7FcZ4w4ux5gL7JVNT7oFPfjbW0nrtdWeAAVvYCKuxOOyI9Vg0IxbemOLSo+EKuuGvl6MoOIyOcGDYYYUvHD2LP1ztK2mtmMwhVJIJfrh5pAQcn3tRvk=
The following thread is related.
In summary, Agada used to support "the injectivity of inductive type constructors" and after I proved False using the feature, it was removed from Agda.
Best,
Gil
On Tue, Feb 28, 2017 at 3:12 PM, Guillaume Melquiond <guillaume.melquiond AT inria.fr> wrote:
On 27/02/2017 19:26, Cristóbal Camarero Coterillo wrote:
> Some time ago I found this inductive type plus axiom of injectivity that
> implies False with the help of dependent_unique_choice and classic.
>
> Inductive some {T:Type} (t:T) : Type:=
> |some_single: some t
> |some_more: Type -> some t-> some t.
>
> Axiom some_inj: forall (T:Type) (x y:T), some x=some y -> x=y.
>
>
> I had really expected that some being a newly introduced type, it could
> be made injective. I mean, it is alike if two vectors are equal they
> must have the same dimension.
Your analogy is wrong. Two equal vectors have the same dimension because
their dimension is actually the size (e.g. the number of constructors)
of their inductive values. Here you have absolutely no relation between
x and a value of type (some x). In fact, if you forget the types, you
will notice that (some x) is no different from a natural number. So any
some_inj axiom that allows for a type T with a larger cardinal than nat
is inconsistent.
Best regards,
Guillaume
- [Coq-Club] injectivity of inductive type implies False, Cristóbal Camarero Coterillo, 02/27/2017
- Re: [Coq-Club] injectivity of inductive type implies False, Guillaume Melquiond, 02/28/2017
- Re: [Coq-Club] injectivity of inductive type implies False, Chung-Kil Hur, 02/28/2017
- Re: [Coq-Club] injectivity of inductive type implies False, Guillaume Melquiond, 02/28/2017
Archive powered by MHonArc 2.6.18.