coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- 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
- [Coq-Club] Non strictly positive occurence in inductive definition., Adam Koprowski
- Re: [Coq-Club] Non strictly positive occurence in inductive definition., Pierre Letouzey
- Re: [Coq-Club] Non strictly positive occurence in inductive definition., Roland Zumkeller
- Re: [Coq-Club] Non strictly positive occurence in inductive definition., Pierre Letouzey
- Re: [Coq-Club] Non strictly positive occurence in inductive definition., Frederic Blanqui
Archive powered by MhonArc 2.6.16.