coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Guillaume Melquiond <guillaume.melquiond AT inria.fr>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] injectivity of inductive type implies False
- Date: Tue, 28 Feb 2017 07:12:25 +0100
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.