Documentation

LeanPool.QuadraticIterates.ArchMath1992.DegreeCriterion

The relative degree [K_{n+1} : K_n] #

K_{n+1} is generated over K_n by square roots of the shifted roots β - a of f_n (rootShift), so its relative degree is 2 to the power of 2^n minus the dimension of the 𝔽₂-space of multiplicative relations among them (relfinrank_succ_eq_pow). The relation space is trivial exactly when c_{n+1} is not a square in K_n, which is Lemma 1.6 (degree_criterion); Lemma 1.5 (kummer_extension_criterion) then says which rationals stay non-squares in K_n.

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

The relative degree [K_{n+1} : K_n] #

The shifted root β - a of f_n, as an element of K_n: these are the radicands whose square roots generate K_{n+1} over K_n.

Equations
Instances For
    @[simp]
    theorem QuadraticIterates.coe_rootShift (a : ) (n : ) (β : ((Polynomial.map (Int.castRingHom ) (iteratedPoly a n)).rootSet (AlgebraicClosure ))) :
    (rootShift a n β) = β - a

    The relative degree [K_{n+1} : K_n] equals 2 ^ (2^n - d), where d is the 𝔽₂-dimension of the multiquadratic relations among the shifted roots β - a of f_n.

    The degree criterion and the Kummer extension criterion #

    If -a is not a rational square, K_1 = ℚ(√(-a)) has degree 2 over .

    Lemma 1.6: if f_n is irreducible over , then [K_{n+1} : K_n] = 2^{2^n} iff c_{n+1} is not a square in K_n.

    theorem QuadraticIterates.finrank_adjoin_range_eq_two_pow (a : ) {n : } (hindep : TwoIndependent fun (i : Fin n) => (cSeq a (i + 1))) {x : Fin n(splittingField a n)} (hx : ∀ (i : Fin n), x i ^ 2 = (algebraMap (splittingField a n)) (cSeq a (i + 1))) :
    theorem QuadraticIterates.finrank_adjoin_le_two_pow (a : ) {n : } (hiso : Nonempty (GaloisGroup a n ≃* WreathPower n)) (t : Finset (splittingField a n)) (ht : yt, ∃ (q : ), y ^ 2 = (algebraMap (splittingField a n)) q) :
    theorem QuadraticIterates.isSquare_algebraMap_iff_exists_sq_eq (a : ) {n : } (hiso : Nonempty (GaloisGroup a n ≃* WreathPower n)) (hindep : TwoIndependent fun (i : Fin n) => (cSeq a (i + 1))) {x : Fin n(splittingField a n)} (hx : ∀ (i : Fin n), x i ^ 2 = (algebraMap (splittingField a n)) (cSeq a (i + 1))) {c : } (hc : c 0) :

    If Ω_n ≅ [C_2]^n and the c_i are 2-independent with square roots x i in K_n, then for nonzero c : ℚ, the image of c in K_n is a square iff it is the square of some zIntermediateField.adjoin ℚ (Set.range x).

    theorem QuadraticIterates.isSquare_algebraMap_cSeq (a : ) (n : ) (hnsq : ¬IsSquare (-a)) (m : ) (hm1 : 1 m) (hmn : m n) :
    IsSquare ((algebraMap (splittingField a n)) (cSeq a m))
    theorem QuadraticIterates.isSquare_algebraMap_iff_exists_mul_prod (a : ) {n : } (hiso : Nonempty (GaloisGroup a n ≃* WreathPower n)) (hindep : TwoIndependent fun (i : Fin n) => (cSeq a (i + 1))) {c : } (hc : c 0) :
    IsSquare ((algebraMap (splittingField a n)) c) ∃ (S : Finset (Fin n)), IsSquare (c * iS, (cSeq a (i + 1)))
    theorem QuadraticIterates.twoIndependent_snoc_iff {n : } {v : Fin n} (hv : TwoIndependent v) {c : } (hc : c 0) :
    TwoIndependent (Fin.snoc v c) ∀ (S : Finset (Fin n)), ¬IsSquare (c * iS, v i)
    theorem QuadraticIterates.kummer_extension_criterion (a : ) {n : } (hiso : Nonempty (GaloisGroup a n ≃* WreathPower n)) (hindep : TwoIndependent fun (i : Fin n) => (cSeq a (i + 1))) {c : } (hc : c 0) :
    ¬IsSquare ((algebraMap (splittingField a n)) c) TwoIndependent (Fin.snoc (fun (i : Fin n) => (cSeq a (i + 1))) c)

    Lemma 1.5: if Ω_n ≅ [C_2]^n and c_1, …, c_n are 2-independent, then a nonzero c ∈ ℚ is a non-square in K_n iff c_1, …, c_n, c are 2-independent.