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: 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




Archive powered by MHonArc 2.6.18.

Top of Page