coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Thorsten Altenkirch <Thorsten.Altenkirch AT nottingham.ac.uk>
- To: "coq-club AT inria.fr" <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Mutual inductive types with a predicate
- Date: Wed, 15 Nov 2017 18:13:44 +0000
- Accept-language: en-US
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=Thorsten.Altenkirch AT nottingham.ac.uk; spf=Pass smtp.mailfrom=Thorsten.Altenkirch AT nottingham.ac.uk; spf=None smtp.helo=postmaster AT uidappmx06.nottingham.ac.uk
- Ironport-phdr: 9a23:+irRtRIvs/v4H5CCbNmcpTZWNBhigK39O0sv0rFitYgUKv3xwZ3uMQTl6Ol3ixeRBMOAtKIC1rKempujcFJDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBWB6kG1uHQZHQy6Pg5oLMz0HJTThoK5zar6r5bUekBDgCe3SbJ0NhS/6wvL4Jo4m4xnf5oxzQHSvnZOM81S2W5uJlOJlBa0svuw+4R47ylW/dsl68NGUqTgdKQQS7tEEDUgPGA84Yvivl/eTl3ctTMnTmwKn08QUED+5xbgU8Kpvw==
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Hi,
Frederik Forsberg investigated ind-ind types (IITs) in his PhD thesis. https://personal.cis.strath.ac.uk/fredrik.nordvall-forsberg/thesis/thesis.pdf
Interestingly he couldn’t find a satisfying translation of IITs into ordinary inductive types. However, we have recently revisited his topic and found that at least for our standard example there is a translation if you have quotient types. I realize that this is not of much help in Coq,, though.
There are many interesting examples of induction-induction if you allow equality constructors – we call this quotient inductive inductive types. They are special cases of HITs or more precisely HIITs.
Cheers, Thorsten
From:
<coq-club-request AT inria.fr> on behalf of Matthieu Sozeau <mattam AT mattam.org>
Hi,
What you’re trying to formalize are known as inductive-inductive types, when an inductive can depend through its indices on a previous inductive in the same mutual block, and constructors of later inductives can refer to constructors of the previous inductives (the exact order constraints varies, Agda implements this in a more flexible way for example). There is an experimental branch IR on my GitHub [1] which implements those, based on Coq 8.7. You have to write the eliminators by hand though and consistency is not proven for this version of the calculus yet. Maybe there are other non ind-ind encodings of your types that solve your problem though.
Best, — Matthieu
Le mer. 15 nov. 2017 à 10:23, Merlin Göttlinger <megoettlinger AT gmail.com> a écrit :
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. |
- [Coq-Club] Mutual inductive types with a predicate, Merlin Göttlinger, 11/15/2017
- Re: [Coq-Club] Mutual inductive types with a predicate, Matthieu Sozeau, 11/15/2017
- Re: [Coq-Club] Mutual inductive types with a predicate, Thorsten Altenkirch, 11/15/2017
- Re: [Coq-Club] Mutual inductive types with a predicate, Bas Spitters, 11/16/2017
- Re: [Coq-Club] Mutual inductive types with a predicate, Thorsten Altenkirch, 11/15/2017
- Re: [Coq-Club] Mutual inductive types with a predicate, Matthieu Sozeau, 11/15/2017
Archive powered by MHonArc 2.6.18.