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: raffaello.giulietti AT supsi.ch
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Fixpoint "decreasing on 1st argument" notification
  • Date: Thu, 8 Jun 2017 15:15:19 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=raffaello.giulietti AT supsi.ch; spf=Pass smtp.mailfrom=raffaello.giulietti AT supsi.ch; spf=Pass smtp.helo=postmaster AT ti-edu.ch
  • Ironport-phdr: 9a23:/efuOBeUkDSsyeg2g5o3blOQlGMj4u6mDksu8pMizoh2WeGdxcq9Zh7h7PlgxGXEQZ/co6odzbGH7Oa4ASQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7Ovr6GpLIj8Swyuu+54Dfbx9GiTe5Y75+Ngm6oRnMvcQKnIVuLbo8xAHUqXVSYeRWwm1oJVOXnxni48q74YBu/SdNtf8/7sBMSar1cbg2QrxeFzQmLns65Nb3uhnZTAuA/WUTX2MLmRdVGQfF7RX6XpDssivms+d2xSeXMdHqQb0yRD+v6bpgRh31hycdLzM37X/ZisJwgqxYrhyuqRNwzIzIb4+aL/d+YqDQcMkGSWZdUMtcVSpMCZ68YYsVCOoBOP5Vr5PnqFsAoxuxHxejBOfryj9PnHP20qw60/klEQHHwgMgA84OsHXPodXuKacSSfu1zKjSwTrfb/Nb3yr25ovQch05vP2BWbJ9fdDMxUQtFg7JlEicpI7kMj+Py+gAsXWX4ux9Xuy1kWEnsRt+oj23y8cslIbJgoUVx0jY9SV42Yo6O8C3SFNhbdG4EJtcryCaN41oTcM+W2xkpSI3x70ctZKmfiUHyY4rywPdZvGGaYSE/xDuWPuJLTd9nn1leba/hxio8Uinz+3xTtO030xEripLiNbDqHQN1xjU6sSdRft9/1qh2TKO1w/N9uFEPUE0mLHAK5482r4wjZsTvV7fES/2gEn2lrOZdl04+ui07OTqeqnpppiFN4Ntlg7+NrkuldekDOQjMgkOWnCb9v6m2L3i+035WrRKgecsnqnXqpCJbfgc86W+Gkpe1pspwxe5FTavltoCzlcdK1cQYhuJgYHkP1XJZv/5EPO+jkiwkR9w2ujdP/vqAsaeZkPfmavsKO4uo3VXzxA+mIhS

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

Structurally, I see no *surface* difference between 0 * z n and z n * 0,
so I would expect Coq to accept either both or none. But of course, if
Coq also looks up the definition of the multiplication, then there is a
deeper structural difference and I can understand the different behaviors.

Further, I had the vague impression that the typing system of Coq was
conceived to guarantee strong normalization. Evidently, I'm wrong.

Thanks
Raffaello



Archive powered by MHonArc 2.6.18.

Top of Page