Closed elefthei closed 2 years ago
By compatibility you just mean that importing Extlib
too eagerly can shadow the standard library's Fin
that we use?
Independently from that, there are a few options:
stdpp
that defines additional lemmas for the standard library's fin type (and would take PRs)fin n := {k : nat | k < n}
, we notably used it in the toy compiler for itrees, we could also consider that.That being said, I'm almost certain that we will merge @nchappe 's branch for general indexing of choices sooner or later, in which case fin types will be a lot less present, so I would be in favor of the first bullet unless you're actually feeling like it's painful to work with currently.
Ah ok these all make a lot of sense. Let's keep the standard library fin then and maybe we'll end up adding a dependency to stdpp in the future.
This is another annoying compatibility thing -- the
Fin.t
from ExtLib has many useful lemmas likeBut if we decide to use it we would have to change fin everywhere.