Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Positivity condition behind a match

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Positivity condition behind a match


Chronological Thread 
  • From: Pierre-Marie Pédrot <pierre-marie.pedrot AT inria.fr>
  • To: Coq-Club Club <coq-club AT inria.fr>
  • Subject: [Coq-Club] Positivity condition behind a match
  • Date: Tue, 23 Oct 2012 12:19:57 +0200

I'm almost sure this has already been discussed here, but I can't find
it anymore, so I'm asking before doing anything wrong.

Here is my problem: is there something subtle I'm missing between the
two following (co)inductive definitions, or is this, as I think I read
somewhere, a unimplemented feature?

This works:

Inductive toto :=
| Toto : (unit -> toto) -> toto.

This does not, because Coq asserts it would break the positivity condition:

Inductive titi :=
| Titi : (forall p, match p with tt => titi end) -> titi.

This seems really odd to me. Is there any metatheoretical result
forbidding this or may I already write the patch fixing this (which I
badly need and did not manage to somehow bypass when working with
coinductives)?

PMP

Attachment: signature.asc
Description: OpenPGP digital signature




Archive powered by MHonArc 2.6.18.

Top of Page