Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Debugging an apparently diverging Coq program

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Debugging an apparently diverging Coq program


Chronological Thread 
  • From: Nathaniel Yazdani <nyazdani AT cs.washington.edu>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Debugging an apparently diverging Coq program
  • Date: Fri, 20 Sep 2019 20:46:05 -0400
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=nyazdani AT cs.washington.edu; spf=None smtp.mailfrom=nyazdani AT cs.washington.edu; spf=None smtp.helo=postmaster AT mail-qt1-f174.google.com
  • Ironport-phdr: 9a23:xwTC3RfiD9s3b8n0WA7mvokTlGMj4u6mDksu8pMizoh2WeGdxcW4bR7h7PlgxGXEQZ/co6odzbaP6Oa6Aidbvt7B6ClELMUWEUddyI0/pE8JOIa9E0r1LfrnPWQRPf9pcxtbxUy9KlVfA83kZlff8TWY5D8WHQjjZ0IufrymUoHdgN6q2O+s5pbdfxtHhCanYbN1MR66sRjdutMZjId/JKs90AXFr3VHd+lYx25jOFafkwrh6suq85Nv7jpct+g9+8JcVKnxYrg1Q6FfADk6KW4++dfltQPETQuB53scVnsZnx9VCAXb7x/0Q4n8vDLiuuVyxCeVM8v2TaspWTu59KdkVAXoiCYcODEn9mzcl9F9g7haoBKloBx/3pLUbYSIP/dwYq/RYdUXTndHU81MVSJOH5m8YpMPAeUdMulWsofzp1UQoxS8BgeiA/jixSVUin/zx6A60/gtHAPA0Qc9H9wOqnPUrNDtOakKS++10KnIwi/Fb/NXxzj97JXDfRI7rvCNQL1/a8zRyUgyHA7CiFWRqZbqPjKI2esXtWib7vFtWv60i2I9pQB+uCOvxsctionPiYIV1lfE9SNjzIkrONK4VVd2bNi5G5VesCGaMpF5QsIkQ2xwpCk6zacGuZilcygOzJQr3QDQZOGac4SQ7RLjVfqRITdlhH1+Yr6wmxGy8U2mx+bhVce0yE5HojRZntTIrHwA1Bze5tKaRvZ84kutwyuD2gLc5+1cP0w5lLbXJ4Mkz7ItkpccqkHOEjLqlEnqiaKbdlkr9vS05+nibLXqup+ROJFxhwz/PKkjmdGwDOE3PwUNUWiU5OGx2KPj8E33QbhHiOA9nLPDv5DAP8sbo7a0Aw9L3YYn7BayFzKm384ZnXkDNV5FYQ6Hg5XwN1HAPfz1D/iyj06jkDdswPDGMbnhDYvXInffl7fheK5x609ayAUt0dBS/4xYBq0FLf7pWUL8tMbUAgI4PgCo2errFddw24wGVWKKGKCZMafSsVGS5uIoJumBfIkVuTbnJPkk+vHhl3k5mV4GcKa1xpsbcn65Ee59I0WZYHrshNgBEXsNvgo4VuDllkCNUSNLa3aoQ608/i07CJ6hDYrbWo+th6WB0D6nEZ1Se2BJEUuBEWzodoWBQ/cDcjieIs5nkjweVLiuUZUt1R+0tFyy970yJe3NvyYcqJjL1d5v5uSVmwth2yZzCpG72n2NRmd1k2dAdjYk0Kl5oAQpzEaKw6Rxhf1wHscV+PpSUgY8OoLbyap3B82kCVGJRcuAVFvzGobuOjo2VN9km4ZfMXY4IM2ri1X45wTvBrYUk7KRA5lto/DXxD7uLt19ynDJyK4nyVQqX5kXbDH0tutE7wHWQrXxvQCBja/zJPYXx2jS/XyDzGyBoEZeFgN8TPedBC1NVg7ttd38o3j6YfquBLAgaFUTzMeDLu5TdoSsgwwZGLHsP9PRZ2/3kGC1V06F

I’d second that suggestion. Especially with non-opaque obligation proofs, Compute can really spin out trying to aggressively reduce a stuck term like that.

Playing around with the linked Coq code, I got the problematic function call to normalize as desired using call-by-name evaluation, Eval cbn in $TERM, after flagging the six obligation proofs, Subst_func_obligation_{1,2,3,4,5,6}, as Opaque.

Nate

On Sep 20, 2019, at 8:35 PM, Abhishek Anand <abhishek.anand.iitg AT gmail.com> wrote:

Perhaps they forgot to instantiate the atom type?  the computation would get stuck on (x == x'). `Program` often produces humongous functions.

On Fri, Sep 20, 2019 at 5:15 PM William J. Bowman <wjb AT williamjbowman.com> wrote:
All,

At the following URL is a model of a language with capture-avoiding substitution
that a student wrote:

  https://gist.github.com/wilbowma/acf125222c64ff715a33b26a0ce8b4ab

The program looks (to me) like it ought to terminate quickly, and it's proven
terminating using Program, yet when we run the substitution function on a small
example... coqtop eats about 20 GB of memory and doesn't terminate within 5
minutes.
I'm using Coq 8.9.1 on MacOS 10.14.2; the same behavior is also observed on
Windows 10.

I'd appreciate any help debugging this.

--
William J. Bowman




Archive powered by MHonArc 2.6.18.

Top of Page