Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Non strictly positive occurence in inductive definition.

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Non strictly positive occurence in inductive definition.


chronological Thread 
  • From: Roland Zumkeller <Roland.Zumkeller AT polytechnique.fr>
  • To: Coq Club <coq-club AT pauillac.inria.fr>
  • Subject: Re: [Coq-Club] Non strictly positive occurence in inductive definition.
  • Date: Wed, 11 May 2005 18:17:44 +0200
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

Hi,

  But then I get the error message:
Error: Non strictly positive occurrence of "_UNBOUNDED_REL_?" in ...

Can anybody explain me why this inductive definition is not well-formed

Coq rejects this kind of definitions, because one could use it to write non-normalizing terms, for example by embedding the pure lambda-calculus:

Inductive Term : Set :=
  Lambda : (Term -> Term) -> Term.

Definition App (t u : Term) : Term :=
  match t with Lambda f => f u end.

Definition omega := Lambda (fun x => App x x).

Now you get the well-known infinite reduction chain
  App omega omega
-> (fun x => App x x) omega
-> App omega omega
-> ...

Since terms can appear in types this would make it impossible to decide if, e.g., an application is well-typed.
Another question: Is there any damage apart from this? Would it be consistent?

best,

Roland





Archive powered by MhonArc 2.6.16.

Top of Page