Documentation

Q2Presentation.Boundary.PiGroup

The profinite pro-2 group Π and its unramified marking ν₂ (Stage C, work order C3) #

This file realises the manuscript's maximal pro-2 quotient Π = ⟨σ, x₀, x₁ ∣ x₀^{σ²} x₀ [x₁,σ] = 1⟩_{pro-2} (reference/q2_manuscript.tex, Proposition 3.10 prop:pro2, lines ~962–995) as the cofiltered inverse limit, in ProfiniteGrp, of all finite marked pro-2 boundary quotients — exactly mirroring the Stage-C construction of the tame group Ttame in Boundary/Ttame.lean, but with the 3-generator pro-2 marking (σ, x₀, x₁) (carrying the 2-group side condition) in place of the 2-generator tame marking (s, t).

The finite index objects PiMarkedFinite, their morphisms PiHom, the index category and PiHom_ext are reused from Boundary/Nielsen.lean (work order C4); this file only adds the cofiltered structure on that category and the inverse-limit construction on top of it.

Main contents:

Instance gotcha (inherited from AdmissibleIndex.lean / Nielsen.lean) #

Fin n carries the global Fin.instMul, not the transported group structure A.groupFin. We thread A.groupFin explicitly (@, letI, projection access) through every Fin-level construction so Fin.instMul is never synthesized.

Generic transport lemmas (no Fin.instMul) #

theorem Q2Presentation.map_rconj {G : Type u_1} {H : Type u_2} [Group G] [Group H] {F : Type u_3} [FunLike F G H] [MonoidHomClass F G H] (f : F) (x g : G) :
f (rconj x g) = rconj (f x) (f g)

Right conjugation commutes with any monoid homomorphism.

theorem Q2Presentation.map_commutatorW {G : Type u_1} {H : Type u_2} [Group G] [Group H] {F : Type u_3} [FunLike F G H] [MonoidHomClass F G H] (f : F) (x y : G) :
f (commutatorW x y) = commutatorW (f x) (f y)

The commutator word commutes with any monoid homomorphism.

theorem Q2Presentation.pi_generates_transport {G : Type u_1} {H : Type u_2} [Group G] [Group H] (e : G ≃* H) {sigma x0 x1 : G} (hgen : Subgroup.closure {sigma, x0, x1} = ⊤) :
Subgroup.closure {e sigma, e x0, e x1} = ⊤

Generation transports along a multiplicative equivalence (3 generators).

theorem Q2Presentation.pi_relation_transport {G : Type u_1} {H : Type u_2} [Group G] [Group H] (e : G ≃* H) {sigma x0 x1 : G} (hrel : rconj x0 (sigma ^ 2) * x0 * commutatorW x1 sigma = 1) :
rconj (e x0) (e sigma ^ 2) * e x0 * commutatorW (e x1) (e sigma) = 1

The pro-2 boundary relation transports along a multiplicative equivalence.

theorem Q2Presentation.isPGroup_two_pi {ι : Type u_1} [Fintype ι] {G : ι → Type u_2} [(i : ι) → Group (G i)] [∀ (i : ι), Finite (G i)] (h : ∀ (i : ι), IsPGroup 2 (G i)) :
IsPGroup 2 ((i : ι) → G i)

IsPGroup p transports to a finite product over a Fintype index.

Skeletalization of an arbitrary pro-2 boundary-marked finite group #

noncomputable def Q2Presentation.piSkeletalize (G : Type u_1) [Group G] [Finite G] [Nonempty G] (hG2 : IsPGroup 2 G) (sigma x0 x1 : G) (hgen : Subgroup.closure {sigma, x0, x1} = ⊤) (hrel : rconj x0 (sigma ^ 2) * x0 * commutatorW x1 sigma = 1) :

Skeletalization. Any boundary marking (σ, x₀, x₁) of an arbitrary nonempty finite 2-group G is realised by a PiMarkedFinite on Fin (Nat.card G), transporting G's group structure along Finite.equivFin G (mirrors tameSkeletalize).

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    noncomputable def Q2Presentation.piSkelEquiv (G : Type u_1) [Group G] [Finite G] [Nonempty G] (hG2 : IsPGroup 2 G) (sigma x0 x1 : G) (hgen : Subgroup.closure {sigma, x0, x1} = ⊤) (hrel : rconj x0 (sigma ^ 2) * x0 * commutatorW x1 sigma = 1) :
    Fin (piSkeletalize G hG2 sigma x0 x1 hgen hrel).n ≃* G

    The transport equivalence underlying piSkeletalize, as a MulEquiv Fin (piSkeletalize …).n ≃* G (mirrors tameSkelEquiv).

    Equations
    Instances For
      @[simp]
      theorem Q2Presentation.piSkelEquiv_sigma {G : Type u_1} [Group G] [Finite G] [Nonempty G] {hG2 : IsPGroup 2 G} {sigma x0 x1 : G} {hgen : Subgroup.closure {sigma, x0, x1} = ⊤} {hrel : rconj x0 (sigma ^ 2) * x0 * commutatorW x1 sigma = 1} :
      (piSkelEquiv G hG2 sigma x0 x1 hgen hrel) (piSkeletalize G hG2 sigma x0 x1 hgen hrel).sigma = sigma
      @[simp]
      theorem Q2Presentation.piSkelEquiv_x0 {G : Type u_1} [Group G] [Finite G] [Nonempty G] {hG2 : IsPGroup 2 G} {sigma x0 x1 : G} {hgen : Subgroup.closure {sigma, x0, x1} = ⊤} {hrel : rconj x0 (sigma ^ 2) * x0 * commutatorW x1 sigma = 1} :
      (piSkelEquiv G hG2 sigma x0 x1 hgen hrel) (piSkeletalize G hG2 sigma x0 x1 hgen hrel).x0 = x0
      @[simp]
      theorem Q2Presentation.piSkelEquiv_x1 {G : Type u_1} [Group G] [Finite G] [Nonempty G] {hG2 : IsPGroup 2 G} {sigma x0 x1 : G} {hgen : Subgroup.closure {sigma, x0, x1} = ⊤} {hrel : rconj x0 (sigma ^ 2) * x0 * commutatorW x1 sigma = 1} :
      (piSkelEquiv G hG2 sigma x0 x1 hgen hrel) (piSkeletalize G hG2 sigma x0 x1 hgen hrel).x1 = x1

      The morphism-out and morphism-between constructors #

      noncomputable def Q2Presentation.piSkeletalizeHomOut {G : Type u_1} [Group G] [Finite G] [Nonempty G] {hG2 : IsPGroup 2 G} {sigma x0 x1 : G} {hgen : Subgroup.closure {sigma, x0, x1} = ⊤} {hrel : rconj x0 (sigma ^ 2) * x0 * commutatorW x1 sigma = 1} {D : PiMarkedFinite} (ψ : G →* Fin D.n) (hψsigma : ψ sigma = D.sigma) (hψx0 : ψ x0 = D.x0) (hψx1 : ψ x1 = D.x1) :
      PiHom (piSkeletalize G hG2 sigma x0 x1 hgen hrel) D

      A marking-preserving hom ψ : G →* Fin D.n out of G induces a Π morphism piSkeletalize G … ⟶ D (mirrors tameSkeletalizeHomOut).

      Equations
      Instances For
        noncomputable def Q2Presentation.piSkelHomBetween {G : Type u_1} {H : Type u_2} [Group G] [Finite G] [Nonempty G] [Group H] [Finite H] [Nonempty H] {hG2 : IsPGroup 2 G} {sG x0G x1G : G} {hgG : Subgroup.closure {sG, x0G, x1G} = ⊤} {hrG : rconj x0G (sG ^ 2) * x0G * commutatorW x1G sG = 1} {hH2 : IsPGroup 2 H} {sH x0H x1H : H} {hgH : Subgroup.closure {sH, x0H, x1H} = ⊤} {hrH : rconj x0H (sH ^ 2) * x0H * commutatorW x1H sH = 1} (φ : G →* H) (hs : φ sG = sH) (h0 : φ x0G = x0H) (h1 : φ x1G = x1H) :
        piSkeletalize G hG2 sG x0G x1G hgG hrG ⟶ piSkeletalize H hH2 sH x0H x1H hgH hrH

        A marking-preserving group hom φ : G →* H between two boundary-marked groups induces a Π morphism of their skeletalizations. Stated with both G, H generic so the target skeleton MulOneClass is resolved (to groupFin) once in this generic context, never Fin.instMul (mirrors tameSkelHomBetween).

        Equations
        Instances For
          theorem Q2Presentation.piSkelHomBetween_key {G : Type u_1} {H : Type u_2} [Group G] [Finite G] [Nonempty G] [Group H] [Finite H] [Nonempty H] {hG2 : IsPGroup 2 G} {sG x0G x1G : G} {hgG : Subgroup.closure {sG, x0G, x1G} = ⊤} {hrG : rconj x0G (sG ^ 2) * x0G * commutatorW x1G sG = 1} {hH2 : IsPGroup 2 H} {sH x0H x1H : H} {hgH : Subgroup.closure {sH, x0H, x1H} = ⊤} {hrH : rconj x0H (sH ^ 2) * x0H * commutatorW x1H sH = 1} (φ : G →* H) (hs : φ sG = sH) (h0 : φ x0G = x0H) (h1 : φ x1G = x1H) (y : Fin (piSkeletalize G hG2 sG x0G x1G hgG hrG).n) :
          (piSkelEquiv H hH2 sH x0H x1H hgH hrH) ((piSkelHomBetween φ hs h0 h1).toMonoidHom y) = φ ((piSkelEquiv G hG2 sG x0G x1G hgG hrG) y)

          The induced morphism intertwines the transport equivalences with φ.

          Nonemptiness: the trivial pro-2 boundary quotient #

          Binary subdirect objects #

          def Q2Presentation.piFamilySubgroup {ι : Type u_1} {G : ι → Type u_2} [(i : ι) → Group (G i)] (sigma x0 x1 : (i : ι) → G i) :
          Subgroup ((i : ι) → G i)

          The subgroup of ∀ i, G i generated by the diagonal triple (σ, x₀, x₁).

          Equations
          Instances For
            def Q2Presentation.piFamilyS {ι : Type u_1} {G : ι → Type u_2} [(i : ι) → Group (G i)] (sigma x0 x1 : (i : ι) → G i) :
            ↥(piFamilySubgroup sigma x0 x1)

            The corestricted diagonal σ.

            Equations
            Instances For
              def Q2Presentation.piFamilyX0 {ι : Type u_1} {G : ι → Type u_2} [(i : ι) → Group (G i)] (sigma x0 x1 : (i : ι) → G i) :
              ↥(piFamilySubgroup sigma x0 x1)

              The corestricted diagonal x₀.

              Equations
              Instances For
                def Q2Presentation.piFamilyX1 {ι : Type u_1} {G : ι → Type u_2} [(i : ι) → Group (G i)] (sigma x0 x1 : (i : ι) → G i) :
                ↥(piFamilySubgroup sigma x0 x1)

                The corestricted diagonal x₁.

                Equations
                Instances For
                  theorem Q2Presentation.piFamily_generates {ι : Type u_1} {G : ι → Type u_2} [(i : ι) → Group (G i)] (sigma x0 x1 : (i : ι) → G i) :
                  Subgroup.closure {piFamilyS sigma x0 x1, piFamilyX0 sigma x0 x1, piFamilyX1 sigma x0 x1} = ⊤
                  theorem Q2Presentation.piFamily_rel {ι : Type u_1} {G : ι → Type u_2} [(i : ι) → Group (G i)] (sigma x0 x1 : (i : ι) → G i) (h : ∀ (i : ι), rconj (x0 i) (sigma i ^ 2) * x0 i * commutatorW (x1 i) (sigma i) = 1) :
                  rconj (piFamilyX0 sigma x0 x1) (piFamilyS sigma x0 x1 ^ 2) * piFamilyX0 sigma x0 x1 * commutatorW (piFamilyX1 sigma x0 x1) (piFamilyS sigma x0 x1) = 1

                  The σ-component of the binary subdirect family of A, B.

                  Equations
                  Instances For
                    def Q2Presentation.piBinX0 (A B : PiMarkedFinite) (i : Fin 2) :
                    Fin (![A, B] i).n

                    The x₀-component of the binary subdirect family of A, B.

                    Equations
                    Instances For
                      def Q2Presentation.piBinX1 (A B : PiMarkedFinite) (i : Fin 2) :
                      Fin (![A, B] i).n

                      The x₁-component of the binary subdirect family of A, B.

                      Equations
                      Instances For

                        The 2-group certificate for the binary subdirect subgroup of A, B.

                        The binary subdirect object of A, B: skeletalize the subgroup of ∏ Fin (![A,B] i).n generated by the diagonal (σ, x₀, x₁), which is a 2-group and satisfies the boundary relation coordinatewise.

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

                          First projection of the binary subdirect object.

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

                            Second projection of the binary subdirect object.

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

                              The pro-2 boundary index category is cofiltered.

                              The pro-2 inverse system and its limit PiGrp #

                              The inverse system of finite marked pro-2 boundary quotients, as a functor into ProfiniteGrp (mirrors tameDiagram).

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

                                The profinite pro-2 group Π, the cofiltered inverse limit (in ProfiniteGrp) of all finite marked pro-2 boundary quotients (manuscript Π, eq:Pi). Named PiGrp to avoid clashing with Lean's Pi dependent-function type.

                                Equations
                                Instances For

                                  Bridge from the opaque categorical limit to mathlib's explicit subtype model.

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

                                    Two points of PiGrp agree once all coordinate projections agree.

                                    The universal generators σ, x₀, x₁ #

                                    The compatible family underlying σ: coordinate A.sigma at every A.

                                    Equations
                                    Instances For

                                      The compatible family underlying x₀: coordinate A.x0 at every A.

                                      Equations
                                      Instances For

                                        The compatible family underlying x₁: coordinate A.x1 at every A.

                                        Equations
                                        Instances For

                                          Projecting x₀ to a coordinate returns A.x0.

                                          Projecting x₁ to a coordinate returns A.x1.

                                          The pro-2 boundary relation holds in PiGrp (manuscript x₀^{σ²} x₀ [x₁,σ] = 1, eq:Pi), in the inverse-limit sense: projecting the universal generators to any finite boundary quotient A satisfies the relation there (because A does).

                                          Topological generation #

                                          PiGrp is homeomorphic to the explicit limit model via piIso.

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

                                            Evaluation at coordinate B, as a monoid hom out of the explicit limit.

                                            Equations
                                            Instances For

                                              The coordinate-B evaluation maps the subgroup generated by σ, x₀, x₁ onto Fin B.n (its image is closure {B.sigma, B.x0, B.x1} = ⊤, by B.generates).

                                              Finite cofiltered domination.

                                              The subgroup generated by σ, x₀, x₁ is dense in the explicit limit model.

                                              The universal generators σ, x₀, x₁ topologically generate PiGrp.

                                              The unramified character nu_2 : PiGrp ⟶ ℤ₂ #

                                              The unramified character sends σ to the topological generator 1 ∈ ℤ₂ and the wild generators x₀, x₁ to 0 (in a pro-2 group the wild inertia is killed in the unramified quotient — Prop 3.10 eq:nu2). It is built as the map into ℤ₂ = lim_n ZMod(2ⁿ) whose n-th layer is the projection of PiGrp through the auxiliary cyclic-2-group boundary quotient cyclicPi n (carrier C2Pow n, σ = additive generator, x₀ = x₁ = 1).

                                              The additive generator ofAdd 1 (together with 1, 1) generates the cyclic 2-group C2Pow n.

                                              The boundary relation holds trivially in C2Pow n (x₀ = x₁ = 1).

                                              C2Pow n is a 2-group.

                                              noncomputable def Q2Presentation.cyclicPi (n : ℕ) :

                                              The auxiliary cyclic 2-group boundary quotient at layer n: carrier C2Pow n, σ = additive generator, x₀ = x₁ = 1.

                                              Equations
                                              Instances For
                                                noncomputable def Q2Presentation.cyclicPiEquiv (n : ℕ) :

                                                The transport equivalence Fin (cyclicPi n).n ≃* C2Pow n.

                                                Equations
                                                Instances For

                                                  Reduction maps fix the additive generator ofAdd 1.

                                                  The n-th unramified layer hom PiGrp →* C2Pow n: project to the auxiliary cyclic quotient cyclicPi n and read off the additive coordinate.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    noncomputable def Q2Presentation.redHomPi (n m : ℕ) (hmn : m ≤ n) :

                                                    The reduction Π morphism cyclicPi n ⟶ cyclicPi m for m ≤ n, underlying the ℤ₂-layer maps ZMod(2ⁿ) → ZMod(2ᵐ).

                                                    Equations
                                                    Instances For
                                                      theorem Q2Presentation.redHomPi_key (n m : ℕ) (hmn : m ≤ n) (y : Fin (cyclicPi n).n) :
                                                      (cyclicPiEquiv m) ((redHomPi n m hmn).toMonoidHom y) = (castCMH ⋯) ((cyclicPiEquiv n) y)

                                                      The reduction morphism intertwines the transport equivalences with the ℤ₂-layer reduction.

                                                      theorem Q2Presentation.piLayer_compat (n m : ℕ) (hmn : m ≤ n) (x : ↑PiGrp.toProfinite.toTop) :
                                                      (castCMH ⋯) ((piLayerHom n) x) = (piLayerHom m) x

                                                      Layer compatibility: reducing the n-th layer to the m-th agrees with the m-th layer (m ≤ n). Uses the inverse-limit compatibility of PiGrp through redHomPi.

                                                      The unramified character ν₂ : PiGrp ⟶ ℤ₂, σ ↦ 1, x₀ ↦ 0, x₁ ↦ 0. Built as the map into ℤ₂ = lim_n ZMod(2ⁿ) whose n-th coordinate is piLayerHom n.

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

                                                        nu_2 is the unramified character: σ ↦ 1, x₀ ↦ 0, x₁ ↦ 0 #

                                                        ν₂ sends σ to the topological generator 1 ∈ ℤ₂ (the unramified Frobenius coordinate).

                                                        ν₂ sends x₀ to 0 ∈ ℤ₂ (the wild generator is killed in the unramified pro-2 quotient — Prop 3.10).

                                                        ν₂ sends x₁ to 0 ∈ ℤ₂ (the wild generator is killed in the unramified pro-2 quotient — Prop 3.10).