Documentation

TauCeti.NumberTheory.ClassFieldTheory.Formation.Basic

Formations and their finite normal layers #

Artin and Tate describe a formation by a group G, a distinguished family of finite-index subgroups, and a G-module A each of whose elements is fixed by a sufficiently small member of the family. In the arithmetic applications the family is the family of open subgroups of a compact, totally disconnected Galois group and A is a discrete continuous module, so this file uses the topological formulation: a Formation is a smooth discrete topological representation of G over ℤ, and its U-level A^U is the submodule fixed by an open subgroup U.

A finite normal layer is a pair of open subgroups V ≤ U with V normal in U. In field notation it is the layer K/F with U = G_F and V = G_K. Its Galois group Γ = U ⧸ V is finite because V is open in the compact group U, its coefficient module is the level A^V, and its ground level is A^U. The three constructions below are what the cohomology of the layer is taken of and compared with:

The additive convention is used throughout, as in the abstract theory; a multiplicative group such as Kˣ enters through an Additive adapter.

Main definitions #

Main statements #

Implementation notes #

The coefficient module is built as Representation.ofQuotient of a Representation.subrepresentation, so that its underlying module is definitionally the level A^V. Mathlib's packaged Rep.quotientToInvariants would instead produce the invariants of the restriction of A along V ∩ U → U → G, which is the same submodule of the ambient module but not the same term as A^V, and every later comparison would have to transport along that equality.

Both Formation and NormalLayer assume that G is compact and totally disconnected. Compactness makes the Galois group of every layer finite, so that the degree of a layer is its genuine index and not the junk value 0 of an infinite quotient.

Both the group and the coefficient module live in Type. Mathlib's tateCohomology asks for the finite group and the coefficient ring ℤ in one universe and for the coefficient module in that same universe, and every carrier of the arithmetic instances is a Type, so nothing is lost.

The coefficient module is read as a plain Rep ℤ G through Representation.ofDistribMulAction at the action TopRep.distribMulAction derives from the operators of the topological representation. Passing instead through ContRepresentation.toRepresentation would carry the Module ℤ instance packaged inside TopRep, which is not the instance AddCommGroup.toIntModule that typeclass synthesis produces for an integral module, and the two are not definitionally equal.

Because toRep and rep are abbrevs for Rep.of, simp reduces the carriers F.toRep.V and (L.rep F).V to F.module.V and F.level L.top wherever they occur as implicit type arguments (the type of a coercion, of a bundled map, of a membership) before it looks a term up among its lemmas. A simp lemma is indexed by its left-hand side as elaborated, where these carriers are still unreduced, so a lemma stated plainly over F.toRep.V is never found. The simp lemmas about levels, layer coefficients and the norm below therefore state their left-hand sides through dsimp% only, which puts those implicit arguments in the form simp produces. Only the left-hand side is wrapped, and with only, so that the right-hand side keeps the form it is written in: rw with these lemmas then leaves terms over F.toRep, as the rest of this file states them.

References #

Formations and their levels #

@[reducible, inline]

A formation: a smooth discrete continuous integral representation of a compact, totally disconnected topological group. In the arithmetic applications G is the Galois group of a Galois extension and the module is the multiplicative group of the top field, read additively. The distinguished family of subgroups of the Artin–Tate definition is the family of open subgroups of G, which is why the levels below are indexed by OpenSubgroup G. A formation is definitionally the same type as SmoothDiscreteTopRep ℤ G, specialized to integral coefficients and to a profinite group; it introduces no second representation bundle.

Instances For
    @[reducible, inline]

    The coefficient module of a formation, as a topological representation of G over ℤ.

    Instances For
      @[reducible, inline]

      The coefficient module is discrete with open point stabilizers.

      Instances For

        Two formations on G with the same coefficient module are equal.

        @[reducible, inline]

        The coefficient module of a formation as a plain integral representation of G, forgetting its topology. The levels, the layer representations and all of their cohomology are taken of this underlying representation. Being an abbrev, its carrier is reduced by simp; see the implementation notes for how simp lemmas over it are stated.

        Instances For

          An element g acts on the underlying representation F.toRep as it acts on the coefficient module.

          The level A^U of an open subgroup U, as a submodule of the ambient module of the formation. Keeping every level inside one ambient module is what makes the inclusion of a level in a smaller subgroup's level, and the norm between two levels, maps of submodules of a fixed module.

          Instances For
            @[simp]

            An element lies in the level A^U exactly when every element of U fixes it.

            Every element of the coefficient module lies in a level. This is the Artin–Tate condition that each element of A is fixed by a sufficiently small member of the distinguished family of subgroups, and it is exactly what smoothness of the module supplies: the stabilizer of an element is open.

            Levels decrease as the subgroup grows: a larger subgroup fixes fewer elements.

            The level A^U of an open subgroup is the degree-zero cohomology H⁰(U, A) of U acting on the coefficient module: both are the elements of the ambient module fixed by U, and the equivalence moves none of them.

            Instances For
              @[simp]

              levelEquivH0 moves no element of the ambient module.

              @[simp]

              The inverse of levelEquivH0 moves no element of the ambient module either.

              Finite normal layers #

              A finite normal layer V ◁ U of open subgroups of G. In field notation this is the finite Galois layer K/F inside the extension G cuts out, with U = G_F the ground subgroup and V = G_K the top subgroup.

              • ground : OpenSubgroup G

                the ground subgroup U, cutting out the base field of the layer

              • top : OpenSubgroup G

                the top subgroup V, cutting out the top field of the layer

              • top_le_ground : self.top ≤ self.ground

                the layer runs upwards: V ≤ U

              • normal : ((↑self.top).subgroupOf ↑self.ground).Normal

                V is normal in U, so that the layer is Galois

              Instances For
                theorem TauCeti.ClassFieldTheory.NormalLayer.ext_iff {G : Type} {inst✝ : Group G} {inst✝¹ : TopologicalSpace G} {inst✝² : IsTopologicalGroup G} {inst✝³ : CompactSpace G} {inst✝⁴ : TotallyDisconnectedSpace G} {x y : NormalLayer G} :
                x = y ↔ x.ground = y.ground ∧ x.top = y.top
                theorem TauCeti.ClassFieldTheory.NormalLayer.ext {G : Type} {inst✝ : Group G} {inst✝¹ : TopologicalSpace G} {inst✝² : IsTopologicalGroup G} {inst✝³ : CompactSpace G} {inst✝⁴ : TotallyDisconnectedSpace G} {x y : NormalLayer G} (ground : x.ground = y.ground) (top : x.top = y.top) :
                x = y
                @[reducible, inline]

                The top subgroup V of a layer, viewed as a subgroup of the ground subgroup U.

                Instances For
                  @[reducible, inline]

                  The Galois group Γ = U ⧸ V of a finite normal layer.

                  Instances For

                    The top subgroup of a layer is normal in the ground subgroup, read on elements of G.

                    The degree [U : V] of a normal layer, the index of the top subgroup in the ground subgroup.

                    Instances For
                      @[simp]

                      The degree of a layer is the order of its Galois group U ⧸ V.

                      The degree of a layer is the relative index of its top subgroup in its ground subgroup.

                      The layer V ◁ ⊤ cut out by an open normal subgroup of G. These layers are the finite Galois extensions of the ground field of a formation on G.

                      Instances For
                        @[simp]

                        The ground subgroup of the layer V ◁ ⊤ is all of G.

                        The Galois group of the layer V ◁ ⊤ is the finite quotient G ⧸ V.

                        Instances For
                          @[simp]

                          The identification of the Galois group of V ◁ ⊤ with G ⧸ V sends the class of u to the class of u.

                          @[simp]

                          The inverse identification of G ⧸ V with the Galois group of V ◁ ⊤ sends the class of u to the class of u.

                          The ground level of the layer V ◁ G of an open normal subgroup V is the level A^G of the whole group.

                          Instances For
                            @[simp]

                            The identification of A^G with the ground level of V ◁ G moves no element of the ambient module.

                            The top subgroup is open in the compact ground subgroup, so the Galois group is finite.

                            @[instance_reducible]

                            The Galois group of a layer is finite, so it carries a Fintype structure.

                            The top subgroup of a layer is normal in the ground subgroup, stated for the underlying subgroups of G: this is the form in which the continuous cohomology of the ground subgroup L.ground.toSubgroup takes it.

                            The top subgroup is open in the ground subgroup, so the Galois group, presented as the quotient of the underlying subgroup L.ground.toSubgroup of G, is discrete.

                            The coefficient module of a layer #

                            The ground subgroup carries the top level into itself: this is exactly normality of V in U.

                            @[reducible, inline]

                            The action of the ground subgroup U on the top level A^V.

                            Instances For
                              @[simp]

                              The ground subgroup acts on the top level by the restriction of the action on the ambient module.

                              @[reducible, inline]

                              The coefficient module of a layer: the top level A^V with the induced action of the Galois group U ⧸ V. Its underlying module is the level itself, not an isomorphic copy.

                              Instances For
                                theorem TauCeti.ClassFieldTheory.NormalLayer.rep_ρ_mk_apply_coe {G : Type} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [TotallyDisconnectedSpace G] (L : NormalLayer G) (F : Formation G) (u : ↥L.ground) (x : ↥(F.level L.top)) :
                                ↑(((L.rep F).ρ ↑u) x) = (F.toRep.ρ ↑u) ↑x

                                The class of u ∈ U in the Galois group acts on the coefficient module of the layer as u acts on the ambient module.

                                The invariants of the coefficient module are the ground level: (A^V)^{U/V} = A^U. Both sides are read inside the top level A^V.

                                The identification (A^V)^{U/V} ≃ A^U of the invariants of the coefficient module with the ground level. It moves no element of the ambient module.

                                Instances For
                                  @[simp]

                                  groundLevelEquiv moves no element of the ambient module.

                                  @[simp]

                                  The inverse of groundLevelEquiv moves no element of the ambient module either.

                                  def TauCeti.ClassFieldTheory.NormalLayer.coeffFixedPointsEquiv {G : Type} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [TotallyDisconnectedSpace G] (L : NormalLayer G) {F : Formation G} {M : Type} [AddCommGroup M] [DistribMulAction G M] (e : M ≃+ ↑F.toRep) (he : ∀ (g : G) (x : M), e (g • x) = (F.toRep.ρ g) (e x)) :
                                  ↑(L.rep F) ≃+ ↥(FixedPoints.addSubgroup (↥((↑L.top).subgroupOf ↑L.ground)) M)

                                  The coefficient module of a layer read in a G-module: when the coefficient module of the formation is read, through an equivariant additive equivalence e : M ≃+ A, on a G-module M, the coefficient module A^V of a layer V ◁ U is the subgroup M^V of fixed points of its top subgroup, viewed as a subgroup of the ground subgroup U. It only changes the coefficient dictionary (coeffFixedPointsEquiv_apply_coe) and is equivariant for the Galois group of the layer (coeffFixedPointsEquiv_ρ).

                                  Instances For
                                    @[simp]
                                    theorem TauCeti.ClassFieldTheory.NormalLayer.coeffFixedPointsEquiv_apply_coe {G : Type} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [TotallyDisconnectedSpace G] (L : NormalLayer G) {F : Formation G} {M : Type} [AddCommGroup M] [DistribMulAction G M] (e : M ≃+ ↑F.toRep) (he : ∀ (g : G) (x : M), e (g • x) = (F.toRep.ρ g) (e x)) (x : ↑(L.rep F)) :
                                    ↑((L.coeffFixedPointsEquiv e he) x) = e.symm ↑x

                                    coeffFixedPointsEquiv reads an element of the coefficient module in M through e.

                                    @[simp]
                                    theorem TauCeti.ClassFieldTheory.NormalLayer.coeffFixedPointsEquiv_symm_apply_coe {G : Type} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [TotallyDisconnectedSpace G] (L : NormalLayer G) {F : Formation G} {M : Type} [AddCommGroup M] [DistribMulAction G M] (e : M ≃+ ↑F.toRep) (he : ∀ (g : G) (x : M), e (g • x) = (F.toRep.ρ g) (e x)) (m : ↥(FixedPoints.addSubgroup (↥((↑L.top).subgroupOf ↑L.ground)) M)) :
                                    ↑((L.coeffFixedPointsEquiv e he).symm m) = e ↑m

                                    The inverse of coeffFixedPointsEquiv reads a fixed point of M in the coefficient module through e.

                                    @[simp]
                                    theorem TauCeti.ClassFieldTheory.NormalLayer.coeffFixedPointsEquiv_ρ {G : Type} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [TotallyDisconnectedSpace G] (L : NormalLayer G) {F : Formation G} {M : Type} [AddCommGroup M] [DistribMulAction G M] (e : M ≃+ ↑F.toRep) (he : ∀ (g : G) (x : M), e (g • x) = (F.toRep.ρ g) (e x)) (g : ↥↑L.ground ⧸ (↑L.top).subgroupOf ↑L.ground) (x : ↑(L.rep F)) :
                                    (L.coeffFixedPointsEquiv e he) (((L.rep F).ρ g) x) = g • (L.coeffFixedPointsEquiv e he) x

                                    coeffFixedPointsEquiv is equivariant for the Galois group of the layer.

                                    The cohomology of a layer #

                                    @[reducible, inline]

                                    Ordinary group cohomology of a finite normal layer, H^n(U/V, A^V), on Mathlib's carrier. The axioms satisfied by a class formation and the fundamental class of a layer are read here.

                                    Instances For
                                      @[reducible, inline]

                                      Tate cohomology of a finite normal layer in its coefficient module, the Tate group H^r(U/V, A^V) in every integer degree r.

                                      Instances For
                                        @[reducible, inline]

                                        Tate cohomology of a finite normal layer with trivial integral coefficients, the Tate group H^r(U/V, ℤ). Its degree -2 is the abelianization of the Galois group of the layer. In a class formation, cup product with the fundamental class of the layer carries that degree isomorphically onto TateH in degree 0, and the Artin map is the inverse of this isomorphism.

                                        Instances For
                                          @[reducible, inline]

                                          Ordinary cohomology of a finite normal layer with trivial integral coefficients, H^n(U/V, ℤ). This is the positive-degree comparison target for TrivialTateH.

                                          Instances For

                                            The two low Tate degrees #

                                            Degree -2 Tate cohomology with trivial integral coefficients is the additive abelianization of the Galois group. This is the source of the Galois side of the Nakayama map.

                                            It is the negative of the generic identification TauCeti.TateCohomology.HNegTwoAddEquivAbelianization, so the first-homology class of (g, 1) goes to g⁻¹ (tateHMinusTwoEquivAbelianization_single_one). With the generic identification the Tate pairing of σ ∈ Γ^ab with the connecting class δχ of a character is -χ(σ) (TauCeti.TateCohomology.toRatAddCircle_map_leftUnitor_cup_characterConnectingClass). With this sign it is χ(σ), and the Artin map satisfies the classical character formula χ(artinMap a) = inv(a₀ ∪ δχ) instead of being the inverse of the classical reciprocity map.

                                            Instances For

                                              The layer's degree--2 identification is the negative of the generic identification for its Galois group.

                                              In positive degrees the Tate cohomology of a finite normal layer is its ordinary cohomology. This is Mathlib's comparison TateCohomology.isoGroupCohomology, stated between the carriers TateH and H of the layer, so that it composes with maps between those carriers.

                                              Instances For

                                                In positive degrees Tate cohomology with trivial integral coefficients is ordinary cohomology.

                                                Instances For

                                                  The positive-degree comparison for trivial coefficients is Mathlib's canonical comparison isomorphism.

                                                  The identification of positive-degree Tate cohomology of a layer with its ordinary cohomology is Mathlib's comparison isomorphism at the coefficient module of the layer.

                                                  The norm of a layer #

                                                  The norm N_{U/V} : A^V → A^U of a finite normal layer: the sum of the Galois conjugates, landing in the ground level through groundLevelEquiv.

                                                  Instances For
                                                    @[simp]
                                                    theorem TauCeti.ClassFieldTheory.NormalLayer.norm_apply_coe {G : Type} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [TotallyDisconnectedSpace G] (L : NormalLayer G) (F : Formation G) (x : ↥(F.level L.top)) :
                                                    ↑((L.norm F) x) = ∑ γ : L.Gal, ↑(((L.rep F).ρ γ) x)

                                                    The norm of a layer is the sum of the Galois conjugates: N_{U/V}(x) = ∑_{γ ∈ U ⧸ V} γ x.

                                                    The norm of a layer is the trace of the Galois action on the top level, so on an element of the ground level it is multiplication by the degree.

                                                    The norm subgroup N_{U/V}(A^V) of the ground level.

                                                    Instances For
                                                      @[simp]

                                                      An element of the ground level lies in the norm subgroup exactly when it is a norm.

                                                      @[reducible, inline]

                                                      The norm quotient A^U / N_{U/V}(A^V) of a finite normal layer. It is the group that the Artin map of a class formation — a formation whose layers satisfy the axioms on H¹ and H², which a bare Formation does not assume — identifies with the abelianization of the Galois group of the layer.

                                                      Instances For

                                                        The canonical map from the ground level onto the norm quotient. The Artin map of a class formation is defined on the ground level by composing with this map.

                                                        Instances For
                                                          @[simp]

                                                          normQuotientMk sends an element of the ground level to its class in the norm quotient.

                                                          Degree-zero Tate cohomology of a finite normal layer is its norm quotient. This is the low-degree identification that the Artin map of a class formation is read through.

                                                          Instances For
                                                            @[simp]

                                                            The identification of degree-zero Tate cohomology with the norm quotient sends the class of an invariant to the class of the corresponding element of the ground level.

                                                            The zero-dimensional Tate class a₀ of an element a of the ground level A^U: the class of a in the degree-zero Tate group H^0(U/V, A^V), reading a as an invariant of the coefficient module A^V.

                                                            Instances For
                                                              @[simp]

                                                              The zero-dimensional Tate class of the ground-level element corresponding to an invariant is the class of that invariant.

                                                              @[simp]

                                                              Under the identification of degree-zero Tate cohomology with the norm quotient, the zero-dimensional Tate class of a is the class of a modulo norms.

                                                              @[simp]

                                                              The zero-dimensional Tate class of a vanishes exactly when a is a norm.

                                                              The norm quotient read through an identification of the ground level: if e identifies a group A with the ground level A^U of the layer and carries the normal subgroup N onto the norm subgroup N_{U/V}(A^V), then e descends to an identification of A / N with the norm quotient.

                                                              Instances For
                                                                @[simp]

                                                                normQuotientEquivOfGroundEquiv sends the class of a ∈ A to the class of e a in the norm quotient.