English
If L contains primitive p-th and q-th roots of unity in a K-cyclotomic extension, and Φ_{lcm(p,q)} is irreducible over K, then φ(lcm(p,q)) ≤ finrank_K L.
Русский
Если L содержит примитивные p-юдитов единиц и q-юдитов единиц в K-циклотомическом расширении, и Φ_{lcm(p,q)} ирредуцируем над K, тогда φ(lcm(p,q)) ≤ finrank_K L.
LaTeX
$$$$ \varphi(\operatorname{lcm}(p,q)) \le \operatorname{finrank}_K L $$$$
Lean4
/-- If `L` contains both a primitive `p`-th root of unity and `q`-th root of unity, and
`Irreducible (cyclotomic (lcm p q) K)` (in particular for `K = ℚ`), then the `finrank K L` is at
least `(lcm p q).totient`. -/
theorem _root_.IsPrimitiveRoot.lcm_totient_le_finrank [FiniteDimensional K L] {p q : ℕ} {x y : L}
(hx : IsPrimitiveRoot x p) (hy : IsPrimitiveRoot y q) (hirr : Irreducible (cyclotomic (Nat.lcm p q) K)) :
(Nat.lcm p q).totient ≤ Module.finrank K L :=
by
rcases Nat.eq_zero_or_pos p with (rfl | hppos)
· simp
rcases Nat.eq_zero_or_pos q with (rfl | hqpos)
· simp
let z := x ^ (p / factorizationLCMLeft p q) * y ^ (q / factorizationLCMRight p q)
let k := PNat.lcm ⟨p, hppos⟩ ⟨q, hqpos⟩
have : IsPrimitiveRoot z k := hx.pow_mul_pow_lcm hy hppos.ne' hqpos.ne'
haveI := IsPrimitiveRoot.adjoin_isCyclotomicExtension K this
convert Submodule.finrank_le (Subalgebra.toSubmodule (adjoin K { z }))
rw [show Nat.lcm p q = (k : ℕ) from rfl] at hirr
simpa using (IsCyclotomicExtension.finrank (Algebra.adjoin K { z }) hirr).symm