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: Beta Ziliani <beta AT mpi-sws.org>
  • To: Coq Club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Fixpoint "decreasing on 1st argument" notification
  • Date: Thu, 8 Jun 2017 09:52:14 -0300
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=beta AT mpi-sws.org; spf=Pass smtp.mailfrom=beta AT mpi-sws.org; spf=None smtp.helo=postmaster AT jupiter.mpi-klsb.mpg.de
  • Ironport-phdr: 9a23:CpmKah/DPzXEVf9uRHKM819IXTAuvvDOBiVQ1KB41+McTK2v8tzYMVDF4r011RmSDNqds6oMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2e2//5/ebx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTFUACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMNboRr4oRzut86ZrSAfpiCgZMT457HrXgdF0gK5CvR6tuwBzz4vSbYqINvRxY7ndcMsYSmpPXshfWS9PDJ6iYYQTFOcOJ/pUopPnqlcSsRezBw+hD/7vxD9SgX/22LU33vk/HgHaxgMrAtEBsHXQrNX0LqgSV+G1x7TPwDrYcfxWxS3y5ZPNchA5oPGARKlwcMTKyUU1EAPFlFqQpJXjMjiI1eoNq3CW4/duWO+rkWIrtgV8riKsy8otkIXFm4IYxkja+SllxIs5P961RU5hbdK6DZddtTuWO5Z0T88+RWxjpTw0xaccuZGheSgH0JQnyADba/yAa4WI4A/jVP6QITdkmn1lYqizhxOq8Uih0+H8Vc200E1RoSZfl9nMrn8N2wbO5ceZUvd9/0Gh1iiT1w3L9+1JL0Q5mbDGJ5Ml2LI9lZsevV7eEiL2gEn2ibWZdkQg+uim8eTnZbDmq4eHOIBqlgHxKL8jmsmnAeQ5KwQORGaa+f+m2L3k5035T61GjucqnanBrJDaOcMbq7alDA9Sy4Yv8gqwDzO70NsDhnQHN1JEeBefj4fzIV3OIfb4De2+g1u2ijtryerGbfXdBcDmKWGLu7P8d/4p4ElFjQE30Np35pROC7hHLuilCWHrs9mNJBIlOkSGwuLmAdN8ntcUVH6GKqqBMebJrkTO4fggdbrfLLQJsSrwfqB2r8XlimU0zBpEJfGk



On Thu, Jun 8, 2017 at 9:42 AM, Dominique Larchey-Wendling <dominique.larchey-wendling AT loria.fr> wrote:
Le 08/06/2017 à 14:38, raffaello.giulietti AT supsi.ch a écrit :
> 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".

I suppose that during type-checking, Coq performs some kind of reduction
and sees that 0 * z n reduces to 0 (definition of mult) ... hence there
is no recursive sub-call.

On the contrary, the following fails

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



Exactly. The other day, Gil Hur pass me an example of this. The official answer AFAIK is that "Coq is not Strongly Normalizing, but it is Weakly Normalizing. That is ---together with the property of Uniqueness of Normal Forms--- for every reduction scheme either it terminates in THE normal form of the term, or it loops forever. And, for soundness, that's good enough".





Archive powered by MHonArc 2.6.18.

Top of Page