coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: mukesh tiwari <mukeshtiwari.iiitm AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Proving bounds on data structures in Coq?
- Date: Fri, 19 Oct 2018 14:15:44 +1100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mukeshtiwari.iiitm AT gmail.com; spf=Pass smtp.mailfrom=mukeshtiwari.iiitm AT gmail.com; spf=None smtp.helo=postmaster AT mail-wr1-f42.google.com
- Ironport-phdr: 9a23:+Ta3uRJPKRtbpYj6ZdmcpTZWNBhigK39O0sv0rFitYgeKfTxwZ3uMQTl6Ol3ixeRBMOHs60C07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwdFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QLYpUjqg8qhrUgflhygJNzE78G/ZhM9+gr9Frh29vBFw2ZLYbZuPOfZiYq/Qf9UXTndBUMZLUCxBB5uxb44SD+oCI+lYtIn9rEYSrRu/CwijHvnvyj5VjXLx2K06zuchHh/d3AwgA9IOsXrVo8/vNKcTS+y1zajIzTTfb/NTwjr9543IfQogofGIR75/bc3RyUw2Gg7Dk16ep4vlPzaP2eQMtWiW9/BvWv6qi2I9rAFxuDevyt8wionUg4IZ0E3L+jthzIYzIt24UlJ7Yd6qEZROrCGaK5V5QtkkQ21ypik116AGtYa0fCgL1JQnxwPfZOedf4eU5RLjUeCcKip7inJ9YL+zmQq+/Ey6xuD/VsS4ykhGojRYntXWuX0ByRre4dWdRPRn5EeuwzOP2hjT6u5aJUA0krLWK5s7zb4xkpofqErCHjXrlEnvgq+beVso9vKn6+TgZbXmqZucOJFuhg7iNaQun9SzAeU+MgcQQ2iW4fqw2KHn8EHjQ7hHjuc6nrfHvJzHP8gWqbC1DxdQ0ok56ha/Czmm0M4fnXkCNF9FfQ+Hj4v3NFHVIPD4Efa/glq2nzdxxvDKJLzhApTMLnjflbfsZrl960tGxwoyydBT/Y5bCrYEIP7rQE/+qMTYDgMlMwyz2+voFNJ91poHVW2TBq+ZLbjdvEST5uMvJumMfJUatCz8K/gj/f7ujGU2lUUTfamzjtMrbyWzGe0jKEGEa1LthM0AGCEEpFkQVuvv3VifUjNIZz6uXr01/DBzXIe7DorYRpysn7Wb3WG6H5xKY0hJD1mNFTHjcIDSCKREUz6bPsI0ym9MbrOmUYJ0jUj/5j+/8KJuK6/vwgNdsJvi0NZv4OiKzEM98DV1C4KW1GTfFjgozFNNfCc/2eVEmWI40k2KiPEqjPlRFNgV7PRMAF9jaMzsitdiAtW3YTrvO9eETFH8H4ejCDA1C80rmpoAPxw7FNKlgRTOmSGtBu1Nmg==
Hi Siddhart,
You can see quicksort's average case complexity [1], and annotating complexity in type system TiML [2] [3].
Best,
Mukesh
On Fri, Oct 19, 2018 at 5:16 AM Siddharth Bhat <siddu.druid AT gmail.com> wrote:
Thanks, both of those look like excellent references :)Cheers,~Siddharth--On Thu, 18 Oct 2018 at 20:24 Robby Findler <robby AT eecs.northwestern.edu> wrote:You might also be interested in our paper:
A Coq Library For Internal Verification of Running-Times
McCarthy, Fetscher, New, Feltey, Findler
Science of Computer Programming (SCP) 2018
https://www.eecs.northwestern.edu/~robby/pubs/papers/scp2018-mfnff.pdf
There are some other good papers that are worth checking out described
in the related work section, too.
(It actually was first at FLOPS in 2016; Elsevier took a surprisingly
long time to publish the revised version.)
Robby
On Thu, Oct 18, 2018 at 9:50 AM Xuanrui Qi <xqi01 AT cs.tufts.edu> wrote:
>
> Hello Siddharth,
>
> In general, to prove things about complexity, you would define a cost
> semantics, i.e. a recursive running function that defines time costs.
> Then you'd prove your desired complexity properties against that.
>
> Here's a recent paper about formalizing and proving amortized
> complexity in a theorem prover (but Isabelle, not Coq): "Amortized
> Complexity Verified", by Tobias Nipkow, in ITP '15 (
> http://isabelle.in.tum.de/~nipkow/pubs/itp15.pdf).
>
> Also, for something in Coq, there's Arthur Charguéraud and François
> Pottier's 2017 JAR paper, "Verifying the Correctness and Amortized
> Complexity of a Union-Find Implementation in Separation Logic with Time
> Credits". Those might be helpful.
>
> I'm not an expert in cost semantics, so this is just to get you
> started. I suppose the list knows much more about the specifics of
> functional cost analysis.
>
> -Ray
>
> --
> Xuanrui "Ray" Qi
>
> Department of Computer Science
> Tufts University
> Halligan Hall, 161 College Ave
> Medford, MA 02144, USA
>
> Email: xqi01 AT cs.tufts.edu
>
> On Thu, 2018-10-18 at 19:49 +0530, Siddharth Bhat wrote:
> > Hello,
> >
> > I was interested in implementing data structures from Okasaki's
> > "purely functional data structures", but I'm not sure how to actually
> > prove theorems about the amortized analysis -- in terms of the
> > banker's method / physicist's method, while still being able to
> > extract such a data structure out to Haskell code.
> >
> > So, TL;DR:
> > How do I define data structures in Coq such that it is:
> > 1. Extractable to code
> > 2. Allows reasoning to prove bounds using Okasaki's methods?
> >
> > Thanks,
> > ~Siddharth
> > --
> > Sending this from my phone, please excuse any typos!
>
Sending this from my phone, please excuse any typos!
- [Coq-Club] Proving bounds on data structures in Coq?, Siddharth Bhat, 10/18/2018
- Re: [Coq-Club] Proving bounds on data structures in Coq?, Xuanrui Qi, 10/18/2018
- Re: [Coq-Club] Proving bounds on data structures in Coq?, Robby Findler, 10/18/2018
- Re: [Coq-Club] Proving bounds on data structures in Coq?, Siddharth Bhat, 10/18/2018
- Re: [Coq-Club] Proving bounds on data structures in Coq?, mukesh tiwari, 10/19/2018
- Re: [Coq-Club] Proving bounds on data structures in Coq?, Siddharth Bhat, 10/18/2018
- Re: [Coq-Club] Proving bounds on data structures in Coq?, Robby Findler, 10/18/2018
- Re: [Coq-Club] Proving bounds on data structures in Coq?, Xuanrui Qi, 10/18/2018
Archive powered by MHonArc 2.6.18.