coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Talia Ringer <tringer AT cs.washington.edu>
- To: Coq-Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Plugin for proof reuse with indexed types for Coq 8.8.0
- Date: Mon, 25 Mar 2019 09:33:27 -0700
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=tringer AT cs.washington.edu; spf=None smtp.mailfrom=tringer AT cs.washington.edu; spf=None smtp.helo=postmaster AT mail-wr1-f47.google.com
- Ironport-phdr: 9a23:jVk6vB96IM5vvP9uRHKM819IXTAuvvDOBiVQ1KB30O8cTK2v8tzYMVDF4r011RmVBN2dtKIP27qempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffhlEiCC/bL5xIxm7rgbcvdQKjIV/Lao81gHHqWZSdeRMwmNoK1OTnxLi6cq14ZVu7Sdete8/+sBZSan1cLg2QrJeDDQ9LmA6/9brugXZTQuO/XQTTGMbmQdVDgff7RH6WpDxsjbmtud4xSKXM9H6QawyVD+/6KhlVQLoiDwfNzEn7G7XlsJ+jKVeoB27phx/xZPfbIWaOfd6e6/Qe84RS2hcUcZLTyFODY28YIkPAeQPPuhWspfzqEcVoBSkGQWhHvnixiNUinL026AxzuQvERvB3AwlB98Arm7brNH0NKgITOu70KjIzTPMb/xIwzf29Y/Fcgw7ofGNW7JwftTeyVM0GgzZlVWcs4LkMCmO1uQNsmib6eVgVf6oi24hsQ1+vCWgxto1h4TPm4kbxFfE9SBjz4Y0I921UEF7Yd+4EJtQqiGVLJF6QsIlQ21wtyY6y6EGuZ6mfCcR0pgo2xnfa/mBfoOV4RzjTP6cLSlkiH9hYr6yhBa//VK+xuHiS8W4yllHoyhDn9LRrH4CzQbT5dKCSvZl/keuxzKP1wfL5+FBO080lK7bJ4cvw74qi5YfqErDEyD0lUnsg6+WcUIk+ues6+v5eLnpupicN4pshgH/NKQhhNC/DPwmPgQSW2WX4+ex2b358UHnXrlGk+c6n6bbvZzCIMQUvK+5Awtb0oY57Ba/Ci+r0MgCnXkGKlJFdwyIj5LyNl7SO/D0F/m+jE63kDdrxvDGOLLhAonKLnjFirvuY6ty61NExAop0d9f/45UCq0GIP/rRkDxs8XYAgYlPAyw3uboE85w1pgeWGKKGq+WKrnesV6O5uI1IumDfpUZuDjnK6tt2/m7pngg3HQZYKPhiZAQcTWzGulsC0Sfe3vlxNkbRzQkpA07GdDjjFyLGQRSYXm/Repo+is6Do2rF6/IXcayiaeB3SG0AppQIG1KFwbfQj/Ta4yYVqJUO2qpKch7n2lYBOHwGb9k7gmnsUrB85QiK+PV/iMCspe6hYp+/KvMnAoy9Dp7E8OblWyBUjMsxz9ad3oNxKl65HdF5BKby6Eh0q5TDppM7uhJUwE1KZnaieF2FoKqA1+TTpKyUF+jB+6eL3QxQ9Y2mYJcZk98H5C9lEmG0Xb1RbASkLOPCdo/9aeOh3U=
I think using this for optimization by memoization is feasible, since by moving a fold into the index of a type itself, you are storing the result, and retrieval should be constant time. If you have a specific use case you are thinking of, I would love to see it. It's a use case I had entertained, but I hadn't fleshed it out with a particular example.
The conversion of functions and proofs works by a program transformation directly on the terms.
On Fri, Mar 22, 2019, 10:58 PM Siddharth Bhat <siddu.druid AT gmail.com> wrote:
Hey,This is cool stuff!--How does the automatic conversion from non indexed to indexed types work? I'd love some insight into this. Does this automatically provide the indexed versions of say, getters and setters? Could this be used to increase performance asymptotically (O(n) to O(1) for things like indexing), while still keeping proofs easy (since we can reason over the inductive list structure)?Thanks a ton,~SiddharthOn Sat, 23 Mar, 2019, 11:23 Talia Ringer, <tringer AT cs.washington.edu> wrote:Hi all,I'm excited to release a plugin I've been working on with Nate Yazdani. The plugin is called DEVOID, and the code is here.The basic idea of the plugin is to derive functions and proofs over indexed types like vectors from non-indexed versions of those types like lists. It can do this automatically for a certain class of types without any extra user input. For example, you don't have to supply the relation between lists and vectors; the tool finds it automatically.This is a preliminary release of the tool, which has some glitches to iron out, but if you're interested, take a look at the plugin and play with some of the examples. I'd love feedback, bug reports, external contributions, and so on.Best,TaliaSending this from my phone, please excuse any typos!
- [Coq-Club] Plugin for proof reuse with indexed types for Coq 8.8.0, Talia Ringer, 03/23/2019
- Re: [Coq-Club] Plugin for proof reuse with indexed types for Coq 8.8.0, Siddharth Bhat, 03/23/2019
- Re: [Coq-Club] Plugin for proof reuse with indexed types for Coq 8.8.0, Talia Ringer, 03/25/2019
- Re: [Coq-Club] Plugin for proof reuse with indexed types for Coq 8.8.0, Siddharth Bhat, 03/25/2019
- Re: [Coq-Club] Plugin for proof reuse with indexed types for Coq 8.8.0, Pierre-Evariste Dagand, 03/26/2019
- Re: [Coq-Club] Plugin for proof reuse with indexed types for Coq 8.8.0, Talia Ringer, 03/25/2019
- Re: [Coq-Club] Plugin for proof reuse with indexed types for Coq 8.8.0, Siddharth Bhat, 03/23/2019
Archive powered by MHonArc 2.6.18.