Skip to Content.
Sympa Menu

coq-club - Surprizing positivity

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Surprizing positivity


chronological Thread 
  • From: Cuihtlauac ALVARADO <alvarado AT labri.u-bordeaux.fr>
  • To: coq-club AT pauillac.inria.fr
  • Cc: CAST�RAN Pierre <casteran AT labri.u-bordeaux.fr>
  • Subject: Surprizing positivity
  • Date: Thu, 28 May 1998 10:49:13 +0200
  • Organization: Laboratoire Bordelais de Recherche en Informatique

Hello,

We, at Bordeaux, are a bit surprized by the following session :

Welcome to Coq V6.2 (January 1998)

Coq < Require PolyList.  
[Reinterning PolyList ...done]
[Reinterning Le ...done]

Coq < Inductive tree : Set :=
Coq < leaf : tree
Coq < | root : (list tree)->tree.
Warning: Ignoring recursive call
tree_ind is defined
tree_rec is defined
tree_rect is defined
tree is defined

First, I would have expected (following Coq's RM, p76) something like :

Error: Non positive Occurrence in (list tree)->tree

But P. Casteran pointed me that this definition of trees might be seen
as well-founded (and it must be, it's ok).

So, what ? :)
        
What is the difference between this definition and the classical one
(with mutual inductive types).

What is the exact meaning of the warning ?

What should I expect of an object of such a type ?

how/why/when should I prefer to choose such a definition instead of the
mutual inductive one ?

Best regards,

-- 
Cuihtlauac ALVARADO





Archive powered by MhonArc 2.6.16.

Top of Page