coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: roux cody <cody.roux AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Question about mutual inductive definition with fixpoint
- Date: Tue, 16 Feb 2016 21:39:48 -0500
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=cody.roux AT gmail.com; spf=Pass smtp.mailfrom=cody.roux AT gmail.com; spf=None smtp.helo=postmaster AT mail-io0-f169.google.com
- Ironport-phdr: 9a23:LV3PXRSHe1R1fZT/3CE/0r7Q/9psv+yvbD5Q0YIujvd0So/mwa64ZxaN2/xhgRfzUJnB7Loc0qyN4/+mBTBLvcfJmUtBWaIPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3BPAZ4bt74BpTVx5zukbvipNuPP04U1XKUWvBbElaflU3prM4YgI9veO4a6yDihT92QdlQ3n5iPlmJnhzxtY+a9Z9n9DlM6bp6r5YTGfayQ6NtRrtBST8iLmod5cvxtBCFQxHcyGEbVzAMlQdYSwPC4ACyCpz2vjq8rO1gyAGVOMT3SfY/XjH0vPQjcwPhlCpSb21xy2rQkMEl1K8=
This isn't possible as-is in Coq, it's an instance of what you would call *induction recursion*. It's possible to simulate it with -impredicative-set (see here: http://fplab.bitbucket.org/posts/2012-12-06-induction-recursion.html) but I wouldn't recommend it. Instead it's probably better to have an additional parameter for Term, say of all variables which appear free:
Term : forall A B W, (list nat) -> Type
http://www.chargueraud.org/talks/2006_09_13_talk_inria_binders.pdf
On Tue, Feb 16, 2016 at 12:38 PM, Ilmārs Cīrulis <ilmars.cirulis AT gmail.com> wrote:
// Somehow I wrote answer but it got lost and wasn't send.
Thank you, but this isn't good enough. If my idea isn't possible, then I will simply write inductive definition of Term, then Fixpoint on it (smth like term_is_correct) and use it inside type { T | term_is_correct T}.
But it would be unsatisfying for me. Because I need only correct Term instances (with correct bindings inside of them) and have no use for incorrect ones. :|
If such mutual definition - of an inductive type which uses (in definition) a fixpoint defined on it - isn't possible in Coq, I will, of course, accept it and use sigma type.
- [Coq-Club] Question about mutual inductive definition with fixpoint, Ilmārs Cīrulis, 02/15/2016
- Re: [Coq-Club] Question about mutual inductive definition with fixpoint, Ilmārs Cīrulis, 02/15/2016
- Re: [Coq-Club] Question about mutual inductive definition with fixpoint, Benoît Viguier, 02/15/2016
- Re: [Coq-Club] Question about mutual inductive definition with fixpoint, Ilmārs Cīrulis, 02/16/2016
- Re: [Coq-Club] Question about mutual inductive definition with fixpoint, roux cody, 02/17/2016
- Re: [Coq-Club] Question about mutual inductive definition with fixpoint, Frédéric Blanqui, 02/17/2016
- Re: [Coq-Club] Question about mutual inductive definition with fixpoint, Ilmārs Cīrulis, 02/16/2016
- Re: [Coq-Club] Question about mutual inductive definition with fixpoint, Benoît Viguier, 02/15/2016
- Re: [Coq-Club] Question about mutual inductive definition with fixpoint, Ilmārs Cīrulis, 02/15/2016
Archive powered by MHonArc 2.6.18.