Zulip Chat Archive

Stream: Is there code for X?

Topic: quotient homeomorphisms


Adam Topaz (Aug 06 2021 at 17:57):

Do we have something similar to the following?

import topology.homeomorph

variables {α β : Type*} [topological_space α] [topological_space β]

example {f : α  β} (hf : quotient_map f) : β ≃ₜ quot (λ a b : α, f a = f b) := sorry

Adam Topaz (Aug 06 2021 at 18:45):

In case anyone wants a golfing challenge...

Ruben Van de Velde (Aug 06 2021 at 18:51):

In line 14:

Adam Topaz (Aug 06 2021 at 18:53):

Even exact hf.continuous works ;)

Adam Topaz (Aug 06 2021 at 18:54):

(after the rewrite)

Eric Wieser (Aug 06 2021 at 19:06):

That quotient condition is docs#setoid.ker

Eric Wieser (Aug 06 2021 at 19:07):

Which may have some lemmas that help

Adam Topaz (Aug 06 2021 at 19:23):

A bit better:

import data.setoid.basic
import topology.homeomorph

variables {α β : Type*} [topological_space α] [topological_space β]

noncomputable theory

example {f : α  β} (hf : quotient_map f) : quotient (setoid.ker f) ≃ₜ β :=
{ continuous_to_fun := quotient_map_quot_mk.continuous_iff.mpr hf.continuous,
  continuous_inv_fun := begin
    rw hf.continuous_iff,
    convert continuous_quotient_mk,
    ext,
    simpa [(setoid.quotient_ker_equiv_of_surjective f (quotient_map.surjective hf)).symm_apply_eq],
  end,
  ..(setoid.quotient_ker_equiv_of_surjective _ hf.surjective) }

Eric Wieser (Aug 06 2021 at 19:28):

That strikes me as quite a lot better :)


Last updated: Dec 20 2023 at 11:08 UTC