Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Strict positivity description in CIC spec

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Strict positivity description in CIC spec


Chronological Thread 
  • From: Gaëtan Gilbert <gaetan.gilbert AT skyskimmer.net>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Strict positivity description in CIC spec
  • Date: Mon, 26 Aug 2019 16:22:55 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gaetan.gilbert AT skyskimmer.net; spf=Pass smtp.mailfrom=gaetan.gilbert AT skyskimmer.net; spf=None smtp.helo=postmaster AT relay10.mail.gandi.net
  • Ironport-phdr: 9a23:6obC9Ra+9JB6ookRL8qhmeT/LSx+4OfEezUN459isYplN5qZoMW6bnLW6fgltlLVR4KTs6sC17OM9fm9BSdfvd6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCybL9vMhm6txjdu8kZjIdtKKs8xQbCr2dVdehR2W5mP0+YkQzm5se38p5j8iBQtOwk+sVdT6j0fLk2QKJBAjg+PG87+MPktR/YTQuS/XQcSXkZkgBJAwfe8h73WIr6vzbguep83CmaOtD2TawxVD+/4apnVAPkhSEaPDM/7WrZiNF/jLhDrRy8uRJ/zY7aboKbOvVwcazSf88VS2VaU8ZNVCFMGJ+wY5cBAucDO+tTsonzp0EJrRu7HQSiBfngzSNUhnDs2601y+UvEQDC3AM7Ad0OqmjUp8jyOacdS++60rXIwi/Fb/9M1jf96YzIfQs/rvGWQbJ9atHRyUovFgPejVWQqInlPzaL2eQXqWSb6fRvVf62hmMhtgp/oSCvy98yhoXUhI8Z0FLJ+TljzIooJ9C1S1R3bcCqHZdMry2XNJV6Ttk/T210pio20KMKtJyhcCQXyZkqyRjSYOGdfYeS+BLsTuORLC94hH17fLK/gA6/8VK+xe34TMa10EtGojZfntnJrH8N1hjT5tKISvRn+EeuxDeP2xrV6u5aPUA4javbK5g/zb4sjpcfr1nPEy3slEj0kKOabFgo9+qr5uj9fLnrqIOQO5dxig7kM6QunsK/Af4/MggLR2Wb9v6z26P//ULjRrVGlPI2kqjdsJ/BO8sbvLK5DhRO0oYg6xe/FDSm0NUdnXkCMl1FYgiLj473NFHSOPz4F+uwg0ywkDd3wPDLJqHuApLULnTajLjheat95FVHxQoozdFf4opUBasbLPLyXE/xrt3YAQUjPwy62ea0QOl6g4gZQCeEBrKTGKLUq16BoOw1cMeWY4pAlz9+N/Ej0NHviXU0g0NVKaag0Icebja3H/BsLl+FSWHvk8wCEGIPsxB4SuH23g7RGQVPbmq/CvpvrgowD5irWN+aF9KdxYeZ1SL+JaV4I2VPC1SCC3DtLtvWQPQdcyGTJ8psiHoCWKTzEtZ9hyHrjxfzzv9cFsSR4jcR7Myxz9tk/O7SkBQ/73pyAtjPizjQHVExpXsBQnoN5I46oUF5zQ3fg7J1h/VJTIQV4vpIVkE1PJjQzqp8BsygAg8=


> This leaves open the question of what should happen with "nested" types, like:

I would say it's more a question about non recursively uniform parameters than about nesting

For instance x in [Acc R x := Acc_intro : (forall y, R y x -> Acc R y) -> Acc R x]

Gaëtan Gilbert

On 26/08/2019 15:06, Stefan Monnier wrote:
I'm not an expert but a very sutil interpretation of the rules seems that
the nested positive condition should be applied only considering the arity
of the inductives without the parameters as if the `List (Rose A)` would be
a new inductive.

BTW, this makes a lot of sense if you consider that in the literature,
the CIC is usually presented in such a way that parameters are *outside*
of the inductive definition. IOW

Inductive Rose (A : Set) : Set :=
| rose : (List (Rose A)) -> Rose A.

isn't encoded as

Rose = Ind(self: Set → Set)
< rose : (List (self A)) -> self A >

but as

Rose = λ (A : Set) . Ind(self: Set)
< rose : (List self) -> self >

This leaves open the question of what should happen with "nested" types, like:

Inductive Rose (A : Set) : Set :=
| rose : (List (Rose (List A))) -> Rose A.

which can't be encoded this way, yet is accepted (i.e. the arg is
considered as a parameter and not as an index).


Stefan




Archive powered by MHonArc 2.6.18.

Top of Page