For u ∉ Q̄ and coprime p, q ∈ Q̄[X]: a five-dimensional Q̄ + Q̄u + Q̄u⁻¹ + Σ Q̄ c (p(u)/q(u))ᵏ contains u², u⁻² or some 1/(u − b), or is R9's involution space
ProvedDiazModulus.progression_space_contains_square_or_reciprocal_or_eq_involution_pencil_spaceLet , let be coprime, , let be non-zero, and let be the -span of and . Suppose . If , then contains , or for some non-zero , or is the -span of and , , for some non-zero .
Together with DiazModulus.mobius_progression_space_contains_square_or_reciprocal (ratio of degree ) and R9's DiazModulus.involution_pencil_configuration_invisible_to_four_dimensional_extensions (ratio of degree ), this classifies the five-dimensional spaces that contain a -term geometric progression with rational ratio: either contains , or some , or is one of R9's involution spaces, which contain none of them.
Proof. By DiazModulus.progression_space_ratio_degree_le_two the ratio has degree or . In degree , with by coprimality, and DiazModulus.mobius_progression_space_contains_square_or_reciprocal gives , or some in . In degree , DiazModulus.quadratic_ratio_progression_space_eq_involution_pencil_space gives R9's form.
Novelty. Not found in the sources read; it is short. That a configuration whose six products span four dimensions is such a progression is Bachoc–Serra–Zémor (2017, Lemma 4); here the progression is a hypothesis.
import Definitions.Def_DiazModulus
open Complex ComplexConjugate
namespace DiazModulus
theorem progression_space_contains_square_or_reciprocal_or_eq_involution_pencil_space
(u : ℂ) (hu : u ∉ Qbar) (p q : Polynomial ↥Qbar) (hcop : IsCoprime p q)
(hdeg : 1 ≤ max p.natDegree q.natDegree) (c : ℂ) (hc : c ≠ 0)
(hdim : Module.finrank (↥Qbar) (Submodule.span Qbar (({1, u, u⁻¹} : Set ℂ) ∪
Set.range (fun k : Fin 4 => c * (Polynomial.aeval u p / Polynomial.aeval u q) ^ (k : ℕ)))) = 5) :
(u ^ 2 ∈ Submodule.span Qbar (({1, u, u⁻¹} : Set ℂ) ∪
Set.range (fun k : Fin 4 => c * (Polynomial.aeval u p / Polynomial.aeval u q) ^ (k : ℕ))) ∨
(u ^ 2)⁻¹ ∈ Submodule.span Qbar (({1, u, u⁻¹} : Set ℂ) ∪
Set.range (fun k : Fin 4 => c * (Polynomial.aeval u p / Polynomial.aeval u q) ^ (k : ℕ))) ∨
∃ b ∈ Qbar, b ≠ 0 ∧ (u - b)⁻¹ ∈ Submodule.span Qbar (({1, u, u⁻¹} : Set ℂ) ∪
Set.range (fun k : Fin 4 => c * (Polynomial.aeval u p / Polynomial.aeval u q) ^ (k : ℕ)))) ∨
∃ l₁ l₂ : Polynomial ↥Qbar,
l₁ ∈ Submodule.span ↥Qbar ({p, q} : Set (Polynomial ↥Qbar)) ∧ l₁ ≠ 0 ∧
l₂ ∈ Submodule.span ↥Qbar ({p, q} : Set (Polynomial ↥Qbar)) ∧ l₂ ≠ 0 ∧
Submodule.span Qbar (({1, u, u⁻¹} : Set ℂ) ∪
Set.range (fun k : Fin 4 => c * (Polynomial.aeval u p / Polynomial.aeval u q) ^ (k : ℕ))) =
Submodule.span Qbar (({1, u, u⁻¹} : Set ℂ) ∪ Set.range (fun i : Fin 4 =>
Polynomial.aeval u p ^ (i : ℕ) * Polynomial.aeval u q ^ (3 - (i : ℕ)) /
(u * Polynomial.aeval u l₁ * Polynomial.aeval u l₂))) := by
sorry
end DiazModulus