Documentation

Mathlib.Topology.Algebra.FilterBasis

Group and ring filter bases #

A GroupFilterBasis is a FilterBasis on a group with some properties relating the basis to the group structure. The main theorem is that a GroupFilterBasis on a group gives a topology on the group which makes it into a topological group with neighborhoods of the neutral element generated by the given basis.

Main definitions and results #

Given a group G and a ring R:

References #

class GroupFilterBasis (G : Type u) [Group G] extends FilterBasis G :

A GroupFilterBasis on a group is a FilterBasis satisfying some additional axioms. Example : if G is a topological group then the neighbourhoods of the identity are a GroupFilterBasis. Conversely given a GroupFilterBasis one can define a topology compatible with the group structure on G.

Instances
    class AddGroupFilterBasis (A : Type u) [AddGroup A] extends FilterBasis A :

    An AddGroupFilterBasis on an additive group is a FilterBasis satisfying some additional axioms. Example : if G is a topological group then the neighbourhoods of the identity are an AddGroupFilterBasis. Conversely given an AddGroupFilterBasis one can define a topology compatible with the group structure on G.

    Instances
      def groupFilterBasisOfComm {G : Type u_1} [CommGroup G] (sets : Set (Set G)) (nonempty : sets.Nonempty) (inter_sets : โˆ€ (x y : Set G), x โˆˆ sets โ†’ y โˆˆ sets โ†’ โˆƒ z โˆˆ sets, z โІ x โˆฉ y) (one : โˆ€ U โˆˆ sets, 1 โˆˆ U) (mul : โˆ€ U โˆˆ sets, โˆƒ V โˆˆ sets, V * V โІ U) (inv : โˆ€ U โˆˆ sets, โˆƒ V โˆˆ sets, V โІ (fun (x : G) => xโปยน) โปยน' U) :

      GroupFilterBasis constructor in the commutative group case.

      Equations
        Instances For
          def addGroupFilterBasisOfComm {G : Type u_1} [AddCommGroup G] (sets : Set (Set G)) (nonempty : sets.Nonempty) (inter_sets : โˆ€ (x y : Set G), x โˆˆ sets โ†’ y โˆˆ sets โ†’ โˆƒ z โˆˆ sets, z โІ x โˆฉ y) (zero : โˆ€ U โˆˆ sets, 0 โˆˆ U) (add : โˆ€ U โˆˆ sets, โˆƒ V โˆˆ sets, V + V โІ U) (neg : โˆ€ U โˆˆ sets, โˆƒ V โˆˆ sets, V โІ (fun (x : G) => -x) โปยน' U) :

          AddGroupFilterBasis constructor in the additive commutative group case.

          Equations
            Instances For
              theorem GroupFilterBasis.one {G : Type u} [Group G] {B : GroupFilterBasis G} {U : Set G} :
              U โˆˆ B โ†’ 1 โˆˆ U
              theorem GroupFilterBasis.mul {G : Type u} [Group G] {B : GroupFilterBasis G} {U : Set G} :
              U โˆˆ B โ†’ โˆƒ V โˆˆ B, V * V โІ U
              theorem AddGroupFilterBasis.add {G : Type u} [AddGroup G] {B : AddGroupFilterBasis G} {U : Set G} :
              U โˆˆ B โ†’ โˆƒ V โˆˆ B, V + V โІ U
              theorem GroupFilterBasis.inv {G : Type u} [Group G] {B : GroupFilterBasis G} {U : Set G} :
              U โˆˆ B โ†’ โˆƒ V โˆˆ B, V โІ (fun (x : G) => xโปยน) โปยน' U
              theorem AddGroupFilterBasis.neg {G : Type u} [AddGroup G] {B : AddGroupFilterBasis G} {U : Set G} :
              U โˆˆ B โ†’ โˆƒ V โˆˆ B, V โІ (fun (x : G) => -x) โปยน' U
              theorem GroupFilterBasis.conj {G : Type u} [Group G] {B : GroupFilterBasis G} (xโ‚€ : G) {U : Set G} :
              U โˆˆ B โ†’ โˆƒ V โˆˆ B, V โІ (fun (x : G) => xโ‚€ * x * xโ‚€โปยน) โปยน' U
              theorem AddGroupFilterBasis.conj {G : Type u} [AddGroup G] {B : AddGroupFilterBasis G} (xโ‚€ : G) {U : Set G} :
              U โˆˆ B โ†’ โˆƒ V โˆˆ B, V โІ (fun (x : G) => xโ‚€ + x + -xโ‚€) โปยน' U

              The trivial group filter basis consists of {1} only. The associated topology is discrete.

              Equations

                The trivial additive group filter basis consists of {0} only. The associated topology is discrete.

                Equations
                  def GroupFilterBasis.N {G : Type u} [Group G] (B : GroupFilterBasis G) :
                  G โ†’ Filter G

                  The neighborhood function of a GroupFilterBasis.

                  Equations
                    Instances For
                      def AddGroupFilterBasis.N {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G) :
                      G โ†’ Filter G

                      The neighborhood function of an AddGroupFilterBasis.

                      Equations
                        Instances For
                          theorem GroupFilterBasis.hasBasis {G : Type u} [Group G] (B : GroupFilterBasis G) (x : G) :
                          (B.N x).HasBasis (fun (V : Set G) => V โˆˆ B) fun (V : Set G) => (fun (y : G) => x * y) '' V
                          theorem AddGroupFilterBasis.hasBasis {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G) (x : G) :
                          (B.N x).HasBasis (fun (V : Set G) => V โˆˆ B) fun (V : Set G) => (fun (y : G) => x + y) '' V

                          The topological space structure coming from a group filter basis.

                          Equations
                            Instances For

                              The topological space structure coming from an additive group filter basis.

                              Equations
                                Instances For
                                  theorem GroupFilterBasis.nhds_eq {G : Type u} [Group G] (B : GroupFilterBasis G) {xโ‚€ : G} :
                                  nhds xโ‚€ = B.N xโ‚€
                                  theorem AddGroupFilterBasis.nhds_eq {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G) {xโ‚€ : G} :
                                  nhds xโ‚€ = B.N xโ‚€
                                  theorem GroupFilterBasis.nhds_hasBasis {G : Type u} [Group G] (B : GroupFilterBasis G) (xโ‚€ : G) :
                                  (nhds xโ‚€).HasBasis (fun (V : Set G) => V โˆˆ B) fun (V : Set G) => (fun (y : G) => xโ‚€ * y) '' V
                                  theorem AddGroupFilterBasis.nhds_hasBasis {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G) (xโ‚€ : G) :
                                  (nhds xโ‚€).HasBasis (fun (V : Set G) => V โˆˆ B) fun (V : Set G) => (fun (y : G) => xโ‚€ + y) '' V
                                  @[instance 100]

                                  If a group is endowed with a topological structure coming from a group filter basis then, it's a topological group.

                                  @[instance 100]

                                  If an additive group is endowed with a topological structure coming from an additive group filter basis, then it's an additive topological group.

                                  class RingFilterBasis (R : Type u) [Ring R] extends AddGroupFilterBasis R :

                                  A RingFilterBasis on a ring is a FilterBasis satisfying some additional axioms. Example : if R is a topological ring then the neighbourhoods of the identity are a RingFilterBasis. Conversely given a RingFilterBasis on a ring R, one can define a topology on R which is compatible with the ring structure.

                                  Instances
                                    theorem RingFilterBasis.mul {R : Type u} [Ring R] (B : RingFilterBasis R) {U : Set R} (hU : U โˆˆ B) :
                                    โˆƒ V โˆˆ B, V * V โІ U
                                    theorem RingFilterBasis.mul_left {R : Type u} [Ring R] (B : RingFilterBasis R) (xโ‚€ : R) {U : Set R} (hU : U โˆˆ B) :
                                    โˆƒ V โˆˆ B, V โІ (fun (x : R) => xโ‚€ * x) โปยน' U
                                    theorem RingFilterBasis.mul_right {R : Type u} [Ring R] (B : RingFilterBasis R) (xโ‚€ : R) {U : Set R} (hU : U โˆˆ B) :
                                    โˆƒ V โˆˆ B, V โІ (fun (x : R) => x * xโ‚€) โปยน' U

                                    The topology associated to a ring filter basis. It has the given basis as a basis of neighborhoods of zero.

                                    Equations
                                      Instances For
                                        @[instance 100]

                                        If a ring is endowed with a topological structure coming from a ring filter basis then it's a topological ring.

                                        structure ModuleFilterBasis (R : Type u_1) (M : Type u_2) [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] extends AddGroupFilterBasis M :
                                        Type u_2

                                        A ModuleFilterBasis on a module is a FilterBasis satisfying some additional axioms. Example : if M is a topological module then the neighbourhoods of zero are a ModuleFilterBasis. Conversely given a ModuleFilterBasis one can define a topology compatible with the module structure on M.

                                        Instances For
                                          theorem ModuleFilterBasis.smul {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] (B : ModuleFilterBasis R M) {U : Set M} (hU : U โˆˆ B) :
                                          โˆƒ V โˆˆ nhds 0, โˆƒ W โˆˆ B, V โ€ข W โІ U
                                          theorem ModuleFilterBasis.smul_left {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] (B : ModuleFilterBasis R M) (xโ‚€ : R) {U : Set M} (hU : U โˆˆ B) :
                                          โˆƒ V โˆˆ B, V โІ (fun (x : M) => xโ‚€ โ€ข x) โปยน' U
                                          theorem ModuleFilterBasis.smul_right {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] (B : ModuleFilterBasis R M) (mโ‚€ : M) {U : Set M} (hU : U โˆˆ B) :
                                          โˆ€แถ  (x : R) in nhds 0, x โ€ข mโ‚€ โˆˆ U

                                          If R is discrete then the trivial additive group filter basis on any R-module is a module filter basis.

                                          Equations

                                            The topology associated to a module filter basis on a module over a topological ring. It has the given basis as a basis of neighborhoods of zero.

                                            Equations
                                              Instances For
                                                def ModuleFilterBasis.topology' {R : Type u_3} {M : Type u_4} [CommRing R] {xโœ : TopologicalSpace R} [AddCommGroup M] [Module R M] (B : ModuleFilterBasis R M) :

                                                The topology associated to a module filter basis on a module over a topological ring. It has the given basis as a basis of neighborhoods of zero. This version gets the ring topology by unification instead of type class inference.

                                                Equations
                                                  Instances For
                                                    theorem ContinuousSMul.of_basis_zero {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] {ฮน : Type u_3} [IsTopologicalRing R] [TopologicalSpace M] [IsTopologicalAddGroup M] {p : ฮน โ†’ Prop} {b : ฮน โ†’ Set M} (h : (nhds 0).HasBasis p b) (hsmul : โˆ€ {i : ฮน}, p i โ†’ โˆƒ V โˆˆ nhds 0, โˆƒ (j : ฮน), p j โˆง V โ€ข b j โІ b i) (hsmul_left : โˆ€ (xโ‚€ : R) {i : ฮน}, p i โ†’ โˆƒ (j : ฮน), p j โˆง Set.MapsTo (fun (x : M) => xโ‚€ โ€ข x) (b j) (b i)) (hsmul_right : โˆ€ (mโ‚€ : M) {i : ฮน}, p i โ†’ โˆ€แถ  (x : R) in nhds 0, x โ€ข mโ‚€ โˆˆ b i) :

                                                    A topological additive group with a basis of ๐“ 0 satisfying the axioms of ModuleFilterBasis is a topological module.

                                                    This lemma is mathematically useless because one could obtain such a result by applying ModuleFilterBasis.continuousSMul and use the fact that group topologies are characterized by their neighborhoods of 0 to obtain the ContinuousSMul on the pre-existing topology.

                                                    But it turns out it's just easier to get it as a byproduct of the proof, so this is just a free quality-of-life improvement.

                                                    @[instance 100]

                                                    If a module is endowed with a topological structure coming from a module filter basis then it's a topological module.

                                                    def ModuleFilterBasis.ofBases {R : Type u_3} {M : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] (BR : RingFilterBasis R) (BM : AddGroupFilterBasis M) (smul : โˆ€ {U : Set M}, U โˆˆ BM โ†’ โˆƒ V โˆˆ BR, โˆƒ W โˆˆ BM, V โ€ข W โІ U) (smul_left : โˆ€ (xโ‚€ : R) {U : Set M}, U โˆˆ BM โ†’ โˆƒ V โˆˆ BM, V โІ (fun (x : M) => xโ‚€ โ€ข x) โปยน' U) (smul_right : โˆ€ (mโ‚€ : M) {U : Set M}, U โˆˆ BM โ†’ โˆƒ V โˆˆ BR, V โІ (fun (x : R) => x โ€ข mโ‚€) โปยน' U) :

                                                    Build a module filter basis from compatible ring and additive group filter bases.

                                                    Equations
                                                      Instances For