coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Matthieu Sozeau <mattam AT mattam.org>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] eta-expansion of Program Fixpoints
- Date: Sat, 20 Jan 2018 17:24:48 +0000
- Authentication-results: mail3-smtp-sop.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-wr0-f180.google.com
- Ironport-phdr: 9a23:SHeDxBWiwy8wwAebKXjhDYFtSrfV8LGtZVwlr6E/grcLSJyIuqrYYxSOt8tkgFKBZ4jH8fUM07OQ7/i5HzRYqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba9vIBmssQndqtQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KptVRTmijoINyQh/W7YhMx/jqJVrhyiqRJi3YDbfJqYO+Bicq7HZ94WWXZNU8RXWidcAo28dYwPD+8ZMOhftYb9u0cOrRu/BQayGePk1yJGhnj33KIkyeshDBzN0QslH90UrHTUsM/6NKIJXOCw1qbI0SnDYOlT2Tvn74jIaB8hrOiKULltcsTR0VEiGx3ZgliUs4DoPDOY2v4Qv2SF7OdsT/+jhm07pwx3vzOh3N0jipPTiYIQ0l3E9Tt2wIIyJdCgTU50e9+kEJ9JuyCULYt6XtouQ291tCs51rEKo5G7fC8NyJQowx7QdeaLfJSP4hLmTOqRIDF4i2x5eL+nmRq+7Uytxvf/W8S0ylpGszRJn9rWunwQ1BHf9tCLSv5n8Ueg3TaP2RrT6uZBIU0skKrUMYIhwqIwlpoSr0vDAzX6mF7xjK6XaEor4PWo5v/oYrXjvJCcNot0hhviPaQpn8yzGf44PRQWX2iH5eS806Xu8lH+QLVTl/E5jq3ZsI3BKskAva64AwpV0p455BqlDjem1s4YnXgdI15fdhKHlduhB1abK/fhSPy7nl6EkTFxxvmAMKeyLI/KKy3mmav9fbdw9gZnzxg+xM0Xs5ddFq0IJdr2U1PtvdmeCQU2ZV/ni937Aclwg9tNEVmEBbWUZfuL4A24o9k3KuzJX7c7/TP0Kvwr/fnr1CZrlloUfK3v1pwSOinhQqZWZn6BaH+pue8vVH8Qt1NkHunjlEGLVHhUfXngB/thtAF+M5qvCML4fq7ogLGF233lTJhfZ2QDFUrUVHmxJ93CVPALZyafZMRml25cWA==
Hi Merlin,
I guess it’s a type inference issue here, what if you explicitly do [@map A demo] instead?
Cheers,
- Matthieu
Le sam. 20 janv. 2018 à 14:15, Merlin Göttlinger <megoettlinger AT gmail.com> a écrit :
Hi,when using Program Fixpoint with a measure function the following works (typeckecks):Program Fixpoint demo {A} (l : list A) {measure (length l)} : nat :=match l with| nil => 0| cons x x0 => fold_right plus 0 (map (fun e => demo e) [[x]; x0])end.whereas the version where demo should be eta-expanded automatically does not work because of the added parameters of the measure function:Program Fixpoint demo {A} (l : list A) {measure (length l)} : nat :=match l with| nil => 0| cons x x0 => fold_right plus 0 (map demo [[x]; x0])end.Is there a trick to have Coq expand this automatically or a specific reason why it doesn't?Cheers,Merlin
- [Coq-Club] eta-expansion of Program Fixpoints, Merlin Göttlinger, 01/20/2018
- Re: [Coq-Club] eta-expansion of Program Fixpoints, Matthieu Sozeau, 01/20/2018
- Re: [Coq-Club] eta-expansion of Program Fixpoints, Merlin Göttlinger, 01/20/2018
- Re: [Coq-Club] eta-expansion of Program Fixpoints, Matthieu Sozeau, 01/20/2018
Archive powered by MHonArc 2.6.18.