Documentation

TauCeti.GroupTheory.GroupExtension.DihedralSixteen

The wreath product C₂ ≀ C₂ and the extension 1 → C₂ → D₁₆ → C₂ ≀ C₂ → 1 #

The regular wreath product C₂ ≀ C₂ of the cyclic group of order two by itself is the dihedral group of order eight. This file reads it on coordinates: an element is a triple (a, b, c) of elements of ZMod 2, where (a, b) is the base function, evaluated at the identity and at the generator of the top factor, and c is the top coordinate. The multiplication is

(a, b, c) (a', b', c') = (a + a' + c (a' + b'), b + b' + c (a' + b'), c + c'),

so a top coordinate c = 1 exchanges the two base coordinates of the right factor (TauCeti.WreathC2.mk_mul_mk).

The dihedral group D₁₆ = ⟨r, f⟩ of order sixteen, Mathlib's DihedralGroup 8 with f = sr 0, maps onto C₂ ≀ C₂ by r ↦ u s = (1, 0, 1) and f ↦ s = (0, 0, 1), with kernel its centre {1, r⁴}. This makes D₁₆ a central extension of C₂ ≀ C₂ by C₂ (TauCeti.wreathD16Extension). Its factor set at the section (u s)ⁱ sʲ ↦ rⁱ fʲ is a ZMod 2-valued 2-cocycle of C₂ ≀ C₂ with trivial action, computed explicitly on coordinates by TauCeti.wreathD16Cocycle_apply.

By Kahn and Serre (references below), the class of this cocycle is the second Stiefel–Whitney class of the signed-permutation representation C₂ ≀ C₂ ⊂ O₂; that identification is not formalised here. The cocycle is the universal case of the index-two Evens norm: the graph cochain of the tautological character of the base group differs from it by an explicit coboundary (TauCeti.ContCohomology.evensGraphCochain_wreath).

Main definitions #

Main results #

References #

@[reducible, inline]

The wreath product C₂ ≀ C₂, Mathlib's regular wreath product of the cyclic group of order two, written multiplicatively, by itself. It is the dihedral group of order eight; its elements are read on the coordinates TauCeti.WreathC2.coordA, TauCeti.WreathC2.coordB and TauCeti.WreathC2.coordC.

Instances For

    The element of C₂ ≀ C₂ with coordinates (a, b, c): the base function takes the value a at the identity and b at the generator, and the top coordinate is c.

    Instances For

      The first coordinate of an element of C₂ ≀ C₂: its base function at the identity.

      Instances For

        The second coordinate of an element of C₂ ≀ C₂: its base function at the generator.

        Instances For

          The third coordinate of an element of C₂ ≀ C₂: its top coordinate.

          Instances For
            @[simp]
            theorem TauCeti.WreathC2.coordA_mk (a b c : ZMod 2) :
            (mk a b c).coordA = a

            The first coordinate of (a, b, c) is a.

            @[simp]
            theorem TauCeti.WreathC2.coordB_mk (a b c : ZMod 2) :
            (mk a b c).coordB = b

            The second coordinate of (a, b, c) is b.

            @[simp]
            theorem TauCeti.WreathC2.coordC_mk (a b c : ZMod 2) :
            (mk a b c).coordC = c

            The third coordinate of (a, b, c) is c.

            Every element of C₂ ≀ C₂ is the element with its own coordinates.

            theorem TauCeti.WreathC2.ext {g h : WreathC2} (hA : g.coordA = h.coordA) (hB : g.coordB = h.coordB) (hC : g.coordC = h.coordC) :
            g = h

            Elements of C₂ ≀ C₂ with the same coordinates are equal.

            theorem TauCeti.WreathC2.mk_inj {a b c a' b' c' : ZMod 2} :
            mk a b c = mk a' b' c' ↔ a = a' ∧ b = b' ∧ c = c'

            Two elements given by coordinates are equal exactly when their coordinates are.

            @[simp]
            theorem TauCeti.WreathC2.mk_zero :
            mk 0 0 0 = 1

            The identity of C₂ ≀ C₂ is (0, 0, 0).

            @[simp]

            The first coordinate of the identity is 0.

            @[simp]

            The second coordinate of the identity is 0.

            @[simp]

            The third coordinate of the identity is 0.

            theorem TauCeti.WreathC2.mk_mul_mk (a b c a' b' c' : ZMod 2) :
            mk a b c * mk a' b' c' = mk (a + a' + c * (a' + b')) (b + b' + c * (a' + b')) (c + c')

            The multiplication of C₂ ≀ C₂ on coordinates: the top coordinate of the left factor exchanges the two base coordinates of the right factor.

            @[simp]

            The first coordinate of a product.

            @[simp]

            The second coordinate of a product.

            @[simp]

            The third coordinate is additive: it is the projection to the top factor.

            theorem TauCeti.WreathC2.inv_mk (a b c : ZMod 2) :
            (mk a b c)⁻¹ = mk (a + c * (a + b)) (b + c * (a + b)) c

            The inverse on coordinates: (a, b, 0) is its own inverse, and (a, b, 1)⁻¹ = (b, a, 1).

            @[simp]

            The first coordinate of an inverse.

            @[simp]

            The second coordinate of an inverse.

            @[simp]

            The third coordinate of an inverse.

            The base group C₂ × C₂ of C₂ ≀ C₂, the kernel of the projection to the top factor: the elements with third coordinate 0. It has index two (TauCeti.index_wreathBase).

            Instances For

              The base group consists of the elements with third coordinate 0.

              The elements outside the base group are those with third coordinate 1.

              The swap s = (0, 0, 1) of C₂ ≀ C₂, the generator of the top factor. It lies outside the base group, and multiplying by it on the left exchanges the two base coordinates.

              Instances For
                @[simp]

                The first coordinate of the swap is 0.

                @[simp]

                The second coordinate of the swap is 0.

                @[simp]

                The third coordinate of the swap is 1.

                The swap lies outside the base group.

                The base group of C₂ ≀ C₂ has index two.

                The tautological character of the base group of C₂ ≀ C₂, its first coordinate.

                Instances For
                  @[simp]

                  The tautological character of an element of the base group is its first coordinate.

                  The quotient map D₁₆ → C₂ ≀ C₂, r ↦ u s = (1, 0, 1) and f = sr 0 ↦ s = (0, 0, 1). Its kernel is the centre {1, r⁴} of D₁₆ (TauCeti.dihedralToWreath_eq_one_iff).

                  Instances For

                    The rotation r of D₁₆ maps to u s = (1, 0, 1).

                    The reflection f = sr 0 of D₁₆ maps to the swap s = (0, 0, 1).

                    The kernel of D₁₆ → C₂ ≀ C₂ is the centre {1, r⁴}.

                    D₁₆ → C₂ ≀ C₂ is surjective.

                    D₁₆ as an extension of C₂ ≀ C₂ by C₂: the kernel C₂ is included as the centre {1, r⁴} of D₁₆, and the projection is TauCeti.dihedralToWreath. The extension is central.

                    Instances For

                      The section (u s)ⁱ sʲ ↦ rⁱ fʲ of D₁₆ → C₂ ≀ C₂, for 0 ≤ i < 4 and 0 ≤ j < 2, with u s = (1, 0, 1), s = (0, 0, 1) and f = sr 0. It sends the identity to the identity.

                      Instances For

                        The section on coordinates. With g = (a, b, c), σ g is the element rⁱ fʲ of D₁₆ lifting g = (u s)ⁱ sʲ, written in Mathlib's r/sr normal form (f = sr 0).

                        @[simp]

                        The section is a right inverse of D₁₆ → C₂ ≀ C₂.

                        The section is normalized: it sends the identity to the identity.

                        noncomputable def TauCeti.wreathD16Cocycle (q : WreathC2 × WreathC2) :

                        The D₁₆ extension cocycle c_{D₁₆}: the factor set σ g · σ h · σ (g h)⁻¹ ∈ {1, r⁴} ≅ C₂ of the section σ = TauCeti.wreathSection of TauCeti.wreathD16Extension, read in ZMod 2. Its value on coordinates is TauCeti.wreathD16Cocycle_apply.

                        Instances For

                          The section is multiplicative up to the factor set: σ g · σ h = r^{4 c(g, h)} · σ (g h).

                          The D₁₆ extension cocycle on coordinates. With g = (a, b, c) and h = (a', b', c'), c_{D₁₆} (g, h) = a b' + c (a' + b') + a c (a' + b') + c a' b'.

                          The D₁₆ extension cocycle is a 2-cocycle, in the trivial-action form of groupCohomology.IsCocycle₂; the action is trivial because the extension is central.