Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Equality for inductive type containing list

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Equality for inductive type containing list


Chronological Thread 
  • From: Klaus Ostermann <klaus.ostermann AT uni-tuebingen.de>
  • To: coq-club AT inria.fr
  • Subject: [Coq-Club] Equality for inductive type containing list
  • Date: Thu, 6 Oct 2016 13:53:53 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=klaus.ostermann AT uni-tuebingen.de; spf=None smtp.mailfrom=klaus.ostermann AT uni-tuebingen.de; spf=None smtp.helo=postmaster AT mx03.uni-tuebingen.de
  • Ironport-phdr: 9a23:sP3Qwx1h2hFSy8nWsmDT+DRfVm0co7zxezQtwd8ZsegSL/ad9pjvdHbS+e9qxAeQG96KsbQf0aGK6ejJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL2PbrnD61zMOABK3bVMzfbWvXNWIxJjtn8mJuLTrKz1SgzS8Zb4gZD6Xli728vcsvI15N6wqwQHIqHYbM85fxGdvOE7B102kvpT4r9Zf9HFbvOtk/MpdW437eb45RPpWFmcIKWcwse7vvATYBSyU+nYGV2wQlFIcAAzM8Qq8WYztvzH/v+x78DScPIjqUL0+WDKt4qEtRBK+23RPDCIw7GyC0p84t6lcuh/0/xE=

I have an inductive types to describe types in a programming language I
want to formalize. It looks like this:

Inductive ty: Set :=
| tvar : id -> ty
| tpoly : id -> list ty -> ty.

"id" is for identifiers and is just a wrapper around "nat"s.

I want to define equality for this type, both on the "Prop" level
and as a boolean function.

I tried to prove this theorem:

Definition ty_eq_dec (t1 t2 : ty) : {t1 = t2} + {t1 <> t2}.

using "decide equality", but this seems to go nowhere.

I defined an induction principle for "ty" as described in Sec. 14.3
of the Coq book, but it is not clear to me how I can use it
to prove ty_eq_dec.

What is the best way to go about this?

Klaus





Archive powered by MHonArc 2.6.18.

Top of Page