coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jason Gross <jasongross9 AT gmail.com>
- To: coq-club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Eval hnf takes forever but compute and lazy work
- Date: Thu, 23 May 2019 02:50:46 -0400
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jasongross9 AT gmail.com; spf=Pass smtp.mailfrom=jasongross9 AT gmail.com; spf=None smtp.helo=postmaster AT mail-ed1-f51.google.com
- Ironport-phdr: 9a23:KrwKbxK+qoy1irFsm9mcpTZWNBhigK39O0sv0rFitYgRKP3xwZ3uMQTl6Ol3ixeRBMOHsqsC0rON+Pm5BSQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7Ovr6GpLIj8Swyuu+54Dfbx9HiTagfL9+Ngi6oRjfu8UZnIduN6k8wQbVr3VVfOhb2XlmLk+JkRbm4cew8p9j8yBOtP8k6sVNT6b0cbkmQLJBFDgpPHw768PttRnYUAuA/WAcXXkMkhpJGAfK8hf3VYrsvyTgt+p93C6aPdDqTb0xRD+v4btnRAPuhSwaMTMy7WPZhdFqjK9Drx2hqR5wzY7abo+WKfRwYL/ScMgASmZdRMtcTTBNDp++YoYJEuEPPfxYr474p1YWqRWxHxKsBOTpyjRVh3H2x6o60/86EQrb2wEgHcgBsG/TrNXzO6cSS+e1zLLTzTjHdP5W1jL955LJchAlu/2DQbVwcc/IxEQpCgjLjU2QpJT7Mz+J0ukBqWuW4up6We6xl2IqqBt9rziyysoql4LHnJgaykre+iV82Is1JcO3SEp8YdO8FZtfrSCaN49vTsw8Xm5kpT82yrMGtJKmZiQKx5MnxxnQa/yDbYeE+A7sVOGUITtghXJlfqywhwqq/ES+1uHxUtO43VVKoyZfjNXAqnMA2wbT58SaUvd9+12u2TeL1wDd8OFEJkU0mLLZK5E72b4wkZwTsUvZHi/xg0X2l6ube14r+uit8evnY7HmqoWAOI9zjwHyKr4uldCnAeQkLggOWHCW9vi71L365EH2XLFKjuAtnaTCq5DbJcEbprajDANP04Yj7Qy/Dza839gCk3kHNgENRBXShI/wflrKPfqwWfy4mhGnlCph7/HAJLzoRJvXeCvtirDkKJR08ElagCUpystEr8ZWA6oGJv3pXVTq5fTXCxY4N0q/xOOxW4Y17Z8XRW/aWvzRC6jVq1Ldvrt+cdnJX5ccvXPGE9Zg4vfviXEjnlpEJPum2JIWbDazGfE0ehzEM0qpuc8IFCIxhiR7TOHujwffAztaZnL3Uq5loz9mUcSpCoDMQo3ri7uEjn/iQs9mI1teA1XJKk/GMp2eUq5VOi2XK85l1DcDUOr5Rg==
Eval hnf does fixpoint refolding, using the same algorithm as simpl (or cbn), I believe. If you can figure out which fixpoint refolding is causing an issue, you can try to modify the definition of the fixpoint (e.g., try moving all section arguments to arguments of the fix, try moving the body of the fix to its own definition), or you could try marking various constants as opaque.
On a more mundane note, it's probably quite easy to get arbitrarily large terms under hnf which are small under lazy, e.g
let ... in .. creating a term that's exponential in the number of let's when inclined, followed by a constructor applied to an argument that let-binds the final outside let binder and then drops the variable and returns a small constant.
On Thu, May 23, 2019, 00:19 Abhishek Anand <abhishek.anand.iitg AT gmail.com> wrote:
I am trying to produce a definition by computation.`Eval lazy` and `Eval compute` finish within 3 seconds.But `Eval hnf` never returns, at least not within 10 minutes. The memory consumption also grows gradually to 15GB at 10 minutes. My computer has at least 10 additional GB free.Could this be a bug? "Eval hnf" is asking Coq for less work than "Eval compute"; so it is surprising that "Eval hnf" takes much more time and memory.Is there a workaround?
- [Coq-Club] Eval hnf takes forever but compute and lazy work, Abhishek Anand, 05/23/2019
- Re: [Coq-Club] Eval hnf takes forever but compute and lazy work, Jason Gross, 05/23/2019
Archive powered by MHonArc 2.6.18.