Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Fixpoint "decreasing on 1st argument" notification

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Fixpoint "decreasing on 1st argument" notification


Chronological Thread 
  • From: Gaetan Gilbert <gaetan.gilbert AT ens-lyon.fr>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Fixpoint "decreasing on 1st argument" notification
  • Date: Thu, 8 Jun 2017 14:41:29 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=gaetan.gilbert AT ens-lyon.fr; spf=Neutral smtp.mailfrom=gaetan.gilbert AT ens-lyon.fr; spf=None smtp.helo=postmaster AT labbe.ens-lyon.fr
  • Ironport-phdr: 9a23:1dwvFRaXy1y+M8jJlCYE2a7/LSx+4OfEezUN459isYplN5qZoMm/bnLW6fgltlLVR4KTs6sC0LuJ9fi4EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQtFiT6/bL9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPCTQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjmk8qxlSgLniD0fOjAk7m/XhMx+gqFVrh2vqBNwwZLbbo6OOfpifa7QZ88WSXZPU8tTUSFKH4Oyb5EID+oEJetWrpPyqEUSrRSkAwmnGeLhyj5MhnDtw6I6yfghGhzB0QwvBd0BrmjUo8/zNKsIXuC1za3Iwi7dYPNMxTfw85bHchY6of2VWbJxcc3RyU81GwPLlFWdsIroNC6W2OQVq2WX8uVtWf61h2MlqQx9uCWjy8Yuh4XTmI4Z1E7I+T14zYorP9G0VVJ3bcC+HJdNuCyXNJF6Tt4hTmxsvisx16cItoShfCcQzZQq3x7fZOKDc4iP+h/jUPyeLixji317Yr6wmRCy8VO5xu34Vsi011BKojBLktnWrnwN1hrT5dabSvZl40us1iqD2xrR5+xGO0w4iKvWJpw7zrIuiJYfr1zPHirsl0X3iK+WeF8k+u+t6+n/bbXpvIGTN5NuhQH4KKgulc2/AeAjPQcQRWib5f+x26Pl/U3iWblKiv03kq7fsJzAK8QbvLa1AxVJ3YY79xa/EzCm3cwEknkANVJJYQ6Ij4z0O17VO/34Fve+g1G0kDhx3fzGP7vhAo/MLnfZirvhc6x9uAZgz184yska7JZJAJkAJujyUwn/ro/2FBg8ZiO9zvruDp1S14cUVHiTSvuWOa7OuFnO6eMrKeSWeKcYvi24L+ki4bjglylqyhcmYaC10M5POziDFfN8LhDBbA==

Some evaluation strategies terminate. eg


Fixpoint z (n: nat): nat := 0 * z n.

Lemma foo n : z n = 0.
unfold z. cbn.
(* (fix z (n0 : nat) : nat := 0) n = 0 *)


I don't know why Coq tries to be smart with this though.

Gaëtan Gilbert

On 08/06/2017 14:38,
raffaello.giulietti AT supsi.ch
wrote:
Hello,

consider the following z function

Fixpoint z (n: nat): nat := 0 * z n.

which Coq accepts with the usual notification "decreasing on 1st argument".

Well, I don't see that this recursive definition is "decreasing on 1st
argument". Indeed, an invocation results in an infinite recursion, as
witnessed by the Out of memory message:

Compute z 0.
Out of memory.

I'd expect Coq to reject the definition (even if the smallest
mathematical fixpoint is the unary function 0).

What is really happening? Any clarification would help.

Greetings
Raffaello




Archive powered by MHonArc 2.6.18.

Top of Page