Product Topology

lean4-prooftopologyvisualization
f:ZiXi continuous    i,πif continuousf : Z \to \prod_i X_i \text{ continuous} \iff \forall i,\, \pi_i \circ f \text{ continuous}

Statement

Given a family of topological spaces (Xi)iI(X_i)_{i \in I}, the product topology on iIXi\prod_{i \in I} X_i is the coarsest topology making every projection πi:jXjXi\pi_i : \prod_j X_j \to X_i continuous. Its basic open sets are finite intersections of sets of the form πi1(Ui)\pi_i^{-1}(U_i) for UiU_i open in XiX_i.

Universal property: A function f:ZiIXif : Z \to \prod_{i \in I} X_i is continuous if and only if every coordinate function πif:ZXi\pi_i \circ f : Z \to X_i is continuous:

f continuous    iI,  πif continuous.f \text{ continuous} \iff \forall i \in I,\; \pi_i \circ f \text{ continuous.}

Visualization

Basis for the product topology on S1×S1S^1 \times S^1 (torus):

         S¹ × S¹  (torus)
  θ₂
  2π  ─────────────────────┐
   |  │░░░░░░░░░░░░░░░░░░░│
   |  │░░░┌───┐░░░░░░░░░░│   basic open set:
   |  │░░░│ U │░░░░░░░░░░│   π₁⁻¹(arc₁) ∩ π₂⁻¹(arc₂)
   |  │░░░└───┘░░░░░░░░░░│   = small box on torus
   |  │░░░░░░░░░░░░░░░░░░│
  0   └────────────────────┘
      0    arc₁           2π  θ₁

A map f:RS1×S1f : \mathbb{R} \to S^1 \times S^1, f(t)=(cost,cos2t,sint,sin2t)f(t) = (\cos t, \cos 2t, \sin t, \sin 2t) (written in coordinates) is continuous iff both t(cost,sint)t \mapsto (\cos t, \sin t) and t(cos2t,sin2t)t \mapsto (\cos 2t, \sin 2t) are continuous — which they are, being compositions of continuous functions.

Finite-dimensional case — checking continuity into R2\mathbb{R}^2:

ComponentMapContinuous?
π1f\pi_1 \circ ftt2t \mapsto t^2Yes (polynomial)
π2f\pi_2 \circ ftsintt \mapsto \sin tYes (trig)
fft(t2,sint)t \mapsto (t^2, \sin t)Yes (by the theorem)

Proof Sketch

  1. (\Rightarrow) If ff is continuous, each πif\pi_i \circ f is continuous as a composition of continuous functions (πi\pi_i is continuous by definition of the product topology).

  2. (\Leftarrow) Suppose each πif\pi_i \circ f is continuous. It suffices to check that preimages of subbasic open sets are open. A subbasic open set is πi1(Ui)\pi_i^{-1}(U_i) for some UiU_i open in XiX_i. Then:

f1(πi1(Ui))=(πif)1(Ui),f^{-1}(\pi_i^{-1}(U_i)) = (\pi_i \circ f)^{-1}(U_i),

which is open by continuity of πif\pi_i \circ f.

  1. Since the product topology is generated by subbasic sets of this form, ff is continuous.

  2. This universal property characterises the product topology among all topologies on iXi\prod_i X_i: it is the unique coarsest topology with this property.

Connections

  • Tychonoff's TheoremTychonoff's TheoremiIXi compact    i,  Xi compact\prod_{i \in I} X_i \text{ compact} \iff \forall i,\; X_i \text{ compact}An arbitrary product of compact spaces is compact in the product topologyRead more → — the product of compact spaces is compact; the product topology is the natural setting for this result. Tychonoff's theorem uses the Alexander subbase theorem on exactly the subbasic sets described above.
  • Heine–Borel TheoremHeine–Borel TheoremKRn  compact    K  closed and boundedK \subseteq \mathbb{R}^n \;\text{compact} \iff K \;\text{closed and bounded}In ℝⁿ, a subset is compact if and only if it is closed and boundedRead more →[a,b]nRn[a,b]^n \subseteq \mathbb{R}^n is compact as a finite product of compact intervals, a direct application of Tychonoff in the finite case. Heine–Borel then characterises all compact subsets of Rn\mathbb{R}^n.
  • Cayley–Hamilton TheoremCayley–Hamilton TheorempA(A)=0  where  pA(λ)=det(λIA)p_A(A) = 0 \;\text{where}\; p_A(\lambda) = \det(\lambda I - A)Every square matrix satisfies its own characteristic polynomialRead more → — continuous maps between matrix spaces rely on the product topology on Rn×nRn2\mathbb{R}^{n \times n} \cong \mathbb{R}^{n^2}; entries of a product of matrices depend continuously on entries of factors.

Lean4 Proof

import Mathlib.Topology.Constructions

/-- Continuity into a Pi type is equivalent to continuity of each component. -/
theorem continuous_into_product_iff
    {Z : Type*} {ι : Type*} {X : ι  Type*}
    [TopologicalSpace Z] [ i, TopologicalSpace (X i)]
    (f : Z   i, X i) :
    Continuous f   i, Continuous (fun z => f z i) :=
  continuous_pi_iff