Zulip Chat Archive
Stream: Is there code for X?
Topic: Discrete subset of a topological space
Kevin Buzzard (Sep 03 2025 at 13:55):
Do we have a nice way of saying
(∀ x : X, ∃ U : Set Y, IsOpen U ∧ f⁻¹' U = {x})
where f : X -> Y and Y is a topological space? It's "f is injective and the image is discrete" but we don't seem to have a predicate on subspaces of a topological space to say they get the discrete topology.
Yaël Dillies (Sep 03 2025 at 14:20):
Injective f ∧ DiscreteTopology (range f)?
Kevin Buzzard (Sep 03 2025 at 14:34):
A PR to FLT is using this a lot, e.g. "if e : X' Equiv X then true for f iff true for f composed with e" and "if true for f : X -> Y then true for f^n : X^n -> Y^n" etc. It seems a bit weird to set all this up as an "and". Or maybe it doesn't? Should we be doing this?
Aaron Liu (Sep 03 2025 at 15:37):
if you equip X with the discrete topology (do we have a type synonym for that?) then it's equivalent to saying that f is a docs#Topology.IsEmbedding
Kevin Buzzard (Sep 03 2025 at 20:11):
But in the application X might be the rationals and I don't really want to go around equipping it with the discrete topology
Aaron Liu (Sep 03 2025 at 20:28):
that's why I asked for a type synonym
Yaël Dillies (Sep 03 2025 at 20:29):
Even using a type synonym is probably too much noise
Aaron Liu (Sep 03 2025 at 20:30):
how about TopologicalSpace.induced f inst = ⊥
Aaron Liu (Sep 03 2025 at 20:30):
the induced topology is discrete
Yaël Dillies (Sep 03 2025 at 20:31):
Aaron, we all agree this predicate can be easily written. The question is whether it can easily be used
Aaron Liu (Sep 03 2025 at 20:32):
how do you want to use it
Aaron Liu (Sep 03 2025 at 20:32):
I haven't seen a use yet
Aaron Liu (Sep 03 2025 at 20:33):
maybe if I saw some use cases
Yaël Dillies (Sep 03 2025 at 20:35):
Kevin, in measure theory we have notations like Measure[m] alpha or Measurable[malpha] f, Measurable[malpha, mbeta] f for when m, ... aren't the canonical instances of MeasurableSpace alpha, ... What about an IsEmbedding[talpha] f notation? Then your predicate is IsEmbedding[\bot] f and you can use all the IsEmbedding API (provided you open some PRs to replace [TopologicalSpace alpha] with {t : TopologicalSpace alpha} in a bunch of places, which is what I routinely do in measure land).
Anatole Dedecker (Sep 05 2025 at 13:15):
This does not answer Kevin's question, but mathematically I agree with Aaron that the best way to think of this is as an embedding from X with the discrete topology
Last updated: Dec 20 2025 at 21:32 UTC