Corollary E(b): for z ≡ Aū³ + Bū² + Cu² + Du³ with a five-dimensional hull, a 2×3 configuration exists iff NΔ(|Δ|² − |u|²N²) = 0, N = |A|² − |D|², Δ = AC̄ − BD̄
ProvedDiazModulus.cubic_window_conj_hull_two_by_three_configuration_iff_criterionLet and with (so is real), and put , so that . Let , let with , and let with . Put and , and consider the classes
- (P) for some , not both zero;
- (Q) for some with , and ;
- (R) with , for some with and some with and .
Then:
- is in class (P) if and only if ;
- is in class (Q) if and only if and ;
- is in class (R) if and only if and ;
- carries a configuration (free and free over with all six products in the space) if and only if .
Here .
Proof. is real since , so has and , , and with , , , , so that and . The three classes are then read off DiazModulus.cubic_window_hull_polynomial_class_iff, DiazModulus.cubic_window_hull_involution_class_iff and DiazModulus.cubic_window_hull_real_pencil_class_iff (for (P), ). Writing , Theorem E (DiazModulus.laurent_conj_hull_two_by_three_configuration_iff, ) says that carries a configuration exactly when it is in one of the classes, that is , or with , or with ; since forces , this is .
Novelty. Not found in the sources read; routine, given Theorem E (DiazModulus.laurent_conj_hull_two_by_three_configuration_iff).
import Definitions.Def_DiazModulus
open Complex ComplexConjugate
namespace DiazModulus
theorem cubic_window_conj_hull_two_by_three_configuration_iff_criterion
(u s : ℂ) (hu : u ∉ Qbar) (hs : s ∈ Qbar) (hss : s * s = u * conj u)
(z A B C D : ℂ) (hA : A ∈ Qbar) (hB : B ∈ Qbar) (hC : C ∈ Qbar) (hD : D ∈ Qbar)
(hz : z - (A * conj u ^ 3 + B * conj u ^ 2 + C * u ^ 2 + D * u ^ 3) ∈ Submodule.span Qbar ({1, u, conj u} : Set ℂ))
(h5 : Module.finrank (↥Qbar) (Submodule.span Qbar ({1, u, conj u, z, conj z} : Set ℂ)) = 5) :
((∃ α β : ℂ, α ∈ Qbar ∧ β ∈ Qbar ∧ (α ≠ 0 ∨ β ≠ 0) ∧ α * u ^ 2 + β * u ^ 3 ∈ Submodule.span Qbar ({1, u, conj u, z, conj z} : Set ℂ)) ↔ (A * conj C - B * conj D) = 0) ∧
((∃ e β ζ : ℂ, e ∈ Qbar ∧ β ∈ Qbar ∧ ζ ∈ Qbar ∧ e * conj e = 1 ∧ β * conj β = 1 ∧
ζ = -(β * e ^ 2 * conj ζ) ∧
Submodule.span Qbar ({1, u, conj u, z, conj z} : Set ℂ) =
Submodule.span Qbar ({1, u, conj u, conj (u / s) ^ 2 + e * (u / s) ^ 2, β * conj (u / s) ^ 3 + ζ * (u / s) ^ 2 + e * (u / s) ^ 3} : Set ℂ)) ↔
((A * conj A - D * conj D) = 0 ∧ (A ≠ 0 ∨ D ≠ 0))) ∧
((∃ κ : ℂ, κ ∈ Qbar ∧ κ * conj κ = 1 ∧ ∃ G : Polynomial ↥Qbar, G.coeff 0 = 0 ∧ 2 ≤ G.natDegree ∧
Submodule.span Qbar ({1, u, conj u, z, conj z} : Set ℂ) =
Submodule.span Qbar ({1, u, conj u, Polynomial.aeval (u / s) G + κ * conj ((u / s) * Polynomial.aeval (u / s) G), conj (Polynomial.aeval (u / s) G + κ * conj ((u / s) * Polynomial.aeval (u / s) G))} : Set ℂ)) ↔
((A * conj C - B * conj D) * conj (A * conj C - B * conj D) = s ^ 2 * (A * conj A - D * conj D) ^ 2 ∧ (A * conj A - D * conj D) ≠ 0)) ∧
((∃ (x : Fin 2 → ℂ) (y : Fin 3 → ℂ), LinearIndependent (↥Qbar) x ∧ LinearIndependent (↥Qbar) y ∧
∀ i j, x i * y j ∈ Submodule.span Qbar ({1, u, conj u, z, conj z} : Set ℂ)) ↔
(A * conj A - D * conj D) * (A * conj C - B * conj D) * ((A * conj C - B * conj D) * conj (A * conj C - B * conj D) - s ^ 2 * (A * conj A - D * conj D) ^ 2) = 0) := by
sorry
end DiazModulus