Documentation

TauCeti.Topology.Algebra.Group.Profinite.Presentation.Basic

Profinite groups defined by generators and relators #

This file constructs profinite and pro-p groups from generators and relators. In each case the relators are quotiented by their closed normal closure, so the result remains profinite. The quotient maps and factorisation theorems let maps out of a presented group be specified on its generators together with the condition that they kill its relators.

The profinite construction allows finite quotients of any order. The pro-p construction starts with the free pro-p group and therefore retains only finite p-group quotients. Both universal properties are used to describe groups by finite sets of generators and relators.

The generators generate a presented group topologically, so a group presented on a finite type is topologically finitely generated. With no relators the presented group is the free group of the same kind (presentedProfiniteGroup.equivFreeProfiniteGroup, presentedProP.equivFreeProP). Every Hausdorff group that is a continuous image of freeProfiniteGroup X or of freeProP p X is presented on X, with the kernel as its set of relators (presentedProfiniteGroup.equivOfSurjective, presentedProP.equivOfSurjective). Combined with IsProP.exists_surjective_freeProP, a topologically finitely generated pro-p group G has a presentation on any finite type with at least topologicalGeneratorRankNat G elements; a presentation on exactly that many generators is what is called a minimal presentation of G.

A presented group is functorial in its presentation: a continuous homomorphism of the underlying free groups that sends the relators of the source into the closed normal closure of the relators of the target induces a continuous homomorphism of the presented groups, and a topological isomorphism of the free groups matching the two closed normal closures induces a topological isomorphism of the presented groups. In particular a presented group depends on its relators only through their closed normal closure. Finally, the pro-p group presented by the images of a set of profinite relators is a quotient of the profinite group they present.

Main results #

References #

@[reducible, inline]
noncomputable abbrev TauCeti.presentedProfiniteGroup (X : Type u) (rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop) :

The profinite group presented by generators X and relators rels, obtained by quotienting the free profinite group by the closed normal closure of the relators.

Equations
Instances For

    The canonical quotient map from the free profinite group to the presented profinite group.

    Equations
    Instances For

      The canonical quotient map onto a presented profinite group is surjective.

      The canonical generator in a presented profinite group.

      Equations
      Instances For
        @[simp]

        The canonical generators of a presented profinite group are the images of the free generators under the quotient map.

        @[simp]
        theorem TauCeti.presentedProfiniteGroup.mk_relator {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} (r : ↑(freeProfiniteGroup X).toProfinite.toTop) (hr : r ∈ rels) :
        (mk rels) r = 1

        The quotient map kills every relator.

        @[simp]

        The kernel of the presentation map consists exactly of the closed normal closure of the relators.

        The generators generate the presented profinite group topologically.

        noncomputable def TauCeti.presentedProfiniteGroup.lift {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] [T1Space G] (ψ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* G) (hψ : ∀ r ∈ rels, ψ r = 1) :

        A continuous homomorphism from the free profinite group that kills the relators factors through the presented profinite group.

        Equations
        Instances For
          @[simp]
          theorem TauCeti.presentedProfiniteGroup.lift_comp_mk {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] [T1Space G] (ψ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* G) (hψ : ∀ r ∈ rels, ψ r = 1) :
          (lift ψ hψ).comp (mk rels) = ψ

          The factorisation through a presented profinite group recovers the original map after the canonical quotient projection.

          @[simp]
          theorem TauCeti.presentedProfiniteGroup.lift_mk {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] [T1Space G] (ψ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* G) (hψ : ∀ r ∈ rels, ψ r = 1) (x : ↑(freeProfiniteGroup X).toProfinite.toTop) :
          (lift ψ hψ) ((mk rels) x) = ψ x

          The factorisation through a presented profinite group computes on classes as the original map.

          @[simp]
          theorem TauCeti.presentedProfiniteGroup.lift_of {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] [T1Space G] (ψ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* G) (hψ : ∀ r ∈ rels, ψ r = 1) (x : X) :
          (lift ψ hψ) (of rels x) = ψ (freeProfiniteGroup.of x)

          The factorisation from a presented profinite group evaluates on its generators as the original map does on the free generators.

          theorem TauCeti.presentedProfiniteGroup.hom_ext {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] {φ ψ : presentedProfiniteGroup X rels →ₜ* G} (h : φ.comp (mk rels) = ψ.comp (mk rels)) :
          φ = ψ

          Two continuous homomorphisms out of a presented profinite group are equal if they agree after precomposition with its quotient map.

          theorem TauCeti.presentedProfiniteGroup.hom_ext_of {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] [T2Space G] {φ ψ : presentedProfiniteGroup X rels →ₜ* G} (h : ∀ (x : X), φ (of rels x) = ψ (of rels x)) :
          φ = ψ

          Two continuous homomorphisms out of a presented profinite group are equal if they agree on the canonical generators.

          theorem TauCeti.presentedProfiniteGroup.hom_ext_of_iff {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] [T2Space G] {φ ψ : presentedProfiniteGroup X rels →ₜ* G} :
          φ = ψ ↔ ∀ (x : X), φ (of rels x) = ψ (of rels x)
          theorem TauCeti.presentedProfiniteGroup.existsUnique_lift {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] [T1Space G] (ψ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* G) (hψ : ∀ r ∈ rels, ψ r = 1) :
          ∃! φ : presentedProfiniteGroup X rels →ₜ* G, φ.comp (mk rels) = ψ

          A continuous homomorphism out of the free profinite group that kills the relators factors uniquely through the presented profinite group.

          @[simp]
          theorem TauCeti.presentedProfiniteGroup.comp_lift {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] [T1Space G] {H : Type w} [Group H] [TopologicalSpace H] [T1Space H] (g : G →ₜ* H) (ψ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* G) (hψ : ∀ r ∈ rels, ψ r = 1) :
          g.comp (lift ψ hψ) = lift (g.comp ψ) ⋯

          The factorisation through a presented profinite group is natural in the target.

          theorem TauCeti.presentedProfiniteGroup.lift_surjective {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {G : Type v} [Group G] [TopologicalSpace G] [T1Space G] {ψ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* G} (hψ : ∀ r ∈ rels, ψ r = 1) (hs : Function.Surjective ⇑ψ) :

          The factorisation through a presented profinite group of a surjection is surjective.

          A profinite group presented on a finite type is topologically finitely generated.

          Functoriality in the generators and the relators #

          The shape of this API follows Mathlib's discrete analogues PresentedGroup.map and PresentedGroup.equivPresentedGroup in Mathlib.GroupTheory.PresentedGroup.

          noncomputable def TauCeti.presentedProfiniteGroup.map {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {Y : Type v} {rels' : Set ↑(freeProfiniteGroup Y).toProfinite.toTop} (φ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* ↑(freeProfiniteGroup Y).toProfinite.toTop) (hφ : ∀ r ∈ rels, (mk rels') (φ r) = 1) :

          The continuous homomorphism of presented profinite groups induced by a continuous homomorphism of the underlying free profinite groups that sends every relator into the closed normal closure of the target relators.

          Equations
          Instances For
            @[simp]
            theorem TauCeti.presentedProfiniteGroup.map_mk {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {Y : Type v} {rels' : Set ↑(freeProfiniteGroup Y).toProfinite.toTop} (φ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* ↑(freeProfiniteGroup Y).toProfinite.toTop) (hφ : ∀ r ∈ rels, (mk rels') (φ r) = 1) (x : ↑(freeProfiniteGroup X).toProfinite.toTop) :
            (map φ hφ) ((mk rels) x) = (mk rels') (φ x)

            The induced homomorphism computes on classes as the homomorphism of free profinite groups.

            @[simp]
            theorem TauCeti.presentedProfiniteGroup.map_of {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {Y : Type v} {rels' : Set ↑(freeProfiniteGroup Y).toProfinite.toTop} (φ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* ↑(freeProfiniteGroup Y).toProfinite.toTop) (hφ : ∀ r ∈ rels, (mk rels') (φ r) = 1) (x : X) :
            (map φ hφ) (of rels x) = (mk rels') (φ (freeProfiniteGroup.of x))

            The induced homomorphism sends a generator to the class of its image.

            theorem TauCeti.presentedProfiniteGroup.mk_eq_one_of_mk_eq_one {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {Y : Type v} {rels' : Set ↑(freeProfiniteGroup Y).toProfinite.toTop} (φ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* ↑(freeProfiniteGroup Y).toProfinite.toTop) (hφ : ∀ r ∈ rels, (mk rels') (φ r) = 1) {x : ↑(freeProfiniteGroup X).toProfinite.toTop} (hx : (mk rels) x = 1) :
            (mk rels') (φ x) = 1

            A continuous homomorphism of free profinite groups that sends the relators into the closed normal closure of the target relators sends the whole closed normal closure into it.

            @[simp]

            The identity of the free profinite group induces the identity of a presented group.

            theorem TauCeti.presentedProfiniteGroup.map_comp {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {Y : Type v} {rels' : Set ↑(freeProfiniteGroup Y).toProfinite.toTop} {Z : Type w} {rels'' : Set ↑(freeProfiniteGroup Z).toProfinite.toTop} (φ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* ↑(freeProfiniteGroup Y).toProfinite.toTop) (hφ : ∀ r ∈ rels, (mk rels') (φ r) = 1) (ψ : ↑(freeProfiniteGroup Y).toProfinite.toTop →ₜ* ↑(freeProfiniteGroup Z).toProfinite.toTop) (hψ : ∀ r ∈ rels', (mk rels'') (ψ r) = 1) :
            (map ψ hψ).comp (map φ hφ) = map (ψ.comp φ) ⋯

            The homomorphisms induced by a composite are the composite of the induced homomorphisms.

            theorem TauCeti.presentedProfiniteGroup.map_surjective {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {Y : Type v} {rels' : Set ↑(freeProfiniteGroup Y).toProfinite.toTop} {φ : ↑(freeProfiniteGroup X).toProfinite.toTop →ₜ* ↑(freeProfiniteGroup Y).toProfinite.toTop} (hφ : ∀ r ∈ rels, (mk rels') (φ r) = 1) (hs : Function.Surjective ⇑φ) :

            A surjection of free profinite groups induces a surjection of presented profinite groups.

            noncomputable def TauCeti.presentedProfiniteGroup.congr {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {Y : Type v} {rels' : Set ↑(freeProfiniteGroup Y).toProfinite.toTop} (e : ↑(freeProfiniteGroup X).toProfinite.toTop ≃ₜ* ↑(freeProfiniteGroup Y).toProfinite.toTop) (h : ∀ r ∈ rels, (mk rels') (e r) = 1) (h' : ∀ r ∈ rels', (mk rels) (e.symm r) = 1) :

            A topological isomorphism of the free profinite groups sending each set of relators into the closed normal closure of the other induces a topological isomorphism of the presented profinite groups.

            Equations
            Instances For
              @[simp]
              theorem TauCeti.presentedProfiniteGroup.congr_mk {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {Y : Type v} {rels' : Set ↑(freeProfiniteGroup Y).toProfinite.toTop} (e : ↑(freeProfiniteGroup X).toProfinite.toTop ≃ₜ* ↑(freeProfiniteGroup Y).toProfinite.toTop) (h : ∀ r ∈ rels, (mk rels') (e r) = 1) (h' : ∀ r ∈ rels', (mk rels) (e.symm r) = 1) (x : ↑(freeProfiniteGroup X).toProfinite.toTop) :
              (congr e h h') ((mk rels) x) = (mk rels') (e x)

              The induced isomorphism computes on classes as the isomorphism of free profinite groups.

              @[simp]
              theorem TauCeti.presentedProfiniteGroup.congr_symm_mk {X : Type u} {rels : Set ↑(freeProfiniteGroup X).toProfinite.toTop} {Y : Type v} {rels' : Set ↑(freeProfiniteGroup Y).toProfinite.toTop} (e : ↑(freeProfiniteGroup X).toProfinite.toTop ≃ₜ* ↑(freeProfiniteGroup Y).toProfinite.toTop) (h : ∀ r ∈ rels, (mk rels') (e r) = 1) (h' : ∀ r ∈ rels', (mk rels) (e.symm r) = 1) (y : ↑(freeProfiniteGroup Y).toProfinite.toTop) :
              (congr e h h').symm ((mk rels') y) = (mk rels) (e.symm y)

              The inverse of the induced isomorphism computes on classes as the inverse isomorphism of free profinite groups.

              Two sets of relators with the same closed normal closure present the same profinite group, by an isomorphism matching the classes of every element of the free profinite group.

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

                The isomorphism between presentations with the same closed normal closure fixes the class of every element of the free profinite group.

                @[simp]

                The inverse of the isomorphism between presentations with the same closed normal closure also fixes the class of every element of the free profinite group.

                The empty set of relators #

                With no relators, the presented profinite group is the free profinite group: the canonical quotient map is a topological isomorphism.

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

                  The inverse of the isomorphism with the free profinite group is the canonical quotient map.

                  @[simp]

                  The isomorphism with the free profinite group sends the class of an element to that element.

                  @[simp]

                  The isomorphism with the free profinite group matches the generators.

                  Continuous images of free profinite groups are presented #

                  A Hausdorff group that is a continuous image of the free profinite group on X is presented on X, with the kernel as its set of relators. Algebraically this is the first isomorphism theorem, QuotientGroup.liftEquiv.

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

                    The presentation isomorphism of a continuous image sends the class of an element to its image.

                    @[simp]

                    The presentation isomorphism of a continuous image matches the generators.

                    @[reducible, inline]
                    noncomputable abbrev TauCeti.presentedProP (p : ℕ) (X : Type u) (rels : Set (freeProP p X)) :

                    The pro-p group presented by generators X and relators rels, obtained by quotienting the free pro-p group by the closed normal closure of the relators.

                    Equations
                    Instances For
                      noncomputable def TauCeti.presentedProP.mk (p : ℕ) {X : Type u} (rels : Set (freeProP p X)) :

                      The canonical quotient map from the free pro-p group to the presented pro-p group.

                      Equations
                      Instances For
                        theorem TauCeti.presentedProP.mk_surjective (p : ℕ) {X : Type u} (rels : Set (freeProP p X)) :

                        The canonical quotient map onto a presented pro-p group is surjective.

                        noncomputable def TauCeti.presentedProP.of (p : ℕ) {X : Type u} (rels : Set (freeProP p X)) (x : X) :
                        presentedProP p X rels

                        The canonical generator in a presented pro-p group.

                        Equations
                        Instances For
                          @[simp]
                          theorem TauCeti.presentedProP.mk_of (p : ℕ) {X : Type u} (rels : Set (freeProP p X)) (x : X) :
                          (mk p rels) (freeProP.of x) = of p rels x

                          The canonical generators of a presented pro-p group are the images of the free generators under the quotient map.

                          theorem TauCeti.presentedProP.isProP (p : ℕ) (X : Type u) (rels : Set (freeProP p X)) :
                          IsProP p (presentedProP p X rels)

                          A presented pro-p group is pro-p, since it is a quotient of a free pro-p group.

                          @[simp]
                          theorem TauCeti.presentedProP.mk_relator {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} (r : freeProP p X) (hr : r ∈ rels) :
                          (mk p rels) r = 1

                          The quotient map kills every relator.

                          @[simp]
                          theorem TauCeti.presentedProP.mk_eq_one_iff {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} (r : freeProP p X) :

                          The kernel of the presentation map consists exactly of the closed normal closure of the relators.

                          @[simp]
                          theorem TauCeti.presentedProP.ker_mk {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} :

                          The kernel of the quotient map onto a presented pro-p group is the closed normal closure of the relators.

                          The generators generate the presented pro-p group topologically.

                          The generators generate the presented pro-p group topologically, as an equation of subgroups.

                          A pro-p group presented on a finite type is topologically finitely generated.

                          noncomputable def TauCeti.presentedProP.lift {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] [T1Space P] (ψ : freeProP p X →ₜ* P) (hψ : ∀ r ∈ rels, ψ r = 1) :

                          A continuous homomorphism from the free pro-p group that kills the relators factors through the presented pro-p group.

                          Equations
                          Instances For
                            @[simp]
                            theorem TauCeti.presentedProP.lift_comp_mk {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] [T1Space P] (ψ : freeProP p X →ₜ* P) (hψ : ∀ r ∈ rels, ψ r = 1) :
                            (lift ψ hψ).comp (mk p rels) = ψ

                            The factorisation through a presented pro-p group recovers the original map after the canonical quotient projection.

                            @[simp]
                            theorem TauCeti.presentedProP.lift_mk {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] [T1Space P] (ψ : freeProP p X →ₜ* P) (hψ : ∀ r ∈ rels, ψ r = 1) (x : freeProP p X) :
                            (lift ψ hψ) ((mk p rels) x) = ψ x

                            The factorisation through a presented pro-p group computes on classes as the original map.

                            @[simp]
                            theorem TauCeti.presentedProP.lift_of {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] [T1Space P] (ψ : freeProP p X →ₜ* P) (hψ : ∀ r ∈ rels, ψ r = 1) (x : X) :
                            (lift ψ hψ) (of p rels x) = ψ (freeProP.of x)

                            The factorisation from a presented pro-p group evaluates on its generators as the original map does on the free generators.

                            theorem TauCeti.presentedProP.hom_ext {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] {φ ψ : presentedProP p X rels →ₜ* P} (h : φ.comp (mk p rels) = ψ.comp (mk p rels)) :
                            φ = ψ

                            Two continuous homomorphisms out of a presented pro-p group are equal if they agree after precomposition with its quotient map.

                            theorem TauCeti.presentedProP.hom_ext_of {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] [T2Space P] {φ ψ : presentedProP p X rels →ₜ* P} (h : ∀ (x : X), φ (of p rels x) = ψ (of p rels x)) :
                            φ = ψ

                            Two continuous homomorphisms out of a presented pro-p group are equal if they agree on the canonical generators.

                            theorem TauCeti.presentedProP.hom_ext_of_iff {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] [T2Space P] {φ ψ : presentedProP p X rels →ₜ* P} :
                            φ = ψ ↔ ∀ (x : X), φ (of p rels x) = ψ (of p rels x)
                            theorem TauCeti.presentedProP.existsUnique_lift {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] [T1Space P] (ψ : freeProP p X →ₜ* P) (hψ : ∀ r ∈ rels, ψ r = 1) :
                            ∃! φ : presentedProP p X rels →ₜ* P, φ.comp (mk p rels) = ψ

                            A continuous homomorphism out of the free pro-p group that kills the relators factors uniquely through the presented pro-p group.

                            @[simp]
                            theorem TauCeti.presentedProP.comp_lift {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] [T1Space P] {Q : Type w} [Group Q] [TopologicalSpace Q] [T1Space Q] (g : P →ₜ* Q) (ψ : freeProP p X →ₜ* P) (hψ : ∀ r ∈ rels, ψ r = 1) :
                            g.comp (lift ψ hψ) = lift (g.comp ψ) ⋯

                            The factorisation through a presented pro-p group is natural in the target.

                            theorem TauCeti.presentedProP.lift_surjective {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {P : Type v} [Group P] [TopologicalSpace P] [T1Space P] {ψ : freeProP p X →ₜ* P} (hψ : ∀ r ∈ rels, ψ r = 1) (hs : Function.Surjective ⇑ψ) :

                            The factorisation through a presented pro-p group of a surjection is surjective.

                            Functoriality in the generators and the relators #

                            The shape of this API follows Mathlib's discrete analogues PresentedGroup.map and PresentedGroup.equivPresentedGroup in Mathlib.GroupTheory.PresentedGroup.

                            noncomputable def TauCeti.presentedProP.map {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {Y : Type v} {rels' : Set (freeProP p Y)} (φ : freeProP p X →ₜ* freeProP p Y) (hφ : ∀ r ∈ rels, (mk p rels') (φ r) = 1) :

                            The continuous homomorphism of presented pro-p groups induced by a continuous homomorphism of the underlying free pro-p groups that sends every relator into the closed normal closure of the target relators.

                            Equations
                            Instances For
                              @[simp]
                              theorem TauCeti.presentedProP.map_mk {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {Y : Type v} {rels' : Set (freeProP p Y)} (φ : freeProP p X →ₜ* freeProP p Y) (hφ : ∀ r ∈ rels, (mk p rels') (φ r) = 1) (x : freeProP p X) :
                              (map φ hφ) ((mk p rels) x) = (mk p rels') (φ x)

                              The induced homomorphism computes on classes as the homomorphism of free pro-p groups.

                              @[simp]
                              theorem TauCeti.presentedProP.map_of {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {Y : Type v} {rels' : Set (freeProP p Y)} (φ : freeProP p X →ₜ* freeProP p Y) (hφ : ∀ r ∈ rels, (mk p rels') (φ r) = 1) (x : X) :
                              (map φ hφ) (of p rels x) = (mk p rels') (φ (freeProP.of x))

                              The induced homomorphism sends a generator to the class of its image.

                              theorem TauCeti.presentedProP.mk_eq_one_of_mk_eq_one {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {Y : Type v} {rels' : Set (freeProP p Y)} (φ : freeProP p X →ₜ* freeProP p Y) (hφ : ∀ r ∈ rels, (mk p rels') (φ r) = 1) {x : freeProP p X} (hx : (mk p rels) x = 1) :
                              (mk p rels') (φ x) = 1

                              A continuous homomorphism of free pro-p groups that sends the relators into the closed normal closure of the target relators sends the whole closed normal closure into it.

                              @[simp]

                              The identity of the free pro-p group induces the identity of a presented group.

                              theorem TauCeti.presentedProP.map_comp {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {Y : Type v} {rels' : Set (freeProP p Y)} {Z : Type w} {rels'' : Set (freeProP p Z)} (φ : freeProP p X →ₜ* freeProP p Y) (hφ : ∀ r ∈ rels, (mk p rels') (φ r) = 1) (ψ : freeProP p Y →ₜ* freeProP p Z) (hψ : ∀ r ∈ rels', (mk p rels'') (ψ r) = 1) :
                              (map ψ hψ).comp (map φ hφ) = map (ψ.comp φ) ⋯

                              The homomorphisms induced by a composite are the composite of the induced homomorphisms.

                              theorem TauCeti.presentedProP.map_surjective {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {Y : Type v} {rels' : Set (freeProP p Y)} {φ : freeProP p X →ₜ* freeProP p Y} (hφ : ∀ r ∈ rels, (mk p rels') (φ r) = 1) (hs : Function.Surjective ⇑φ) :

                              A surjection of free pro-p groups induces a surjection of presented pro-p groups.

                              noncomputable def TauCeti.presentedProP.congr {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {Y : Type v} {rels' : Set (freeProP p Y)} (e : freeProP p X ≃ₜ* freeProP p Y) (h : ∀ r ∈ rels, (mk p rels') (e r) = 1) (h' : ∀ r ∈ rels', (mk p rels) (e.symm r) = 1) :

                              A topological isomorphism of the free pro-p groups sending each set of relators into the closed normal closure of the other induces a topological isomorphism of the presented pro-p groups.

                              Equations
                              Instances For
                                @[simp]
                                theorem TauCeti.presentedProP.congr_mk {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {Y : Type v} {rels' : Set (freeProP p Y)} (e : freeProP p X ≃ₜ* freeProP p Y) (h : ∀ r ∈ rels, (mk p rels') (e r) = 1) (h' : ∀ r ∈ rels', (mk p rels) (e.symm r) = 1) (x : freeProP p X) :
                                (congr e h h') ((mk p rels) x) = (mk p rels') (e x)

                                The induced isomorphism computes on classes as the isomorphism of free pro-p groups.

                                @[simp]
                                theorem TauCeti.presentedProP.congr_symm_mk {p : ℕ} {X : Type u} {rels : Set (freeProP p X)} {Y : Type v} {rels' : Set (freeProP p Y)} (e : freeProP p X ≃ₜ* freeProP p Y) (h : ∀ r ∈ rels, (mk p rels') (e r) = 1) (h' : ∀ r ∈ rels', (mk p rels) (e.symm r) = 1) (y : freeProP p Y) :
                                (congr e h h').symm ((mk p rels') y) = (mk p rels) (e.symm y)

                                The inverse of the induced isomorphism computes on classes as the inverse isomorphism of free pro-p groups.

                                noncomputable def TauCeti.presentedProP.congrSingleton {p : ℕ} {X : Type u} {Y : Type v} (e : freeProP p X ≃ₜ* freeProP p Y) {r : freeProP p X} {r' : freeProP p Y} (h : e r = r') :

                                A topological isomorphism of the free pro-p groups carrying the relator r to the relator r' induces a topological isomorphism of the one-relator presented pro-p groups ⟨X ∣ r⟩ ≃ₜ* ⟨Y ∣ r'⟩.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem TauCeti.presentedProP.congrSingleton_mk {p : ℕ} {X : Type u} {Y : Type v} (e : freeProP p X ≃ₜ* freeProP p Y) {r : freeProP p X} {r' : freeProP p Y} (h : e r = r') (x : freeProP p X) :
                                  (congrSingleton e h) ((mk p {r}) x) = (mk p {r'}) (e x)

                                  The isomorphism of one-relator presented groups induced by e computes on classes as e.

                                  @[simp]
                                  theorem TauCeti.presentedProP.congrSingleton_symm_mk {p : ℕ} {X : Type u} {Y : Type v} (e : freeProP p X ≃ₜ* freeProP p Y) {r : freeProP p X} {r' : freeProP p Y} (h : e r = r') (y : freeProP p Y) :
                                  (congrSingleton e h).symm ((mk p {r'}) y) = (mk p {r}) (e.symm y)

                                  The inverse of the isomorphism of one-relator presented groups induced by e computes on classes as e⁻¹.

                                  Two sets of relators with the same closed normal closure present the same pro-p group, by an isomorphism matching the classes of every element of the free pro-p group.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    @[simp]
                                    theorem TauCeti.presentedProP.congrOfClosureEq_mk {p : ℕ} {X : Type u} {rels rels₂ : Set (freeProP p X)} (h : (Subgroup.normalClosure rels).topologicalClosure = (Subgroup.normalClosure rels₂).topologicalClosure) (x : freeProP p X) :
                                    (congrOfClosureEq h) ((mk p rels) x) = (mk p rels₂) x

                                    The isomorphism between presentations with the same closed normal closure fixes the class of every element of the free pro-p group.

                                    @[simp]
                                    theorem TauCeti.presentedProP.congrOfClosureEq_symm_mk {p : ℕ} {X : Type u} {rels rels₂ : Set (freeProP p X)} (h : (Subgroup.normalClosure rels).topologicalClosure = (Subgroup.normalClosure rels₂).topologicalClosure) (x : freeProP p X) :
                                    (congrOfClosureEq h).symm ((mk p rels₂) x) = (mk p rels) x

                                    The inverse of the isomorphism between presentations with the same closed normal closure also fixes the class of every element of the free pro-p group.

                                    The empty set of relators #

                                    With no relators, the presented pro-p group is the free pro-p group: the canonical quotient map is a topological isomorphism.

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

                                      The inverse of the isomorphism with the free pro-p group is the canonical quotient map.

                                      @[simp]
                                      theorem TauCeti.presentedProP.equivFreeProP_mk {p : ℕ} {X : Type u} (x : freeProP p X) :
                                      equivFreeProP ((mk p ∅) x) = x

                                      The isomorphism with the free pro-p group sends the class of an element to that element.

                                      @[simp]

                                      The isomorphism with the free pro-p group matches the generators.

                                      Continuous images of free pro-p groups are presented #

                                      noncomputable def TauCeti.presentedProP.equivOfSurjective {p : ℕ} {X : Type u} {G : Type v} [Group G] [TopologicalSpace G] [T2Space G] (φ : freeProP p X →ₜ* G) (hφ : Function.Surjective ⇑φ) :
                                      presentedProP p X ↑(↑φ).ker ≃ₜ* G

                                      A Hausdorff group that is a continuous image of the free pro-p group on X is presented on X, with the kernel as its set of relators. Algebraically this is the first isomorphism theorem, QuotientGroup.liftEquiv.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[simp]
                                        theorem TauCeti.presentedProP.equivOfSurjective_mk {p : ℕ} {X : Type u} {G : Type v} [Group G] [TopologicalSpace G] [T2Space G] (φ : freeProP p X →ₜ* G) (hφ : Function.Surjective ⇑φ) (x : freeProP p X) :
                                        (equivOfSurjective φ hφ) ((mk p ↑(↑φ).ker) x) = φ x

                                        The presentation isomorphism of a continuous image sends the class of an element to its image.

                                        @[simp]
                                        theorem TauCeti.presentedProP.equivOfSurjective_of {p : ℕ} {X : Type u} {G : Type v} [Group G] [TopologicalSpace G] [T2Space G] (φ : freeProP p X →ₜ* G) (hφ : Function.Surjective ⇑φ) (x : X) :
                                        (equivOfSurjective φ hφ) (of p (↑(↑φ).ker) x) = φ (freeProP.of x)

                                        The presentation isomorphism of a continuous image matches the generators.

                                        From a profinite presentation to a pro-p presentation #

                                        The canonical continuous homomorphism from a presented profinite group to the pro-p group presented on the same generators by the images of the relators in the free pro-p group.

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

                                          The comparison homomorphism computes on classes through the canonical map to the free pro-p group.

                                          @[simp]

                                          The comparison homomorphism matches the canonical generators.

                                          A presented profinite group maps onto the pro-p group presented by the images of its relators.

                                          Presentations of topologically finitely generated pro-p groups #

                                          Every topologically finitely generated pro-p group has a presentation on any finite type with at least topologicalGeneratorRankNat G elements, in particular on a type with exactly topologicalGeneratorRankNat G elements, which is what a minimal presentation means.

                                          The generators of a presentation on Fin n, indexed by ℕ #

                                          noncomputable def TauCeti.presentedProPGen (p n : ℕ) (rels : Set (freeProP p (Fin n))) (i : ℕ) :
                                          presentedProP p (Fin n) rels

                                          The generators of a pro-p group presented on Fin n, indexed by ℕ with value 1 out of range: the images of TauCeti.freeProPGen.

                                          Equations
                                          Instances For
                                            @[simp]
                                            theorem TauCeti.presentedProP.mk_freeProPGen (p n : ℕ) (rels : Set (freeProP p (Fin n))) (i : ℕ) :
                                            (mk p rels) (freeProPGen p n i) = presentedProPGen p n rels i

                                            The quotient map carries freeProPGen to presentedProPGen.

                                            @[simp]
                                            theorem TauCeti.presentedProPGen_of_lt (p n : ℕ) (rels : Set (freeProP p (Fin n))) {i : ℕ} (h : i < n) :

                                            In range, presentedProPGen p n rels i is the i-th canonical generator.

                                            @[simp]
                                            theorem TauCeti.presentedProPGen_eq_one_of_le (p n : ℕ) (rels : Set (freeProP p (Fin n))) {i : ℕ} (h : n ≤ i) :
                                            presentedProPGen p n rels i = 1

                                            Out of range, presentedProPGen p n rels i is 1.

                                            theorem TauCeti.presentedProPGen_val (p n : ℕ) (rels : Set (freeProP p (Fin n))) (i : Fin n) :
                                            presentedProPGen p n rels ↑i = presentedProP.of p rels i

                                            On the values of Fin n, presentedProPGen p n rels is the canonical generator.

                                            theorem TauCeti.map_presentedProPGen (p n : ℕ) (rels : Set (freeProP p (Fin n))) {K : Type u_1} {F : Type u_2} [Group K] [FunLike F (presentedProP p (Fin n) rels) K] [MonoidHomClass F (presentedProP p (Fin n) rels) K] (φ : F) (i : ℕ) :
                                            φ (presentedProPGen p n rels i) = if h : i < n then φ (presentedProP.of p rels ⟨i, h⟩) else 1

                                            The value of a homomorphism on the ℕ-indexed generators of a presented group.

                                            @[simp]
                                            theorem TauCeti.presentedProP.mk_comp_freeProPGen (p n : ℕ) (rels : Set (freeProP p (Fin n))) :
                                            ⇑(mk p rels) ∘ freeProPGen p n = presentedProPGen p n rels

                                            The quotient map carries the tuple freeProPGen to the tuple presentedProPGen: the function-level form of TauCeti.presentedProP.mk_freeProPGen, which lets a word read on presentedProPGen be pulled back along the quotient map to the same word on freeProPGen.

                                            theorem TauCeti.presentedProP.comp_mk_freeProPGen (p n : ℕ) (rels : Set (freeProP p (Fin n))) {K : Type u_1} [Monoid K] [TopologicalSpace K] (φ : presentedProP p (Fin n) rels →ₜ* K) (i : ℕ) :
                                            (φ.comp (mk p rels)) (freeProPGen p n i) = φ (presentedProPGen p n rels i)

                                            A continuous homomorphism of the presented group, pulled back to the free group along the quotient map, takes on the ℕ-indexed free generators its values on presentedProPGen.