Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] injectivity of inductive type implies False

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] injectivity of inductive type implies False


Chronological Thread 
  • 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



Archive powered by MHonArc 2.6.18.

Top of Page