Documentation

Mathlib.Topology.Algebra.Category.ProfiniteGrp.Basic

Category of Profinite Groups #

We say G is a profinite group if it is a topological group which is compact and totally disconnected.

Main definitions and results #

structure ProfiniteGrp :
Type (u + 1)

The category of profinite groups. A term of this type consists of a profinite set with a topological group structure.

Instances For
    structure ProfiniteAddGrp :
    Type (u + 1)

    The category of profinite additive groups. A term of this type consists of a profinite set with a topological additive group structure.

    Instances For
      @[implicit_reducible]
      @[reducible, inline]

      Construct a term of ProfiniteGrp from a type endowed with the structure of a compact and totally disconnected topological group. (The condition of being Hausdorff can be omitted here because totally disconnected implies that {1} is a closed set, thus implying Hausdorff in a topological group.)

      Instances For
        @[reducible, inline]

        Construct a term of ProfiniteAddGrp from a type endowed with the structure of a compact and totally disconnected topological additive group. (The condition of being Hausdorff can be omitted here because totally disconnected implies that {0} is a closed set, thus implying Hausdorff in a topological additive group.)

        Instances For

          The type of morphisms in ProfiniteAddGrp.

          Instances For
            theorem ProfiniteAddGrp.Hom.ext {A B : ProfiniteAddGrp.{u}} {x y : A.Hom B} (hom' : x.hom' = y.hom') :
            x = y
            theorem ProfiniteAddGrp.Hom.ext_iff {A B : ProfiniteAddGrp.{u}} {x y : A.Hom B} :
            x = y x.hom' = y.hom'

            The type of morphisms in ProfiniteGrp.

            Instances For
              theorem ProfiniteGrp.Hom.ext {A B : ProfiniteGrp.{u}} {x y : A.Hom B} (hom' : x.hom' = y.hom') :
              x = y
              theorem ProfiniteGrp.Hom.ext_iff {A B : ProfiniteGrp.{u}} {x y : A.Hom B} :
              x = y x.hom' = y.hom'
              @[reducible, inline]

              The underlying ContinuousMonoidHom.

              Instances For
                @[reducible, inline]

                The underlying ContinuousAddMonoidHom.

                Instances For
                  theorem ProfiniteGrp.hom_ext {A B : ProfiniteGrp.{u}} {f g : A B} (hf : Hom.hom f = Hom.hom g) :
                  f = g
                  theorem ProfiniteAddGrp.hom_ext {A B : ProfiniteAddGrp.{u}} {f g : A B} (hf : Hom.hom f = Hom.hom g) :
                  f = g
                  theorem ProfiniteGrp.hom_ext_iff {A B : ProfiniteGrp.{u}} {f g : A B} :
                  f = g Hom.hom f = Hom.hom g
                  @[simp]
                  theorem ProfiniteGrp.ofHom_hom {A B : ProfiniteGrp.{u}} (f : A B) :
                  ofHom (Hom.hom f) = f
                  @[simp]
                  theorem ProfiniteGrp.coe_comp {X Y Z : ProfiniteGrp.{u_1}} (f : X Y) (g : Y Z) :
                  @[simp]
                  theorem ProfiniteAddGrp.coe_comp {X Y Z : ProfiniteAddGrp.{u_1}} (f : X Y) (g : Y Z) :
                  @[reducible, inline]

                  Construct a term of ProfiniteGrp from a type endowed with the structure of a profinite topological group.

                  Instances For
                    @[reducible, inline]

                    Construct a term of ProfiniteAddGrp from a type endowed with the structure of a profinite topological additive group.

                    Instances For

                      The pi-type of profinite groups is a profinite group.

                      Instances For

                        The pi-type of profinite additive groups is a profinite additive group.

                        Instances For

                          A FiniteGrp when given the discrete topology can be considered as a profinite group.

                          Instances For

                            A FiniteAddGrp when given the discrete topology can be considered as a profinite additive group.

                            Instances For

                              A morphism of FiniteGrp induces a morphism of the associated profinite groups.

                              Instances For

                                A morphism of FiniteAddGrp induces a morphism of the associated profinite additive groups.

                                Instances For

                                  A closed subgroup of a profinite group is profinite.

                                  Instances For

                                    A closed additive subgroup of a profinite additive group is profinite.

                                    Instances For

                                      A topological group that has a ContinuousMulEquiv to a profinite group is profinite.

                                      Instances For

                                        A topological additive group that has a ContinuousAddEquiv to a profinite additive group is profinite.

                                        Instances For

                                          Limits in the category of profinite groups #

                                          In this section, we construct limits in the category of profinite groups.

                                          Auxiliary construction to obtain the group structure on the limit of profinite groups.

                                          Instances For

                                            Auxiliary construction to obtain the additive group structure on the limit of profinite additive groups.

                                            Instances For
                                              @[reducible, inline]

                                              The abbreviation for the limit of ProfiniteGrps.

                                              Instances For
                                                theorem ProfiniteGrp.limit_ext {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J ProfiniteGrp.{max v u}) (x y : (limit F).toProfinite.toTop) (hxy : ∀ (j : J), x j = y j) :
                                                x = y
                                                theorem ProfiniteAddGrp.limit_ext {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J ProfiniteAddGrp.{max v u}) (x y : (limit F).toProfinite.toTop) (hxy : ∀ (j : J), x j = y j) :
                                                x = y
                                                @[simp]
                                                theorem ProfiniteGrp.limit_mul_val {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J ProfiniteGrp.{max v u}) (x y : (limit F).toProfinite.toTop) (j : J) :
                                                (x * y) j = x j * y j
                                                @[simp]
                                                theorem ProfiniteAddGrp.limit_add_val {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J ProfiniteAddGrp.{max v u}) (x y : (limit F).toProfinite.toTop) (j : J) :
                                                (x + y) j = x j + y j