Skip to content

Commit 3e222e0

Browse files
committed
tidy up docstring
1 parent c58627f commit 3e222e0

File tree

1 file changed

+25
-31
lines changed

1 file changed

+25
-31
lines changed

FLT/ForMathlib/module_topology.lean

+25-31
Original file line numberDiff line numberDiff line change
@@ -7,45 +7,38 @@ import Mathlib.Algebra.Module.Projective
77
import Mathlib.LinearAlgebra.TensorProduct.RightExactness
88

99
/-
10-
# An topology for monoid actions.
10+
# The module topology
1111
12-
If `R` is a topological ring and `A` is an `R`-module, then there are several ways in which
13-
`A` can inherit a topology from `R` via the action. We make one such definiion here,
14-
which we call the *module* topology, or the `R`-module topology if there is an ambiguity.
15-
This topology has very nice properties on the category of finite R-modules. For example,
16-
all `R`-linear maps between finite `A`-modules are continuous, and given any `R`-linear surjection
17-
`Rⁿ → A` for `n` finite, the topology on `A` is the pushforward of the product topology on `Rⁿ`.
18-
This has importance in the theory of algebraic groups over local fields such as the reals
19-
or the `p`-adics. Example: if `A` is a finite-dimensional central simple algebra over a
20-
topological ring `R`, then in the representation theory of algebraic groups we would like
21-
to consider certain continuous representations of `Aˣ`, so `A` needs a topology. In our
22-
approach we can do the following:
23-
24-
-/
25-
26-
-- section continuous_smul
12+
If `R` is a topological ring and `M` is an `R`-module, the *module topology* on `M` is
13+
the finest topology making all `R`-linear maps `Rⁿ → M` continuous. Here `n` runs through
14+
the naturals and `Rⁿ` has the product topology. This topology has some nice properties.
15+
For example if `D` is an `R`-algebra which is finite as an `R`-module, then `D` is
16+
automatically a topological ring for the module topology.
2717
28-
-- variable {R : Type} [τR : TopologicalSpace R]
29-
-- variable {A : Type} [SMul R A]
30-
-- variable {S : Type} [τS : TopologicalSpace S] {f : S → R} (hf : Continuous f)
31-
-- variable {B : Type} [SMul S B] (g : B →ₑ[f] A)
18+
## Details
3219
33-
-- -- note: use convert not exact to ensure typeclass inference doesn't try to find topology on B
34-
-- lemma induced_continuous_smul [τA : TopologicalSpace A] [ContinuousSMul R A] :
35-
-- @ContinuousSMul S B _ _ (TopologicalSpace.induced g τA) := by
36-
-- convert Inducing.continuousSMul (inducing_induced g) hf (fun {c} {x} ↦ map_smulₛₗ g c x)
37-
38-
-- #check Prod.continuousSMul -- exists and is an instance :-)
39-
-- --#check Induced.continuousSMul -- doesn't exist
20+
If `R` is a topological ring and `A` is an `R`-module, then there are several ways in which
21+
`A` can inherit a topology from `R` via the action (indeed, this is the 4th one which
22+
the author has tried). We make one such definition here, which we call the *module* topology,
23+
or the `R`-module topology if there is an ambiguity.
24+
25+
The module topology has some nice properties: for example all `R`-linear maps between modules
26+
are automatically continuous for the module topology. On the category of finite `R`-modules
27+
things are even better. Given any `R`-linear surjection `Rⁿ → A` for `n` a natural (or a
28+
finite type), the topology on `A` is the pushforward (i.e. `TopologicalSpace.coinduced`)
29+
of the product topology on `Rⁿ`. If furthermore `R` is commutative and `A` is an `R`-algebra
30+
which is finite as an `R`-module, then `A` automatically becomes a topological ring for the
31+
module topology (i.e., multiplication is continuous). This can be very convenient (for example
32+
it can be used to topologise finite-dimensional central simple algebras over the reals
33+
or $p$-adics).
4034
41-
-- end continuous_smul
35+
-/
4236

4337
section elsewhere
4438

4539
variable {A : Type*} [AddCommGroup A] [τA : TopologicalSpace A] [ContinuousAdd A]
4640
variable {B : Type*} [AddCommGroup B] [τB : TopologicalSpace B]
4741

48-
4942
lemma AddMonoidHom.sub_mem_ker_iff {A B : Type*} [AddCommGroup A]
5043
[AddCommGroup B] (φ : A →+ B) {x y : A} :
5144
x - y ∈ AddMonoidHom.ker φ ↔ φ x = φ y := by
@@ -420,8 +413,9 @@ lemma key : ((TensorProduct.map f g ∘ₗ
420413
(isom'' R m n).symm.toLinearMap) fun mn ↦ a1 mn.1 * b1 mn.2) = f a1 ⊗ₜ[R] g b1 := by
421414
sorry
422415

423-
-- once we have mathlib#16122 we can replace `isom''` with `finiteTensorPiLid R R m n`
424-
-- and `key` with the following: (M ↦ A, N ↦ B)
416+
-- once mathlib#16122 is merged we can bump and then replace `isom''` with
417+
-- `finiteTensorPiLid R R m n` and `key` with the following: (M ↦ A, N ↦ B)
418+
-- and this should complete the proof.
425419

426420
-- variable (m n : Type*) [Finite m] [DecidableEq m] (a1 : m → R)
427421
-- (b1 : n → R) (f : (m → R) →ₗ[R] M) (g : (n → R) →ₗ[R] N) in

0 commit comments

Comments
 (0)