Zulip Chat Archive
Stream: general
Topic: Finite maps
Ben Sherman (Nov 06 2018 at 20:17):
Is there a Lean (3) library for finite maps (i.e., key-value maps where finitely many keys are mapped to values)? I don't need performance, just reasoning really. But I'd also be fine if the key type requires decidable ordering (I would assume it would require at least decidable equality). Should I use this https://github.com/spl/lean-finmap?
Reid Barton (Nov 06 2018 at 20:21):
There's data.rbmap
in the Lean standard library, does that meet your needs?
Mario Carneiro (Nov 06 2018 at 20:23):
There is also the finmap
branch of leanprover-community which is porting Sean's work to mathlib
Mario Carneiro (Nov 06 2018 at 20:23):
and hash_map
is also a finite map type
Mario Carneiro (Nov 06 2018 at 20:25):
on the non-computational side, finsupp
is basically the type of finite maps (mapping everything out of domain to 0)
Ben Sherman (Nov 06 2018 at 20:30):
I'm looking for something that has unions and theorems about them. In this regard, both data.rbmap
and data.hash_map
are incomplete. And I do want to write programs, so finsupp
is not what I'm looking for either. So it sounds like finmap
is the way to go! Thanks for pointing me to the finmap
branch of mathlib - I guess I'll use that. Thanks for the pointers, everyone!
Mario Carneiro (Nov 06 2018 at 20:37):
Ah, that's good to know. I'll work on adding unions to rbmap and hash_map
Last updated: Dec 20 2023 at 11:08 UTC