Documentation

TauCeti.GroupTheory.FiniteGroupClass

Classes of finite groups #

A class of finite groups in the sense of profinite group theory is a collection C of finite groups that is closed under isomorphism, subgroups, quotients and extensions, and contains the trivial group. Finite p-groups, finite solvable groups and all finite groups are the examples of record. Such a class is exactly the data needed to speak of a pro-C group and of the universal pro-C quotient of a topological group, so it is bundled here as a structure rather than left as a loose predicate.

Closure under finite products is a consequence of the four closure properties, through the extension 1 → H → H × K → K → 1, and so is a theorem here rather than a field.

The membership predicate of a class carries the typeclass assumptions [Group H] [Finite H], which is awkward for a group that is not yet known to be finite. FiniteGroupClass.MemFinite packages the two together: C.MemFinite H says that H is finite and belongs to C. All the closure properties below are stated in that form, because the groups they are applied to — quotients of a topological group by open normal subgroups — are finite for a reason that is not visible in the statement.

The raw membership predicate speaks about groups in one universe. For a finite group in any other universe, FiniteGroupClass.MemFinite transports its group structure through Shrink; thus all derived constructions are universe-independent.

Main definitions #

Main results #

References #

structure TauCeti.FiniteGroupClass :
Type (w + 1)

A class of finite groups: a collection of finite groups containing the trivial group and closed under isomorphism, subgroups, quotients and extensions. This is the data a pro-C completion is built from.

Instances For

    C.MemFinite H says that the group H is finite and lies in the class C. The group is transported through Shrink before applying the raw membership predicate, so H may live in any universe. This is the form used for groups whose finiteness is not part of the ambient context, such as quotients by open normal subgroups.

    Equations
    Instances For

      A group that lies in a class of finite groups is finite.

      @[simp]

      For a group already known to be finite, MemFinite is membership of its shrink.

      In the defining universe, membership through Shrink agrees with raw membership.

      A class of finite groups contains every trivial group.

      theorem TauCeti.FiniteGroupClass.MemFinite.of_surjective {C : FiniteGroupClass} {H : Type v} [Group H] {K : Type u} [Group K] (hH : C.MemFinite H) (f : H →* K) (hf : Function.Surjective ⇑f) :

      A class of finite groups is closed under surjective images: a quotient of a member is a member.

      theorem TauCeti.FiniteGroupClass.MemFinite.of_injective {C : FiniteGroupClass} {H : Type v} [Group H] {K : Type u} [Group K] (hK : C.MemFinite K) (f : H →* K) (hf : Function.Injective ⇑f) :

      A class of finite groups is closed under subobjects: a group that embeds in a member is a member.

      theorem TauCeti.FiniteGroupClass.memFinite_congr {C : FiniteGroupClass} {H : Type v} [Group H] {K : Type u} [Group K] (e : H ≃* K) :

      Membership in a class of finite groups is invariant under isomorphism.

      Membership in a class of finite groups is preserved when a finite group is moved to any other universe through Shrink.

      theorem TauCeti.FiniteGroupClass.MemFinite.extension {C : FiniteGroupClass} {H : Type v} [Group H] {N : Subgroup H} [N.Normal] (hN : C.MemFinite ↥N) (hQ : C.MemFinite (H ⧸ N)) :

      A class of finite groups is closed under extensions.

      theorem TauCeti.FiniteGroupClass.MemFinite.prod {C : FiniteGroupClass} {H : Type v} [Group H] {K : Type u} [Group K] (hH : C.MemFinite H) (hK : C.MemFinite K) :
      C.MemFinite (H × K)

      A class of finite groups is closed under binary products. This is the closure property that is not a field of the structure: it follows from closure under extensions, applied to 1 → H → H × K → K → 1.

      theorem TauCeti.FiniteGroupClass.MemFinite.quotient_inf {C : FiniteGroupClass} {G : Type u} [Group G] {M N : Subgroup G} [M.Normal] [N.Normal] (hM : C.MemFinite (G ⧸ M)) (hN : C.MemFinite (G ⧸ N)) :
      C.MemFinite (G ⧸ M ⊓ N)

      The normal subgroups with quotient in C are closed under binary intersection, because G ⧸ (M ⊓ N) embeds in (G ⧸ M) × (G ⧸ N). This is what makes that family downward directed.

      theorem TauCeti.FiniteGroupClass.MemFinite.quotient_comap {C : FiniteGroupClass} {G : Type u} {H : Type v} [Group G] [Group H] {N : Subgroup H} [N.Normal] (hN : C.MemFinite (H ⧸ N)) (f : G →* H) :

      The normal subgroups with quotient in C are preserved by preimage, because G ⧸ N.comap f embeds in H ⧸ N.

      The examples of record #

      The class of finite p-groups, the class that pro-p theory is about.

      Equations
      Instances For
        @[simp]

        Membership in finiteGroupClassP p is being a p-group.

        @[simp]

        A group belongs to finiteGroupClassP p exactly when it is finite and a p-group.

        The class of finite trivial groups.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]

          Membership in finiteGroupClassTrivial is being a trivial group.

          The class of finite solvable groups.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]

            A group belongs to finiteGroupClassSolvable exactly when it is finite and solvable.

            The class of all finite groups. Its C-kernel intersects the open normal subgroups whose quotient is finite; for a profinite group these are all the open normal subgroups, so the kernel is trivial.

            Equations
            Instances For
              @[simp]

              Every finite group is a member of finiteGroupClassAll.

              @[simp]

              A group belongs to finiteGroupClassAll exactly when it is finite.