*To*: Andreas Lochbihler <andreas.lochbihler at inf.ethz.ch>, isabelle-users <isabelle-users at cl.cam.ac.uk>*Subject*: Re: [isabelle] efficient code for ('a, 'b) map (as opposed to ('a, 'b) mapping*From*: Florian Haftmann <florian.haftmann at informatik.tu-muenchen.de>*Date*: Fri, 25 Oct 2013 21:05:28 +0200*In-reply-to*: <5268EEED.1030502@inf.ethz.ch>*Organization*: TU Munich*References*: <5268E404.9050304@gmail.com> <5268EEED.1030502@inf.ethz.ch>*User-agent*: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.0

Hi Andreas, > Therefore, you have to switch to some other type. There are two options: > 1. Use ('a, 'b) mapping. I recommend that you only use it for code > generation, the mapping type in its current state is not suitable for > proving lots of stuff. once there has been the rough idea to reformulate Map.thy using a dedicated type like in Mapping.thy. The user-visible difference would be that element lookups need a dedicated function lookup :: ('a, 'b) mapping => 'a => 'b option But this could be inserted implicitly by coercions also whenever a ('a, 'b) mapping it used in place of a function. I did not pursue this further, since my impression was that (unlike sets) the syntax in Map.thy is not so pervasively common, so specification requiring executable data structures can just be based on Mapping.thy. Considering your statement about »easy going« of proofs in Mapping.thy, maybe we have to rethink about it. Or is it just that lemmas / automation are missing? Florian -- PGP available: http://home.informatik.tu-muenchen.de/haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de

**Attachment:
signature.asc**

**Follow-Ups**:**Re: [isabelle] efficient code for ('a, 'b) map (as opposed to ('a, 'b) mapping***From:*Andreas Lochbihler

**References**:**[isabelle] efficient code for ('a, 'b) map (as opposed to ('a, 'b) mapping***From:*Christian Sternagel

**Re: [isabelle] efficient code for ('a, 'b) map (as opposed to ('a, 'b) mapping***From:*Andreas Lochbihler

- Previous by Date: Re: [isabelle] [isabelle-dev] Partial functions
- Next by Date: [isabelle] [Isabelle2013-1 RC] Scalability problem with re-entrant build of the whole distribution
- Previous by Thread: Re: [isabelle] efficient code for ('a, 'b) map (as opposed to ('a, 'b) mapping
- Next by Thread: Re: [isabelle] efficient code for ('a, 'b) map (as opposed to ('a, 'b) mapping
- Cl-isabelle-users October 2013 archives indexes sorted by: [ thread ] [ subject ] [ author ] [ date ]
- Cl-isabelle-users list archive Table of Contents
- More information about the Cl-isabelle-users mailing list