Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Regarding the properties of a verified beta-reduction evaluator for the untyped lambda calculus

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Regarding the properties of a verified beta-reduction evaluator for the untyped lambda calculus


Chronological Thread 
  • From: Li-yao Xia <lysxia AT gmail.com>
  • To: Donald Leung <i.donaldl AT me.com>
  • Cc: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Regarding the properties of a verified beta-reduction evaluator for the untyped lambda calculus
  • Date: Sun, 9 Feb 2020 09:39:41 -0500
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=lysxia AT gmail.com; spf=Pass smtp.mailfrom=lysxia AT gmail.com; spf=None smtp.helo=postmaster AT mail-ua1-f53.google.com
  • Ironport-phdr: 9a23:U/qbMx3ND/XyUesBsmDT+DRfVm0co7zxezQtwd8Zse0TIvad9pjvdHbS+e9qxAeQG9mCt7QZ2qGK6eigATVGvc/a9ihaMdRlbFwssY0uhQsuAcqIWwXQDcXBSGgEJvlET0Jv5HqhMEJYS47UblzWpWCuv3ZJQk2sfQV6Kf7oFYHMks+5y/69+4HJYwVPmTGxfa5+IA+5oAnMucQam4tvJ6I+xhbGvHdDZuBayX91KV6JkBvw+8m98IR//yhMvv4q6tJNX7j9c6kkV7JTES4oM3oy5M3ltBnDSRWA634BWWgIkRRGHhbI4gjiUpj+riX1uOx92DKHPcLtVrA7RS6i76ZwRxD2jioMKiM0/3vWisx0i6JbvQ6hqhliyIPafI2ZKPxzdb7bcNgHR2ROQ9xRWjRcDI2iYYsBD+kPM+hWoIbypVQBsRSwCBKwBO7t0DJEmmP60KM43uknDArI3BYgH9ULsHnMqtv1Nb4eUOCvw6nP0D7MbvJW1i3g44XPdhAgoeqMXL1xccXL0kQvGAbFgU+RqYzhJT+ayuMNs22C4udmSOmhiHYnphlvrjSzwsogkIrEi4IPxlza6yl13pw5KN22RUJjf9KoDJpduzuHO4doQs4uWWBltDggxrEYuZO2ejUBxo49yB7FcfOHdpCF4hL9W+aVJjd1nHdld6i+hxa26ESg1/fzWtSt3FZEridInMPAtn8K1xzU5ciHTuVy8l291jaI0gDf8uBEIUYqmqrHM5Mt3KI8m54JvUnAHiL6glv6gLGIekk++uWl5fzrYrD8qZ+dM490hBv+MqMrmsGnBeQ5MhMOXmea+eumz7Dj8kj5T69Ljv0yiKXWrJfaJcEDqq6jHwBVypoj6wq4Dzq+zNsYmmAHIEtZdxKDkojmIErDIOv4DPe6m1Sjii1nx/HAPr37A5XCNGLPkLn7feU110kJ5A01xNRTr7ZZF7cOaKbyHEP2stXcAhsRNgHyyOHiXoZTzIQbDEaOR76QN+visFbAsuY+OPmNbacavT/8L74u4Pu43ixxokMUYaT8hchfU3u/BPkzexzEM0qpuc8IFCIxhiR7TOHujwffAztaZnL3Qqtloz9mU8SpCoDMQo3ri7uEjn/iT89mI1teA1XJKk/GMoCNWvMCciWXe5YznTkNVLznQIgkh0j36F3KjoF/J++RwRU28Ir53YEsteLWnBA2szdzCpbF3g==

Hi Donald,


I have not been able to come up with a property analogous to
`beta_step_eval_complete` for the multi-step evaluator. Are there any
properties other than `beta_multistep_eval_sound` above relating
`beta_multistep` and `beta_multistep_eval` that successfully differentiates a
proper implementation of `beta_multistep_eval` from the trivial
implementation shown above? Any ideas would be much appreciated.

The distinguishing feature of the trivial evaluator is that it doesn't step, so we are looking for a property to prevent that. or in other words, to force an evaluator to step whenever possible.

"If the term can beta reduce, then the evaluator will step at least once."

A stronger property could make the gas more relevant, while not requiring the evaluator to always normalize given enough fuel.

"Given fuel n, the evaluator will make n steps, or it will reach a normal form."


Or is it possible to implement the evaluator in such a way that it always
chooses the correct reduction steps towards a beta-normal form (if exists)?

Yes! Call-by-name evaluation is a well-known solution.

If we also add the constraint that you need to find the shortest path, it becomes a harder, I mean, _more interesting_ problem.

Regards,
Li-yao



Archive powered by MHonArc 2.6.18.

Top of Page