Documentation

Formalizations.NumberTheory.NumberField.InvariantOrders.BiquadraticModel

Louboutin's Conjecture 6.1 in an abstract biquadratic model #

Model (Louboutin.Conj61.V4Data O): O a commutative domain of characteristic 0 (think 𝓞_K), four distinct elements x 0, …, x 3 (the conjugates of α = x 0), three ring endomorphisms τ₁, τ₂, τ₃ acting on them by the labelling τ_i x_k = x_{i xor k}, and fix: an element fixed by τ₁, τ₂, τ₃ is an integer (for 𝓞_K with Gal(K/ℚ) ≅ V₄, 𝓞_K^G = ℤ). Zα is the ℤ-span of 1, α, α², α³ (= ℤ[α], Zα_mul_mem); "ℤ[α] Galois-invariant" means that every conjugate lies in Zα.

The route avoids content ideals over 𝓞_K: for each j, r_j² and r_j ΔQ_j are invariant, hence integers; dividing by their gcd gives r_j = n_j ϑ_j, ΔQ_j = t_j ϑ_j with ϑ_j ∈ O (Bézout), Θ = ϑ₁ϑ₂ϑ₃ is an integer θ, and P(X) = θ ∏(n_j X + t_j) with a primitive product (Gauss's lemma, IsPrimitive.mul).

Main results #

References #

Determinants (Lemma 1.3) #

theorem Louboutin.Conj61.det4 {R : Type u_1} [CommRing R] (A : Matrix (Fin 4) (Fin 4) R) :
A.det = det4e (A 0 0) (A 0 1) (A 0 2) (A 0 3) (A 1 0) (A 1 1) (A 1 2) (A 1 3) (A 2 0) (A 2 1) (A 2 2) (A 2 3) (A 3 0) (A 3 1) (A 3 2) (A 3 3)
theorem Louboutin.Conj61.vand4 {R : Type u_1} [CommRing R] (x : Fin 4 → R) :
theorem Louboutin.Conj61.det_coord {R : Type u_1} [CommRing R] (x : Fin 4 → R) (E : Matrix (Fin 4) (Fin 4) R) (c : Matrix (Fin 4) (Fin 4) ℤ) (hE : ∀ (i l : Fin 4), E i l = ∑ k : Fin 4, ↑(c l k) * x i ^ ↑k) :
E.det = Vand x * ↑c.det

Lemma 1.3: if column l has conjugates E i l = Σ_k c_lk x_iᵏ (c integral), then det E = Vand · det c.

Integer bookkeeping (the ℤ[X] Gauss step) #

theorem Louboutin.Conj61.gauss3 {g θ n₁ n₂ n₃ t₁ t₂ t₃ : ℤ} (h₁ : IsCoprime n₁ t₁) (h₂ : IsCoprime n₂ t₂) (h₃ : IsCoprime n₃ t₃) (hu : g ∣ θ * (n₁ * n₂ * n₃)) (hv : g ∣ θ * (n₁ * n₂ * t₃ + n₁ * t₂ * n₃ + t₁ * n₂ * n₃)) (hw : g ∣ θ * (n₁ * t₂ * t₃ + t₁ * n₂ * t₃ + t₁ * t₂ * n₃)) (ht : g ∣ θ * (t₁ * t₂ * t₃)) :
g ∣ θ

Gauss for primitive polynomials over ℤ: if g divides every coefficient of θ·∏_j (n_j X + t_j) with gcd(n_j, t_j) = 1, then g ∣ θ.

The model #

structure Louboutin.Conj61.V4Data (O : Type u_1) [CommRing O] :
Type u_1

V4 data: conjugates x, the three nontrivial automorphisms in the XOR labelling, and "invariant ⇒ integer".

Instances For

    ℤ[α] = ℤ + ℤα + ℤα² + ℤα³ inside O.

    Equations
    Instances For
      def Louboutin.Conj61.V4Data.ρ {O : Type u_1} [CommRing O] (M : V4Data O) (i : Fin 4) :
      O →+* O

      the four elements of V4 as ring maps, row i = σ_i (σ_0 = id).

      Equations
      Instances For
        theorem Louboutin.Conj61.V4Data.ρ_x0 {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) (i : Fin 4) :
        (M.ρ i) (M.x 0) = M.x i
        theorem Louboutin.Conj61.V4Data.forall4 {P : Fin 4 → Prop} (h0 : P 0) (h1 : P 1) (h2 : P 2) (h3 : P 3) (i : Fin 4) :
        P i

        Saturation: O ∩ ℚ = ℤ in the form g·y = n ⇒ g ∣ n.

        theorem Louboutin.Conj61.V4Data.sat {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {n g : ℤ} {y : O} (hg : g ≠ 0) (h : ↑n = ↑g * y) :
        g ∣ n

        Saturation, O ∩ ℚ = ℤ in the form n = g·y ⇒ g ∣ n (g ≠ 0).

        theorem Louboutin.Conj61.V4Data.dvd_of_eq_mul {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {n θ : ℤ} {y : O} (h : ↑n = ↑θ * y) :
        θ ∣ n

        If n = θ·y in O with n, θ integers, then θ ∣ n in ℤ (θ = 0 allowed).

        Integrality of the symmetric data #

        theorem Louboutin.Conj61.V4Data.ea_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), ea M.x = ↑n
        theorem Louboutin.Conj61.V4Data.eb_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), eb M.x = ↑n
        theorem Louboutin.Conj61.V4Data.ec_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), ec M.x = ↑n
        theorem Louboutin.Conj61.V4Data.ed_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), ed M.x = ↑n
        theorem Louboutin.Conj61.V4Data.z1_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), z1 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.z2_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), z2 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.z3_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), z3 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.exists_ints {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (t : ℤ) (u : ℤ) (v : ℤ) (w : ℤ) (δ : ℤ), T M.x = ↑t ∧ U M.x = ↑u ∧ V M.x = ↑v ∧ W M.x = ↑w ∧ Vand M.x = ↑δ ∧ δ ≠ 0 ∧ Even δ

        Lemma 1.2 in the model: T, U, V, W and Δ = Vand are integers; Δ ≠ 0 and Δ is even.

        ℤ[α] #

        theorem Louboutin.Conj61.V4Data.pow_mem {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) (k : Fin 4) :
        M.x 0 ^ ↑k ∈ M.Zα
        theorem Louboutin.Conj61.V4Data.intmul_mem {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) (n : ℤ) {y : O} (hy : y ∈ M.Zα) :
        ↑n * y ∈ M.Zα
        theorem Louboutin.Conj61.V4Data.x0_mem {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        M.x 0 ∈ M.Zα
        theorem Louboutin.Conj61.V4Data.int_mem {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) (n : ℤ) :
        ↑n ∈ M.Zα
        theorem Louboutin.Conj61.V4Data.quartic {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        M.x 0 ^ 4 = ea M.x * M.x 0 ^ 3 - eb M.x * M.x 0 ^ 2 + ec M.x * M.x 0 - ed M.x
        theorem Louboutin.Conj61.V4Data.x0_mul_mem {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {y : O} (hy : y ∈ M.Zα) :
        M.x 0 * y ∈ M.Zα
        theorem Louboutin.Conj61.V4Data.Zα_mul_mem {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {y z : O} (hy : y ∈ M.Zα) (hz : z ∈ M.Zα) :
        y * z ∈ M.Zα

        ℤ[α] (the span) is closed under multiplication, i.e. it is the ring ℤ[α].

        Necessity (Theorem 1): invariant ⇒ Vand ∣ T, U, V, W #

        theorem Louboutin.Conj61.V4Data.det_mem {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) (w : Fin 4 → O) (hw : ∀ (l : Fin 4), w l ∈ M.Zα) :
        ∃ (m : ℤ), (Matrix.of fun (i l : Fin 4) => (M.ρ i) (w l)).det = Vand M.x * ↑m

        D(ω) := det[σ_i(ω_l)] ∈ Vand·ℤ for ω_l ∈ ℤ[α] (Lemma 1.3 in the model).

        theorem Louboutin.Conj61.V4Data.dT_eq {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        (Matrix.of fun (i : Fin 4) (l : Fin (Nat.succ 0).succ.succ.succ) => (M.ρ i) (![1, M.x 0, M.x 0 * M.x 1, M.x 0 * M.x 1 * M.x 2] l)).det = -T M.x

        (6.2) in the model: D(1, α, α·τ₁α, α·τ₁α·τ₂α) = −T.

        theorem Louboutin.Conj61.V4Data.dU_eq {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        (Matrix.of fun (i : Fin 4) (l : Fin (Nat.succ 0).succ.succ.succ) => (M.ρ i) (![1, M.x 0, M.x 1, M.x 2] l)).det = -U M.x

        (6.3) in the model: D(1, α, τ₁α, τ₂α) = −U.

        theorem Louboutin.Conj61.V4Data.dV_eq {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        (Matrix.of fun (i : Fin 4) (l : Fin (Nat.succ 0).succ.succ.succ) => (M.ρ i) (![1, M.x 0, M.x 1, M.x 0 * M.x 1 + M.x 0 * M.x 2 + M.x 1 * M.x 2] l)).det + (Matrix.of fun (i : Fin 4) (l : Fin (Nat.succ 0).succ.succ.succ) => (M.ρ i) (![1, M.x 0, M.x 0 * M.x 1, M.x 1 + M.x 2] l)).det = -V M.x

        Prop. 2.1(4) in the model.

        theorem Louboutin.Conj61.V4Data.dW_eq {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        (Matrix.of fun (i : Fin 4) (l : Fin (Nat.succ 0).succ.succ.succ) => (M.ρ i) (![1, M.x 0, M.x 1, M.x 0 * M.x 1 * M.x 2] l)).det + (Matrix.of fun (i : Fin 4) (l : Fin (Nat.succ 0).succ.succ.succ) => (M.ρ i) (![1, M.x 0, M.x 0 * M.x 1, M.x 0 * M.x 2 + M.x 1 * M.x 2] l)).det = -W M.x

        Prop. 2.1(5) in the model.

        theorem Louboutin.Conj61.V4Data.nec {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) (hx : ∀ (j : Fin 4), M.x j ∈ M.Zα) {t u v w δ : ℤ} (ht : T M.x = ↑t) (hu : U M.x = ↑u) (hv : V M.x = ↑v) (hw : W M.x = ↑w) (hδ : Vand M.x = ↑δ) :
        δ ∣ t ∧ δ ∣ u ∧ δ ∣ v ∧ δ ∣ w

        Sufficiency (Theorem 2 + Cramer), via the pairs (r_j, ΔQ_j) #

        theorem Louboutin.Conj61.V4Data.sgn₁ {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        M.τ₁ (r1 M.x) = 1 * r1 M.x ∧ M.τ₁ (dQ1 M.x) = 1 * dQ1 M.x ∧ M.τ₁ (r2 M.x) = -1 * r2 M.x ∧ M.τ₁ (dQ2 M.x) = -1 * dQ2 M.x ∧ M.τ₁ (r3 M.x) = -1 * r3 M.x ∧ M.τ₁ (dQ3 M.x) = -1 * dQ3 M.x
        theorem Louboutin.Conj61.V4Data.sgn₂ {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        M.τ₂ (r1 M.x) = -1 * r1 M.x ∧ M.τ₂ (dQ1 M.x) = -1 * dQ1 M.x ∧ M.τ₂ (r2 M.x) = 1 * r2 M.x ∧ M.τ₂ (dQ2 M.x) = 1 * dQ2 M.x ∧ M.τ₂ (r3 M.x) = -1 * r3 M.x ∧ M.τ₂ (dQ3 M.x) = -1 * dQ3 M.x
        theorem Louboutin.Conj61.V4Data.sgn₃ {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        M.τ₃ (r1 M.x) = -1 * r1 M.x ∧ M.τ₃ (dQ1 M.x) = -1 * dQ1 M.x ∧ M.τ₃ (r2 M.x) = -1 * r2 M.x ∧ M.τ₃ (dQ2 M.x) = -1 * dQ2 M.x ∧ M.τ₃ (r3 M.x) = 1 * r3 M.x ∧ M.τ₃ (dQ3 M.x) = 1 * dQ3 M.x
        theorem Louboutin.Conj61.V4Data.sq_fix {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (σ : O →+* O) {r q e : O} (he : e * e = 1) (hr : σ r = e * r) (hq : σ q = e * q) :
        σ (r * r) = r * r ∧ σ (r * q) = r * q
        theorem Louboutin.Conj61.V4Data.lin_sign {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (σ : O →+* O) {r q e : O} (u v : ℤ) (hr : σ r = e * r) (hq : σ q = e * q) :
        σ (↑u * r + ↑v * q) = e * (↑u * r + ↑v * q)
        theorem Louboutin.Conj61.V4Data.split_pair {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] {r q : O} {A B : ℤ} (hA : r * r = ↑A) (hB : r * q = ↑B) :
        ∃ (n : ℤ) (t : ℤ), IsCoprime n t ∧ ∃ (ϑ : O), r = ↑n * ϑ ∧ q = ↑t * ϑ ∧ ∃ (u : ℤ) (v : ℤ), ϑ = ↑u * r + ↑v * q

        A pair with invariant r², rq splits as r = nϑ, q = tϑ with gcd(n, t) = 1, ϑ = ur + vq.

        theorem Louboutin.Conj61.V4Data.pair_ints {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {r q e₁ e₂ e₃ : O} (he₁ : e₁ * e₁ = 1) (he₂ : e₂ * e₂ = 1) (he₃ : e₃ * e₃ = 1) (h1r : M.τ₁ r = e₁ * r) (h1q : M.τ₁ q = e₁ * q) (h2r : M.τ₂ r = e₂ * r) (h2q : M.τ₂ q = e₂ * q) (h3r : M.τ₃ r = e₃ * r) (h3q : M.τ₃ q = e₃ * q) :
        (∃ (A : ℤ), r * r = ↑A) ∧ ∃ (B : ℤ), r * q = ↑B
        theorem Louboutin.Conj61.V4Data.N10_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N10 M.x = ↑n

        The Cramer numerators are V4-invariant, hence integers (Lemma 1.1 for N_jk).

        theorem Louboutin.Conj61.V4Data.N11_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N11 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N12_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N12 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N13_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N13 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N20_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N20 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N21_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N21 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N22_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N22 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N23_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N23 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N30_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N30 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N31_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N31 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N32_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N32 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.N33_int {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) :
        ∃ (n : ℤ), N33 M.x = ↑n
        theorem Louboutin.Conj61.V4Data.thm2 {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {g t u v w : ℤ} (ht : T M.x = ↑t) (hu : U M.x = ↑u) (hv : V M.x = ↑v) (hw : W M.x = ↑w) (hg : g ∣ t ∧ g ∣ u ∧ g ∣ v ∧ g ∣ w) :
        (∃ (n : ℤ), N10 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N11 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N12 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N13 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N20 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N21 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N22 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N23 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N30 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N31 M.x = ↑n ∧ g ∣ n) ∧ (∃ (n : ℤ), N32 M.x = ↑n ∧ g ∣ n) ∧ ∃ (n : ℤ), N33 M.x = ↑n ∧ g ∣ n

        Theorem 2 (proof of Theorem A), unconditional: any integer g dividing T, U, V and W divides the twelve Cramer numerators N_jk (which are integers).

        theorem Louboutin.Conj61.V4Data.theta_factor {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {t u v w : ℤ} (ht : T M.x = ↑t) (hu : U M.x = ↑u) (hv : V M.x = ↑v) (hw : W M.x = ↑w) :
        ∃ (n1 : ℤ) (n2 : ℤ) (n3 : ℤ) (t1 : ℤ) (t2 : ℤ) (t3 : ℤ) (θ : ℤ), IsCoprime n1 t1 ∧ IsCoprime n2 t2 ∧ IsCoprime n3 t3 ∧ (∃ (ϑ1 : O) (ϑ2 : O) (ϑ3 : O), r1 M.x = ↑n1 * ϑ1 ∧ dQ1 M.x = ↑t1 * ϑ1 ∧ r2 M.x = ↑n2 * ϑ2 ∧ dQ2 M.x = ↑t2 * ϑ2 ∧ r3 M.x = ↑n3 * ϑ3 ∧ dQ3 M.x = ↑t3 * ϑ3 ∧ ↑θ = ϑ1 * ϑ2 * ϑ3) ∧ u = θ * (n1 * n2 * n3) ∧ v = θ * (n1 * n2 * t3 + n1 * t2 * n3 + t1 * n2 * n3) ∧ w = θ * (n1 * t2 * t3 + t1 * n2 * t3 + t1 * t2 * n3) ∧ t = θ * (t1 * t2 * t3)

        Θ-factorisation (the S4 prefix of thm2, stated on its own): coprime pairs (n_j, t_j), elements ϑ_j ∈ O with r_j = n_j ϑ_j, ΔQ_j = t_j ϑ_j, and an integer θ = ϑ₁ϑ₂ϑ₃ with P(X) = θ·∏(n_j X + t_j): U, V, W, T are θ times the coefficients of the primitive polynomial ∏(n_j X + t_j).

        theorem Louboutin.Conj61.V4Data.gcd_eq_abs_theta {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {t u v w : ℤ} (ht : T M.x = ↑t) (hu : U M.x = ↑u) (hv : V M.x = ↑v) (hw : W M.x = ↑w) :
        ∃ (θ : ℤ), (θ ∣ t ∧ θ ∣ u ∧ θ ∣ v ∧ θ ∣ w) ∧ (∀ (g : ℤ), g ∣ t ∧ g ∣ u ∧ g ∣ v ∧ g ∣ w → g ∣ θ) ∧ ∃ (n1 : ℤ) (n2 : ℤ) (n3 : ℤ) (t1 : ℤ) (t2 : ℤ) (t3 : ℤ), IsCoprime n1 t1 ∧ IsCoprime n2 t2 ∧ IsCoprime n3 t3 ∧ ∃ (ϑ1 : O) (ϑ2 : O) (ϑ3 : O), r1 M.x = ↑n1 * ϑ1 ∧ dQ1 M.x = ↑t1 * ϑ1 ∧ r2 M.x = ↑n2 * ϑ2 ∧ dQ2 M.x = ↑t2 * ϑ2 ∧ r3 M.x = ↑n3 * ϑ3 ∧ dQ3 M.x = ↑t3 * ϑ3 ∧ ↑θ = ϑ1 * ϑ2 * ϑ3

        Content of P (proof of Theorem A): θ = ϑ₁ϑ₂ϑ₃ (ϑ_j from split_pair, r_j = n_j ϑ_j, ΔQ_j = t_j ϑ_j with gcd(n_j, t_j) = 1) divides T, U, V, W, and every common divisor of T, U, V, W divides θ: θ is a gcd of (T, U, V, W).

        theorem Louboutin.Conj61.V4Data.gcd_TUVW {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {t u v w : ℤ} (ht : T M.x = ↑t) (hu : U M.x = ↑u) (hv : V M.x = ↑v) (hw : W M.x = ↑w) :
        ∃ (θ : ℤ), ↑((↑(t.gcd u)).gcd ↑(v.gcd w)) = |θ| ∧ (↑(t.gcd u)).gcd ↑(v.gcd w) = θ.natAbs ∧ ∃ (n1 : ℤ) (n2 : ℤ) (n3 : ℤ) (t1 : ℤ) (t2 : ℤ) (t3 : ℤ), IsCoprime n1 t1 ∧ IsCoprime n2 t2 ∧ IsCoprime n3 t3 ∧ ∃ (ϑ1 : O) (ϑ2 : O) (ϑ3 : O), r1 M.x = ↑n1 * ϑ1 ∧ dQ1 M.x = ↑t1 * ϑ1 ∧ r2 M.x = ↑n2 * ϑ2 ∧ dQ2 M.x = ↑t2 * ϑ2 ∧ r3 M.x = ↑n3 * ϑ3 ∧ dQ3 M.x = ↑t3 * ϑ3 ∧ ↑θ = ϑ1 * ϑ2 * ϑ3

        gcd(T, U, V, W) = |Θ| literally: Int.gcd (Int.gcd t u) (Int.gcd v w) = |θ|, with θ = ϑ₁ϑ₂ϑ₃ as in gcd_eq_abs_theta.

        theorem Louboutin.Conj61.V4Data.mem_of_cramer {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {δ : ℤ} (hδ : Vand M.x = ↑δ) {N0 N1 N2 N3 y : O} (h0 : ∃ (n : ℤ), N0 = ↑n ∧ δ ∣ n) (h1 : ∃ (n : ℤ), N1 = ↑n ∧ δ ∣ n) (h2 : ∃ (n : ℤ), N2 = ↑n ∧ δ ∣ n) (h3 : ∃ (n : ℤ), N3 = ↑n ∧ δ ∣ n) (hc : N0 + N1 * M.x 0 + N2 * M.x 0 ^ 2 + N3 * M.x 0 ^ 3 = Vand M.x * (M.x 0 + y)) :
        y ∈ M.Zα
        theorem Louboutin.Conj61.V4Data.conj61 {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {t u v w δ : ℤ} (ht : T M.x = ↑t) (hu : U M.x = ↑u) (hv : V M.x = ↑v) (hw : W M.x = ↑w) (hδ : Vand M.x = ↑δ) :
        (∀ (j : Fin 4), M.x j ∈ M.Zα) ↔ δ ∣ t ∧ δ ∣ u ∧ δ ∣ v ∧ δ ∣ w

        Conjecture 6.1 (Louboutin), in the V4 model: ℤ[α] is Galois-invariant (contains all conjugates) iff Δ = Vand divides T, U, V and W.

        Corollary cor:weak: Δ ∣ T, U, V ± W already forces Δ ∣ V, W #

        Route (the note's, without g ∣ Δ): cross_prod at r_j = n_jϑ_j, ΔQ_j = t_jϑ_j gives θ²·d₁₂d₂₃d₃₁ = Δ·θ·n₁n₂n₃ (theta_minors). Write Δ = hG, θ = θ'G with gcd(h, θ') = 1; the hypothesis gives h ∣ f₃, f₀, f₂ ± f₁ (f the coefficients of the primitive ∏(n_jX + t_j)), and h ∣ d₁₂d₂₃d₃₁. If h were even, the mod-2 analysis of the three coprime pairs (par_core) makes d₁₂d₂₃d₃₁ odd: contradiction. So h is odd, h ∣ 2f₂, 2f₁ gives h ∣ f₂, f₁, and Δ ∣ V, W.

        theorem Louboutin.Conj61.V4Data.par_core (n1 n2 n3 t1 t2 t3 : ZMod 2) :
        ¬(n1 = 0 ∧ t1 = 0) → ¬(n2 = 0 ∧ t2 = 0) → ¬(n3 = 0 ∧ t3 = 0) → n1 * n2 * n3 = 0 → t1 * t2 * t3 = 0 → n1 * n2 * t3 + n1 * t2 * n3 + t1 * n2 * n3 + (n1 * t2 * t3 + t1 * n2 * t3 + t1 * t2 * n3) = 0 → (n1 * t2 - n2 * t1) * (n2 * t3 - n3 * t2) * (n3 * t1 - n1 * t3) ≠ 0

        mod-2 core: three nonzero pairs (n_j, t_j) over 𝔽₂ with n₁n₂n₃ = 0, t₁t₂t₃ = 0 and f₂ + f₁ = 0 are the three points of ℙ¹(𝔽₂), so every minor d_ij is nonzero.

        theorem Louboutin.Conj61.V4Data.not_both_even {n t : ℤ} (h : IsCoprime n t) :
        ¬(↑n = 0 ∧ ↑t = 0)
        theorem Louboutin.Conj61.V4Data.par_int {n1 n2 n3 t1 t2 t3 : ℤ} (c1 : IsCoprime n1 t1) (c2 : IsCoprime n2 t2) (c3 : IsCoprime n3 t3) (h3 : 2 ∣ n1 * n2 * n3) (h0 : 2 ∣ t1 * t2 * t3) (h21 : 2 ∣ n1 * n2 * t3 + n1 * t2 * n3 + t1 * n2 * n3 + (n1 * t2 * t3 + t1 * n2 * t3 + t1 * t2 * n3)) :
        ¬2 ∣ (n1 * t2 - n2 * t1) * (n2 * t3 - n3 * t2) * (n3 * t1 - n1 * t3)

        Integer form of par_core.

        theorem Louboutin.Conj61.V4Data.theta_minors {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {t u v w δ : ℤ} (ht : T M.x = ↑t) (hu : U M.x = ↑u) (hv : V M.x = ↑v) (hw : W M.x = ↑w) (hδ : Vand M.x = ↑δ) :
        ∃ (n1 : ℤ) (n2 : ℤ) (n3 : ℤ) (t1 : ℤ) (t2 : ℤ) (t3 : ℤ) (θ : ℤ), IsCoprime n1 t1 ∧ IsCoprime n2 t2 ∧ IsCoprime n3 t3 ∧ u = θ * (n1 * n2 * n3) ∧ v = θ * (n1 * n2 * t3 + n1 * t2 * n3 + t1 * n2 * n3) ∧ w = θ * (n1 * t2 * t3 + t1 * n2 * t3 + t1 * t2 * n3) ∧ t = θ * (t1 * t2 * t3) ∧ θ * θ * ((n1 * t2 - n2 * t1) * (n2 * t3 - n3 * t2) * (n3 * t1 - n1 * t3)) = δ * θ * (n1 * n2 * n3)

        Θ and the minors: with the data of theta_factor, θ²·d₁₂d₂₃d₃₁ = Δ·θ·n₁n₂n₃, d_ij = n_i t_j − n_j t_i (cross_prod at r_j = n_jϑ_j, ΔQ_j = t_jϑ_j).

        theorem Louboutin.Conj61.V4Data.split_gcd {δ θ : ℤ} (hδ : δ ≠ 0) :
        ∃ (G : ℤ) (h : ℤ) (θ' : ℤ), G ≠ 0 ∧ IsCoprime h θ' ∧ δ = h * G ∧ θ = θ' * G
        theorem Louboutin.Conj61.V4Data.cor_weak {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {t u v w δ : ℤ} (ht : T M.x = ↑t) (hu : U M.x = ↑u) (hv : V M.x = ↑v) (hw : W M.x = ↑w) (hδ : Vand M.x = ↑δ) (hd : δ ∣ t ∧ δ ∣ u ∧ δ ∣ v + w ∧ δ ∣ v - w) :
        δ ∣ t ∧ δ ∣ u ∧ δ ∣ v ∧ δ ∣ w

        Corollary cor:weak (in the V4 model): if Δ = Vand divides T, U, V + W and V − W, then Δ divides T, U, V and W.

        theorem Louboutin.Conj61.V4Data.conj61_weak {O : Type u_1} [CommRing O] [IsDomain O] [CharZero O] (M : V4Data O) {t u v w δ : ℤ} (ht : T M.x = ↑t) (hu : U M.x = ↑u) (hv : V M.x = ↑v) (hw : W M.x = ↑w) (hδ : Vand M.x = ↑δ) :
        (∀ (j : Fin 4), M.x j ∈ M.Zα) ↔ δ ∣ t ∧ δ ∣ u ∧ δ ∣ v + w ∧ δ ∣ v - w

        Cor. cor:weak + Conj. 6.1: ℤ[α] is Galois-invariant iff Δ divides T, U, V + W and V − W (Louboutin's necessary condition, Prop. 6.1, is sufficient).