Zulip Chat Archive
Stream: maths
Topic: product of pushforward topologies
Kevin Buzzard (Aug 03 2024 at 12:27):
I have an informal proof of False and I'm trying to figure out where my error is. One "obviously true" fact I've assumed is that the pushforward of a product topology along a product of maps is the product of the pushforward topologies. More precisely, we have a product of topological spaces and maps and from to and to with and just types. How can we put a topology on ? We can pushforward and product, or product and pushforward. Can these be different?? In my application and is the identity function.
import Mathlib.Topology.Constructions
import Mathlib.Topology.Basic
-- Is this false?
lemma coinduced_prod (X Y X' Y' : Type) [τX : TopologicalSpace X] [τY : TopologicalSpace Y]
(f : X → X') (g : Y → Y') :
TopologicalSpace.coinduced (Prod.map f g) instTopologicalSpaceProd =
@instTopologicalSpaceProd X' Y' (τX.coinduced f) (τY.coinduced g) := by
unfold instTopologicalSpaceProd
sorry
Patrick Massot (Aug 03 2024 at 12:48):
I don’t see any reason to expect those topologies to be the same.
Patrick Massot (Aug 03 2024 at 12:49):
The push forward and product play opposite roles. The first one tell you how to build continuous functions out of a type while the second one tells you how to build continuous functions into the product. So there is little hope to find a universal property that would be shared by both your topologies.
Kevin Buzzard (Aug 03 2024 at 12:50):
Oh interesting! This is surely the error in my proof then. Even if X=A and f is the identity function you think these might be different? A pushforward topology can be affected by a random orthogonal topological space?
Patrick Massot (Aug 03 2024 at 12:51):
I just scribbled an inequality proof: I can prove the identity is continuous from the pushed product topology to the product of pushed topologies.
Kevin Buzzard (Aug 03 2024 at 12:58):
Here's another way to ask my question. Say is a function and we have a topology on . How to get a topology on ? Here's a way: push forward the topology on Y. Here's another way: consider the product topology on , now push forward to along and then push forward down to . You're saying that this could give a different answer because was involved despite there never being any map to or from other than the identity map involved in the construction? I mean, I guess you are saying this and I guess I'm saying it goes against my intuition, but at least I can't prove false any more! Thanks!
Patrick Massot (Aug 03 2024 at 13:03):
I’m not saying I have a counter-example, I am only saying I don’t see an abstract non-sense reason to expect an inequality.
Patrick Massot (Aug 03 2024 at 13:04):
We really need something like slim-check to help us here. It should be able to exhaustively search for a counter-example among all A, B, X, Y with cardinal at most 3 and every maps between those. Maybe @Jure Taslak already has something doing this?
Patrick Massot (Aug 03 2024 at 13:05):
Unfortunately, I need to go away from internet for at least four hours so I won’t get the answer immediately.
Kevin Buzzard (Aug 03 2024 at 14:24):
I agree that slim_check for this would be really useful. This is not the first time I've been a situation where I've thought "it wouldn't surprise me if there's just a stupid counterexample to this" but not in the concrete context of Nat.
FWIW here's the proof of false I made; maybe it translates into an example.
The set-up: is a topological space, and acts on and (i.e. SMul R X
and SMul R Y
).
If also has a topology and the -action on is continuous, I proved that the -action on with the pullback topology is continuous (this is basically docs#Inducing.continuousSMul), and I also thought I proved that if has a topology and the action is continuous, then the action on with the pushforward topology is continuous, using this fake argument that the pushforward of the product topology is the product of the pushforward topologies. But here is a counterexample: let act on 1-dimensional real vector spaces and , and consider the zero map from to . If we give the usual topology then the pullback topology on is the top topology, and is always continuous with respect to this topology. However if we give the usual topology then the pushforward topology on is the bottom topology, and the map is not continuous with respect to this topology. So perhaps this will lead to an explicit counterexample above.
Yury G. Kudryashov (Aug 04 2024 at 02:15):
Mario Carneiro (Aug 04 2024 at 03:01):
Also https://math.stackexchange.com/a/228994 which has an actual counterexample. Apparently this is related to why Top is not a CCC
Yury G. Kudryashov (Aug 04 2024 at 03:20):
31697 has a counterexample too, but it's hidden in a comment to an answer.
Mario Carneiro (Aug 04 2024 at 04:36):
incidentally, it's the same counterexample by the same person
Yakov Pechersky (Aug 04 2024 at 04:44):
We now show that 4.3.2 is false without some assumptions on B. Let f :
Q → Q/Z be the identification map and let h = f×1 : Q×Q → (Q/Z)×Q.
Then h is not an identification map.
Proof For each n in Z let rn =
√
2/(|n| + 1)—thus rn is irrational and
rn → 0 as n → ∞. Let An be any open subset of [n, n+1]×R such that the
closure of An meets {n, n + 1} × R in the two points (n, rn) and (n, rn+1)
(such a set An is shaded in Fig. 4.10.) Let A be the union of these sets An,
n ∈ Z, and let B = A ∩ (Q × Q). Then B is closed in Q × Q and saturated
with respect to h. We leave it as an exercise to the reader to prove that in
(Q/Z) × Q the point (f0, 0) belongs to the closure of h[B].
Yakov Pechersky (Aug 04 2024 at 04:44):
The PDF is available on his website
Yakov Pechersky (Aug 04 2024 at 04:45):
https://groupoids.org.uk/pdffiles/topgrpds-e.pdf
Kevin Buzzard (Aug 05 2024 at 14:21):
My example (extracted from above): consider with its usual topology, and define a map from (with its product topology) to (with no topology) sending to . The product of the pushforward topologies is (usual) x (bot), but the pushforward of the product topology is much weirder, the open sets in are the sets whose intersection with , when identified with in the usual way, are open. This is clearly not the product of the pushforward topology because, for example, the definition depends on 37.
Antoine Chambert-Loir (Aug 06 2024 at 13:05):
Mario Carneiro said:
Also https://math.stackexchange.com/a/228994 which has an actual counterexample. Apparently this is related to why Top is not a CCC
That mistake has been made by Bourbaki in their first edition of their Topologies générale. There's a counterexample of an equivalence relation R on a space X and 1 space Y such that the canonical continuous map fro (X x Y)/R to (X/R) x Y is not a homeomorphism.
Yury G. Kudryashov (Aug 13 2024 at 17:43):
I'm looking at "Day and Kelly, On topological quotient maps preserved by pullbacks or products". They define the following topology on Opens X
(should work for any complete lattice): S : Set (Opens X)
is open iff IsUpperSet S ∧ ∀ U : Set (Opens X), sSup U ∈ S → ∃ u ⊆ U, u.Finite ∧ sSup u ∈ S
Yury G. Kudryashov (Aug 13 2024 at 17:45):
The latter property is very close to docs#CompleteLattice.IsCompactElement and is equivalent to it, if S = Set.Ici V
.
Yury G. Kudryashov (Aug 13 2024 at 17:46):
@Oliver Nash You defined IsCompactElement
. Is it useful to add IsCompactUpperSet
? Does it have a standard name in the literature?
Yury G. Kudryashov (Aug 13 2024 at 17:47):
Also, Day and Kelly introduce a property which follows from LocallyCompactSpace
and implies it for R1Space
s.
Yury G. Kudryashov (Aug 13 2024 at 17:48):
This property is the answer to the following question: for what spaces Z
, for any quotient map f : X → Y
, the map Prod.map f id : X × Z → Y × Z
is a quotient map?"
Yury G. Kudryashov (Aug 13 2024 at 17:50):
The condition is the following one: for any x
and its open nhd U : Opens X
, there exists S : Set (Opens X)
such that
S
is open in the sense of the topology described above;U ∈ S
;- the intersection of all sets in
S
is a nhd ofx
.
They write that they don't know if the condition is in fact always equivalent to being (weakly?) locally compact.
Yury G. Kudryashov (Aug 13 2024 at 17:51):
Was this question about equivalence answered since then? Or nobody cares? Or people tried and failed?
Yury G. Kudryashov (Aug 13 2024 at 18:08):
@Steven Clontz :up:
Steven Clontz (Aug 13 2024 at 22:07):
nothing comes immediately to mind. I'll note that weakly locally compact implies the strongest compactly generated property (topology is witnessed by its compact, not necessarily T2, subsets), but is an example of an (in fact, metrizable) compactly generated space that fails to be weakly locally compact, so that candidate for being a weaker characterization seems to be ruled out.
Yury G. Kudryashov (Aug 13 2024 at 22:45):
Is the property above related to being compactly generated?
Oliver Nash (Aug 14 2024 at 08:09):
Yury G. Kudryashov said:
Oliver Nash You defined
IsCompactElement
. Is it useful to addIsCompactUpperSet
? Does it have a standard name in the literature?
I'm afraid I don't know. Sorry not to be of more use!
Yury G. Kudryashov (Aug 18 2024 at 18:06):
UPD: I formalized all theorems from the paper [Day and Kelly, On topological quotient maps preserved by pullbacks or products"], see #15943
Yury G. Kudryashov (Aug 18 2024 at 18:15):
In this PR I define
IsOpenQuotientMap
; e.g.,QuotientGroup.mk
satisfies this;IsPullbackQuotientMap
: a mapf : X → Y
such that for any continuousg : Z → Y
, the mapPullback.snd : f.Pullback g → Z
is a quotient map;IsProdQuotientMap
: a mapf : X → Y
such that for anyZ
, the mapProd.map f id : X × Z → Y × Z
is a quotient map;ProdQuotientMapSpace
: a spaceZ
such that for any quotient mapf : X → Y
, the mapProd.map f id : X × Z → Y × Z
is a quotient map.
Following the paper, all these properties are defined in terms of f
or Z
, so we have no issues with universes etc.
I'm not sure which parts of this should go to files that are imported by a large part of Mathlib, and which parts should stay in a leaf file.
Yury G. Kudryashov (Aug 18 2024 at 18:15):
@Kevin Buzzard This gives a complete answer to your question.
Yury G. Kudryashov (Aug 18 2024 at 18:16):
(almost complete: I don't know if ProdQuotientMapSpace
is equivalent to LocallyCompactSpace
for non-R1 spaces)
Kevin Buzzard (Aug 28 2024 at 12:50):
Here is what I need for FLT: the third of these results.
import Mathlib.Topology.Algebra.Monoid
variable {A : Type*} [AddCommGroup A]
variable {B : Type*} [AddCommGroup B]
lemma AddMonoidHom.sub_mem_ker_iff (φ : A →+ B) {x y : A} :
x - y ∈ AddMonoidHom.ker φ ↔ φ x = φ y := by
rw [AddMonoidHom.mem_ker, map_sub, sub_eq_zero]
variable [τA : TopologicalSpace A] [ContinuousAdd A]
variable [τB : TopologicalSpace B]
open TopologicalSpace
lemma isOpenMap_of_coinduced (φ : A →+ B) (hφc : Continuous φ)
(h : coinduced φ τA = τB) :
IsOpenMap φ := by
intro U hU
rw [← h, isOpen_coinduced]
suffices ⇑φ ⁻¹' (⇑φ '' U) = ⋃ k ∈ φ.ker, (fun x ↦ x + k) ⁻¹' U by
exact this ▸ isOpen_biUnion (fun k _ ↦ Continuous.isOpen_preimage (by continuity) _ hU)
ext x
constructor
· rintro ⟨y, hyU, hyx⟩
apply Set.mem_iUnion_of_mem (y - x)
suffices y - x ∈ AddMonoidHom.ker φ by simp_all
rwa [AddMonoidHom.sub_mem_ker_iff]
· rintro ⟨_, ⟨k, rfl⟩, _, ⟨hk, rfl⟩, hx⟩
use x + k, hx
rw [AddMonoidHom.map_add, hk, add_zero]
lemma coinduced_prod_eq_prod_coinduced (X Y S T : Type*) [AddCommGroup X] [AddCommGroup Y]
[AddCommGroup S] [AddCommGroup T] (f : X →+ S) (g : Y →+ T)
(hf : Function.Surjective f) (hg : Function.Surjective g)
[τX : TopologicalSpace X] [ContinuousAdd X] [τY : TopologicalSpace Y] [ContinuousAdd Y] :
coinduced (Prod.map f g) instTopologicalSpaceProd =
@instTopologicalSpaceProd S T (coinduced f τX) (coinduced g τY) := by
ext U
rw [@isOpen_prod_iff, isOpen_coinduced, isOpen_prod_iff]
constructor
· intro h s t hst
obtain ⟨x, rfl⟩ := hf s
obtain ⟨y, rfl⟩ := hg t
obtain ⟨V1, V2, hV1, hV2, hx1, hy2, h12⟩ := h x y hst
use f '' V1, g '' V2,
isOpenMap_of_coinduced (τB := coinduced f τX) f
(by rw [continuous_iff_coinduced_le]) rfl V1 hV1,
isOpenMap_of_coinduced (τB := coinduced g τY) g
(by rw [continuous_iff_coinduced_le]) rfl V2 hV2,
⟨x, hx1, rfl⟩, ⟨y, hy2, rfl⟩
rintro ⟨s, t⟩ ⟨⟨x', hx', rfl⟩, ⟨y', hy', rfl⟩⟩
exact @h12 (x', y') ⟨hx', hy'⟩
· intro h x y hxy
rw [Set.mem_preimage, Prod.map_apply] at hxy
obtain ⟨U1, U2, hU1, hU2, hx1, hy2, h12⟩ := h (f x) (g y) hxy
use f ⁻¹' U1, g ⁻¹' U2, hU1, hU2, hx1, hy2
intro ⟨x', y'⟩ ⟨hx', hy'⟩
exact h12 ⟨hx', hy'⟩
This sort of proof is less painful to write once you realise the trick that if you name instances [τB : TopologicalSpace B]
then you can make explicit choices for them in theorems e.g. isOpenMap_of_coinduced (τB := coinduced f τX)
, rather than putting @
everywhere. But am I getting some of this for free with your approach?
Yury G. Kudryashov (Aug 28 2024 at 13:45):
This is IsOpenQuotientMap.prodMap
from my branch (+ a proof that this is an open map in 2nd lemma)
Yury G. Kudryashov (Aug 28 2024 at 13:45):
No, you don't require surjectivity in 2nd lemma. 3rd lemma still requires it, so it can use (IsOpenMap.prod _ _).to_quotientMap _ _
(or add IsOpenQuotientMap
as I did in my branch).
Yury G. Kudryashov (Aug 28 2024 at 13:48):
About the IsOpenMap
lemma: is there a statement that generalizes both your lemma and isOpenMap_quotient_mk'_mul?
Kevin Buzzard (Nov 26 2024 at 16:45):
Sorry to take so long on this, since you asked this question I've been around the world, to the USA twice, and I'm about to go there again. It's taken me a few months to realise that this kind of jet-setting lifestyle isn't actually conducive to getting things done.
Mathematically, your question is the following rather beautiful observation. If a group acts via continuous automorphisms on a topological space and we give the quotient the coinduced topology coming from the canonical map , then this map is open. Proof: need to show preimage of image is open, but preimage of image of is just is open. My observation is that if is a group homomorphism between topological groups which is "coinducing", i.e. the topology on is the one coinduced from the topology on along the morphism, then this is also an open map, and the proof is the same: we need to show the preimage of the image of is open, but this is just the union of , this time as runs over the kernel. However my map might not be surjective (although it is in the application). Is there a common generalization?
Johan Commelin (Nov 27 2024 at 09:36):
cc @Yury G. Kudryashov, I guess.
Yury G. Kudryashov (Nov 27 2024 at 14:49):
Thanks for the explanation! Note: I don't have plans to actually add some generalization to Mathlib (at least, right now).
Last updated: May 02 2025 at 03:31 UTC