Zulip Chat Archive
Stream: general
Topic: Noob meta question
Chris Hughes (Sep 11 2018 at 12:12):
What's the "correct" way to efficiently implement finitely supported functions in Lean meta. Currently I'm using list (α × β)
as α →₀ β
, but this seems totally wrong. By finitely supported, I mean functions for which I only care about the result for finitely many α
Reid Barton (Sep 11 2018 at 12:13):
data.rbmap
?
Reid Barton (Sep 11 2018 at 12:14):
that's the best way I know of
Sean Leather (Sep 11 2018 at 12:15):
https://github.com/spl/lean-finmap ?
Chris Hughes (Sep 11 2018 at 12:38):
rbmap
looks about right. Thanks.
Chris Hughes (Sep 11 2018 at 13:14):
Is there a decidable
instance for mem
in rbmap
anywhere. This seems like something so fundamental that I feel like I must be doing something wrong by trying to use it.
Sean Leather (Sep 11 2018 at 13:15):
I don't think the rbmap
theorem collection is very extensive.
Chris Hughes (Sep 11 2018 at 14:08):
I see there's contains
, which I assume is the same thing.
Chris Hughes (Sep 11 2018 at 14:15):
There doesn't seem to be an erase
either.
Chris Hughes (Sep 11 2018 at 14:49):
Is rbtree α
isomorphic to finset α
, and is rbmap α β
isomorphic to Σ s : finset α, Π x, x ∈ s → β
Last updated: Dec 20 2023 at 11:08 UTC