Zulip Chat Archive
Stream: maths
Topic: equivalence between bounded integers and nat
Filippo A. E. Nuccio (Jan 08 2022 at 22:06):
I am wondering if mathlib
has the equivalence (N : ℤ) : ℕ ≃ {x : ℤ // N ≤ x} :=
analogous to the equivalence between ℕ
and {x // x ∉ finset.range N}
provided by docs#not_mem_range_equiv.
Yaël Dillies (Jan 08 2022 at 22:14):
There are many ways to provide it, one of the most general being going through docs#succ_archimedean following the TODO I left at the top of the file.
Yaël Dillies (Jan 08 2022 at 22:15):
Of course, if you want that concrete equivalence decorated with something else than order properties, ignore my stuff :smile:
Filippo A. E. Nuccio (Jan 08 2022 at 22:50):
Thanks! I have a proof, but I was just wondering if I was fooling around for nothing. Your link does not work for me, but I'll have a look. Got it!
Yaël Dillies (Jan 08 2022 at 22:50):
Arf, docs#is_succ_archimedean, sorry
Yury G. Kudryashov (Jan 09 2022 at 19:20):
I think that we should use explicit formulas for this equivalence.
Yaël Dillies (Jan 11 2022 at 09:30):
@Filippo A. E. Nuccio, we actually have something very similar already: docs#finset.not_mem_range_equiv. It's only once in mathlib so feel free to make it nicer!
Filippo A. E. Nuccio (Jan 11 2022 at 10:33):
@Yaël Dillies Yes, thanks! That was the thing I was starting with when I realized by finset
was not a finset nat
. I already have a generalized version, so I will soon PR something.
Last updated: Dec 20 2023 at 11:08 UTC