Documentation

LeanPool.QuadraticIterates.ArchMath1992.Iterates

The iterates of X² + a, their splitting fields and Galois groups #

The iterates f_n of f = X² + a, the splitting field K_n of f_n over taken inside AlgebraicClosure, the Galois group Ω_n = Gal(f_n/ℚ) and the iterated wreath product [C₂]ⁿ; the integer sequences c_n and b_n and the rescaled polynomial normPoly a; 2-independence of families of rationals. The main results here are Odoni's embedding Ω_n ↪ [C₂]ⁿ (odoni_embedding), the Kummer tower K_n ⊆ K_{n+1} with [K_{n+1} : K_n] ≤ 2^{2^n} (kummer_degree_bound), and Lemma 1.4 (embed_equiv).

Part of the formalization of M. Stoll, Galois groups over ℚ of some iterated polynomials, Arch. Math. 59 (1992), 239-244; see QuadraticIterates.ArchMath1992.

Notation #

fℚ[a, n] is scoped notation for the iterate f_n viewed in ℚ[X].

noncomputable def QuadraticIterates.iteratedPoly {R : Type u_1} [CommSemiring R] (a : R) :

The iterates f_n of f = X² + a over a commutative (semi)ring R: f_0 = X, f_{n+1} = f_n² + a. Over (R := ℤ) this is the sequence of the paper.

Equations
Instances For
    theorem QuadraticIterates.map_iteratedPoly {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] (φ : R →+* S) (a : R) (n : ) :

    Iterating commutes with any ring homomorphism: the image of f_n under φ is the n-th iterate over the codomain with parameter φ a.

    f_{n+1} = f_n ∘ (X² + a): the iterate can also grow on the right.

    theorem QuadraticIterates.iteratedPoly_add {R : Type u_1} [CommSemiring R] (a : R) (m n : ) :

    Iterates compose additively: f_{m+n} = f_m ∘ f_n.

    fℚ[a, n] denotes the n-th iterate f_n = iteratedPoly a n, viewed in ℚ[X].

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

      The splitting field K_n of f_n over , as the intermediate field of AlgebraicClosure generated by the roots of f_n.

      Equations
      Instances For
        @[reducible, inline]
        noncomputable abbrev QuadraticIterates.GaloisGroup (a : ) (n : ) :

        The Galois group Ω_n = Gal(f_n/ℚ) of the n-th iterate, via Mathlib's Polynomial.Gal.

        Equations
        Instances For
          @[reducible, inline]

          The n-fold iterated regular wreath product [C_2]^n of C_2 = Multiplicative (ZMod 2), via Mathlib's IteratedWreathProduct.

          Equations
          Instances For

            The sequences c and b over #

            X² + a is an even polynomial.

            b·X² + c is an even polynomial.

            noncomputable def QuadraticIterates.cSeq (a : ) :

            The integer sequence c_n (indexed from 1): c_1 = -a, c_{n+1} = c_n² + a; the value at index 0 is 0. It is the γ-sequence of X² + a with ε = -1.

            Equations
            Instances For

              c_n = γ_n(X² + a, ε = -1) (definitional).

              @[simp]
              theorem QuadraticIterates.cSeq_zero (a : ) :
              cSeq a 0 = 0
              @[simp]
              theorem QuadraticIterates.cSeq_one (a : ) :
              cSeq a 1 = -a
              theorem QuadraticIterates.cSeq_succ (a : ) {n : } (hn : 1 n) :
              cSeq a (n + 1) = cSeq a n ^ 2 + a

              The recursion c_{n+1} = c_n² + a, valid for n ≥ 1.

              theorem QuadraticIterates.cSeq_two (a : ) :
              cSeq a 2 = a ^ 2 + a
              theorem QuadraticIterates.cSeq_gcd (a : ) (m n : ) :
              (cSeq a m).gcd (cSeq a n) = (cSeq a (m.gcd n)).natAbs

              Strong divisibility for the c-sequence: gcd (c_m) (c_n) = |c_{gcd m n}|.

              theorem QuadraticIterates.cSeq_associated_gcd (a : ) (m n : ) :
              Associated (gcd (cSeq a m) (cSeq a n)) (cSeq a (m.gcd n))

              Strong divisibility of the c-sequence in the Associated-of-gcd form consumed by the moebiusFactorR API.

              c_{k+1} = (-1)^{2^k} · f_k(a); in particular c_{k+1} = f_k(a) for k ≥ 1.

              noncomputable def QuadraticIterates.bSeq (a : ) (n : ) :

              The Möbius factors b_n = ∏_{d ∣ n} c_d^{μ(n/d)} ∈ ℤ of the c-sequence: the specialization of the general β-sequence to X² + a, ε = -1 (an integer by strong divisibility, see intCast_bSeq).

              Equations
              Instances For
                @[simp]
                theorem QuadraticIterates.bSeq_one (a : ) :
                bSeq a 1 = -a
                noncomputable def QuadraticIterates.normPoly (a : ) :

                The rescaling |a|·X² + sign a of X² + a. Substituting x ↦ |a|·x turns the recursion c_{n+1} = c_n² + a into the γ-recursion of normPoly a, whose sequence is therefore |c_n| / |a| (abs_cSeq_eq_gammaSeq_mul_abs) — in particular positive, which is what Lemma 2.2 needs and X² + a itself does not provide.

                Equations
                Instances For

                  2-independence of families of rationals #

                  Nonzero rationals a_1, …, a_n are 2-independent if their classes in ℚ*/(ℚ*)² are 𝔽₂-linearly independent: no nonempty subfamily has product a square in .

                  Equations
                  Instances For
                    theorem QuadraticIterates.TwoIndependent.sqrt_injective {n : } {v : Fin n} (hv : TwoIndependent v) {K : Type u_1} [Field K] [Algebra K] {x : Fin nK} (hx : ∀ (i : Fin n), x i ^ 2 = (algebraMap K) (v i)) :

                    Square roots of 2-independent rationals in a -algebra are pairwise distinct.

                    2-independence of Fin.snoc v c restricts to the initial family v.

                    A family of rationals is 2-independent iff the family of its classes in ℚˣ/(ℚˣ)² is 𝔽₂-linearly independent.

                    Degrees, roots and the Galois group of the iterates over #

                    Any -automorphism of its algebraic closure raised to the power 2 ^ m fixes every root of f_m.

                    Ω_n = Gal(f_n/ℚ) is a 2-group.

                    Odoni's embedding theorem: Ω_n embeds into [C_2]^n.

                    theorem QuadraticIterates.exists_sq_eq_sub (a : ) (α : AlgebraicClosure ) :
                    ∃ (β : AlgebraicClosure ), β ^ 2 = α - a

                    Every element of the algebraic closure of has a square root after subtracting a; the square roots of the α - a for α a root of f_n generate K_{n+1} over K_n.

                    @[simp]

                    K_0 = ℚ: the only root of f_0 = X is 0.

                    The Kummer tower K_n ⊆ K_{n+1} #

                    K_{n+1} = K_n(√(α - a) : α root of f_n): the relative degree [K_{n+1} : K_n] is the degree of the multiquadratic extension of K_n generated by a choice of square roots of the α - a.

                    Facts 1.0 (Kummer tower): K_n ⊆ K_{n+1}, the extension K_{n+1} is generated over K_n by roots of f_{n+1} whose squares lie in K_n, and [K_{n+1} : K_n] ≤ 2^{2^n}.

                    Lemma 1.4: Ω_n embeds into [C_2]^n, and Ω_{n+1} ≅ [C_2]^{n+1} iff Ω_n ≅ [C_2]^n and [K_{n+1} : K_n] = 2^{2^n}.