The quotient topology on projective space #
Category: 1-Mathlib (CSD-free Mathlib upstream candidates).
ℙ K V is the quotient of the nonzero vectors {v : V // v ≠ 0} by the action of Kˣ.
When V carries a topology we give ℙ K V the quotient topology, and we show that the
quotient map Projectivization.mk' is an open quotient map as soon as scalar multiplication
by units of K is continuous on V.
Main results #
Projectivization.instTopologicalSpace: the quotient topology onℙ K V.Projectivization.isQuotientMap_mk',Projectivization.continuous_mk':mk' K : {v : V // v ≠ 0} → ℙ K Vis a quotient map, in particular continuous.Projectivization.isOpenQuotientMap_mk':mk' Kis an open quotient map whenKˣacts continuously onV.Projectivization.continuous_iff: a map out ofℙ K Vis continuous iff its composite withmk' Kis.
Beyond the upstream text, and staying here:
Projectivization.continuous_lift: a scale-invariant continuous function on the nonzero subtype descends continuously, the topological companion oflift_measurable.Projectivization.mapOfInjective_continuous,Projectivization.mapEquivand its lemmas: continuity of the map induced by an injective linear map, and theLinearEquivaction.Projectivization.instT2Space,Projectivization.instCompactSpace:ℙ K Vis compact Hausdorff for[RCLike K]and finite-dimensional normedV.Projectivization.connectedSpace_of_isConnected_nonzero: connectedness from connectedness of the nonzero vectors.
Provenance #
Staged as upstream Mathlib material. The first section below is the Mathlib pull-request text
verbatim (Mathlib/LinearAlgebra/Projectivization/Topology.lean, six declarations), so that
this repository and the pull request are the same code and any drift between them is visible.
Two divergences, both forced by this repository's Mathlib pin and neither touching a statement:
the module-system header and this docstring, which the lints here require; and isOpenMap_mk'
spelling the coinducing step isQuotientMap_mk'.isCoinducing.isOpen_preimage, since
IsQuotientMap.isOpen_preimage postdates the pin. The remaining sections are this repository's
own and are the second pull request's material (Hausdorffness, compactness) or stay here.
The Kˣ-action on {v : V // v ≠ 0} is Mathlib's, through Units.nonZeroSubMul; the
continuity instance it needs is staged in CsdLean4/Mathlib/Topology/Algebra/MulAction.lean.
Until 2026-09-19 this file carried its own scaleNonzero / scaleNonzeroHomeo reimplementation
of that action and its own saturation lemma, 461 lines against the 82 of the pull request.
Tags #
projectivization, projective space, quotient topology
The upstream text #
Everything between here and the end of this section is the Mathlib pull request verbatim.
It is wrapped in a section of its own so that its variable lines stop where the pull
request file stops, and do not reach the material this repository keeps below.
Two nonzero vectors have the same image in ℙ K V iff one is a unit multiple of the other,
for the action of Kˣ on {v : V // v ≠ 0}.
The saturation of a set of nonzero vectors under mk' is the union of its translates by the
units of K.
The quotient topology on ℙ K V, coinduced by Projectivization.mk'.
Equations
- Projectivization.instTopologicalSpace = { IsOpen := Projectivization.instTopologicalSpace._aux_1, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ }
Continuity descent #
Companion to the lift_measurable / measurable_iff_measurable_comp_mk' pair in
MeasureSpace.lean: a scale-invariant continuous function on the nonzero subtype descends to a
continuous function on ℙ K V.
A scale-invariant continuous function on the nonzero subtype descends to a continuous
function on ℙ K V. Topological companion to lift_measurable in MeasureSpace.lean.
Continuity of Projectivization.map #
A continuous injective linear map between modules descends to a
continuous map between projectivizations. Builds on continuous_iff
above via the standard mk' quotient-map characterisation of
continuity.
A continuous injective linear map descends to a continuous map on projectivizations.
LinearEquiv action on projectivization #
A linear self-equivalence e : V ≃ₗ[K] V induces a self-map
mapEquiv e : ℙ K V → ℙ K V via Projectivization.map and the
canonical injectivity of an equivalence. The construction respects
the group structure of V ≃ₗ[K] V via Projectivization.map_id
and Projectivization.map_comp.
A linear self-equivalence induces a self-map of the projectivization.
Equations
Instances For
The induced map of the identity equivalence is the identity.
Syntactic alias for mapEquiv_refl under the Group notation 1
for LinearEquiv.refl (definitionally equal via
LinearEquiv.one_eq_refl).
The induced map of a product of linear self-equivalences equals
the composition of the induced maps. Discharged via
Projectivization.map_comp applied to the toLinearMap composition:
(e₁ * e₂).toLinearMap = e₁.toLinearMap.comp e₂.toLinearMap (= *
in the linear-endomorphism ring; both equal by rfl via
LinearEquiv.coe_toLinearMap_mul + LinearMap.mul_eq_comp).
The action of V ≃ₗ[K] V on ℙ K V is Mathlib's Projectivization.instMulAction
(Mathlib/LinearAlgebra/Projectivization/Action.lean: any group acting K-linearly on V acts on
ℙ K V), specialised to G := V ≃ₗ[K] V through LinearEquiv.applyDistribMulAction; on
representatives it is mapEquiv. Until 2026-09-16 this file declared its own instance under the
same auto-generated name, which made the two files impossible to import together.
The mapEquiv of a continuous linear equivalence is continuous.
Hausdorffness and compactness under normed finite-dim hypotheses #
Under [RCLike K] (so K ∈ {ℝ, ℂ} with the usual analytic structure)
and [NormedAddCommGroup V] [NormedSpace K V] [FiniteDimensional K V],
the projectivization ℙ K V is a compact Hausdorff space.
The hypothesis pattern can be relaxed to [NontriviallyNormedField K]
[LocallyCompactSpace K]+[NormedAlgebra ℝ K](sufficient for the unit-sphere normalisation argument), but theRCLikeform covers the case of interest (K = ℂ) with strictly less typeclass friction.
The K-collinearity relation on the nonzero subtype is closed.
Two nonzero vectors v, w represent the same projective point iff their
pair is linearly dependent (mk_eq_mk_iff' + LinearIndependent.pair_iff'),
and the set of linearly dependent pairs is the complement of an open set
via isOpen_setOfPred_linearIndependent.
ℙ K V is Hausdorff under finite-dimensional normed hypotheses on
V. Routes through the open-quotient-map criterion
t2Space_iff_of_isOpenQuotientMap plus isClosed_collinearity_relation.
ℙ K V is compact under finite-dimensional normed hypotheses on
V. The unit sphere Metric.sphere (0 : V) 1 is compact as a subtype
(Heine-Borel in finite-dim normed; FiniteDimensional.proper_rclike +
Metric.sphere.compactSpace), and the corestriction of mk K to the
sphere is a continuous surjection from sphere to ℙ K V (every
projective point has a unit-norm representative obtained by
normalising p.rep).
In finite-dim normed setting over RCLike, every linear self-equivalence
of V is continuous (Banach), so its induced projectivization map is
continuous for free.
Each individual (V ≃ₗ[K] V)-action on ℙ K V is continuous in
the finite-dim normed setting. This is ContinuousConstSMul, which
captures continuity in the action argument for every fixed group
element. Joint continuity in both arguments (ContinuousSMul) is a
strictly stronger statement requiring a topology on V ≃ₗ[K] V
itself; deferred.
Connectedness #
The projectivization of a module whose nonzero vectors form a connected set is itself
connected: it is the continuous image of {v // v ≠ 0} under mk'. Downstream, for an
RCLike field and real rank > 1, the nonzero set is connected because the complement of a
point in a real normed space of rank > 1 is connected
(isConnected_compl_singleton_of_one_lt_rank).
The canonical surjection mk' is surjective onto the projectivization.
If the nonzero vectors form a connected set, the projectivization is a connected space.