[isabelle-dev] priority queues
Steffen Juilf Smolka
steffen.smolka at in.tum.de
Sat Oct 27 20:54:01 CEST 2012
> Unless you refer to a particularly emerging module in some inter-release repository version --
> lets say you are build some add-ons as very early adopter -- everything concerning Isabelle/ML programming can be discussed on the main isabelle-users mailing list.
I'm working on Sledgehammer with Jasmin Blanchette, so in a way this is related to the repository version of Isabelle. I'm not sure if that makes a difference, though…
> To avoid further complication, here are some hints as if this would be isabelle-users (so I refer to the latest official release):
>
> http://isabelle.in.tum.de/repos/isabelle/file/Isabelle2012/src/Pure/General/heap.ML
> http://isabelle.in.tum.de/repos/isabelle/file/Isabelle2012/src/Pure/General/table.ML
> http://isabelle.in.tum.de/repos/isabelle/file/Isabelle2012/src/Pure/General/graph.ML
Thanks. Jasmin already pointed me to tables. For my application, being able to use min_key as well as max_key is nice, a feature the heap structure does not seem to offer.
Steffen
On 27.10.2012, at 16:58, Makarius <makarius at sketis.net> wrote:
> On Wed, 24 Oct 2012, Lukas Bulwahn wrote:
>
>> I think priority queues are roughly ordered lists (the priority is the ordering). So, you could have a look at Pure/General/ord_list.ML
>
> The main virtue of Ord_List is that insert and merge are of the same complexity: linear. This is important in special applications like maintaining the hyps field of a thm efficiently, but in most other applications the linearity of insert is a performance trap. The balanced tree structure underlying module Table works better in general.
>
>
> Makarius
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman46.in.tum.de/pipermail/isabelle-dev/attachments/20121027/583b3610/attachment-0002.html>
More information about the isabelle-dev
mailing list