coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Siddharth Bhat <siddu.druid AT gmail.com>
- To: 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 23:15:59 +0530
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=siddu.druid AT gmail.com; spf=Pass smtp.mailfrom=siddu.druid AT gmail.com; spf=None smtp.helo=postmaster AT mail-ot1-f54.google.com
- Ironport-phdr: 9a23:g/02Gx/gWILp+/9uRHKM819IXTAuvvDOBiVQ1KB30ukcTK2v8tzYMVDF4r011RmVBN2dtKIP0rKN+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZLebxhUiDanY75/Lxq6oRjNusQYnIBvNrs/xhzVr3VSZu9Y33loJVWdnxb94se/4ptu+DlOtvwi6sBNT7z0c7w3QrJEAjsmNXs15NDwuhnYUQSP/HocXX4InRdOHgPI8Qv1Xpb1siv9q+p9xCyXNtD4QLwoRTiv6bpgRxj1hicaLD456H/YhdBsjKxVpxKhogZww4/SYIqIMPZzcafQcdYcSGFcXMheSjZBD5uzYIsBDeUPPehWoYrgqVUQsRSzHhOjCP/1xzJSmnP6wa833uI8Gg/GxgwgGNcOvWzJotX0KagdTOC1w7PSzTXfb/NdxCrw6IjSfRA9vPqBWqlwccvMxkYyCgPJlEifqZb4PzOUy+sAqGeb7+96WuKuj24rsR1+oj+qxso1jITCm4wbylfB9SpjwYY1I8W1SEF6Yd64EJtQqjqVO5F3QsMlW21otyc6yqEGuZ6mZycG0ogoxxnaa/GBboOG4QrjWf6PLTtkgH9pYrGyihao/US+1+HwStO43VZFoydDj9LCrGoC1wbJ5ciCUvZ9/lmu2TKI1w3L7+FLO0E0la7CJ54m3r48i4MfsUrDEyL5gkn2g6iWdkIr+uis9evreKnpppiZN4NsiwH+NLohmtCnDOgmLgQDW3KX9Oe82bH540H1XalGguc2n6TWqJzaIN4Upq+9Aw9byIYj7BO/Ai+90NQZgHYIMU9FdAiagIjzJlHOIe33AOywg1SpijhrxvTGMqf9DZXKK3jPiK3hcqpl605A1AozyshS6I5TCrEYOf78RkvxtMHDARIiKAy1w+PnCM1n2Y8EWGKPBLWZMKLIvlOS6OIvObrEWIhAszHkbvMh+vTGjHkjmFZbc7P684EQbSWDH/hqI0yDfXqkqNcIDS9epQsyQPGshEefUDJ7aHO7XqZ67TY+XtH1RbzfT5yg1eTSlBywGYdbMzwXUwHeITLTb4yBHsw0RmeXK85lnCYDUOH4GYAk3BCq8gT9zug+d7aGymgjrZvmkeNNyajLjxhrrG57Cs2c1yeGSGQmxjpVFQ9z57h2pAlG8nnG0aV8hKYFR9la5vcMVRtjcJCBk6p1DNf9Xg+HddCMGg6r
Hello,
I'm looking at it from the Haskell perspective, where most idiomatic code is written using lists. If this can automatically convert it into an indexed data structure like a vector, the compiler could potentially have more information for optimisation.
Thanks,
~Sdiddharth
On Mon, 25 Mar 2019 at 22:04 Talia Ringer <tringer AT cs.washington.edu> wrote:
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!
Sending 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.