coq-club AT inria.fr
Subject: The Coq mailing list
List archive
Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus)
Chronological Thread
- From: Matthieu Sozeau <mattam AT mattam.org>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus)
- Date: Mon, 06 Feb 2017 13:10:31 +0000
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mattam AT mattam.org; spf=Pass smtp.mailfrom=matthieu.sozeau AT gmail.com; spf=None smtp.helo=postmaster AT mail-qt0-f177.google.com
- Ironport-phdr: 9a23:hTPd2x2wAehtRPySsmDT+DRfVm0co7zxezQtwd8ZsesRK/ad9pjvdHbS+e9qxAeQG96Kt7Qb1KGK7uigATVGusnR9ihaMdRlbFwst4Y/p0QYGsmLCEn2frbBThcRO4B8bmJj5GyxKkNPGczzNBX4q3y26iMOSF2kbVImbre9JomHhMOukuu25pf7YgNShTP7b6khAg+xqFD0v9UKgYpvN+4KzQnEq2YAL+Ff2X9hIHqWlgrg78L2+4RspXcD88k9/tJNBP2pN58zSqZVWWwr
The partial way out of this issue is to put some fuel (a large number of Acc_intro constructors) in front of your opaque proof, as is done by Wf.Acc_intro_generator
On Mon, Feb 6, 2017 at 12:01 PM Dominique Larchey-Wendling <dominique.larchey-wendling AT loria.fr> wrote:
Le 06/02/2017 à 08:55, Gaetan Gilbert a écrit :
>>But if you use the second method (acc_rect_alt), it seems to me that
> there would be no need to advance in the computation of the
> accessibility proof while reducing a term defined by induction on that
> predicate, even within Coq internal evaluation strategies. I am not
> sufficiently aware of Coq's internal evaluation mechanism to be certain
> of that but I do not think that added axioms would block the evaluation
> because the proof of accessibility is never needed to reduce the term.
> It might however saturate the memory if it is never reduced ...
>
> Fixpoints only unfold if the principal argument is a constructor. For
> acc_rec_alt the principal argument is the (Hx : acc x) so it needs to be
> reduced.
> This is because otherwise you would get an infinite reduction
>
> acc_rec_alt x Hx ↦ f x (fun y Hy => acc_rec_alt ...)
> ↦ f x (fun y Hy => f y (fun z Hz => acc_rec_alt ...))
> ↦ ...
Ok this is a bit unfortunate ... it means anything defined with
the Fix operator or by induction over a predicate will almost
certainly have its evaluation blocked because most proof terms
are Opaque in Coq ... this is not specific to this particular
fixpoint computation.
D.
- [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Dominique Larchey-Wendling, 02/02/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Arnaud Spiwack, 02/04/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Dominique Larchey-Wendling, 02/05/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Gaetan Gilbert, 02/06/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Dominique Larchey-Wendling, 02/06/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Matthieu Sozeau, 02/06/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Dominique Larchey-Wendling, 02/07/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Matthieu Sozeau, 02/06/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Dominique Larchey-Wendling, 02/06/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Gaetan Gilbert, 02/06/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Dominique Larchey-Wendling, 02/05/2017
- Re: [Coq-Club] The typing of total recursive functions in Coq (via the untyped Lambda calculus), Arnaud Spiwack, 02/04/2017
Archive powered by MHonArc 2.6.18.