Loogle!
Result
Found 128 declarations mentioning Polynomial.cyclotomic.
- Polynomial.cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (R : Type u_1) [Ring R] : Polynomial R - Polynomial.cyclotomic.monic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (R : Type u_1) [Ring R] : (Polynomial.cyclotomic n R).Monic - Polynomial.cyclotomic.isPrimitive π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (R : Type u_1) [CommRing R] : (Polynomial.cyclotomic n R).IsPrimitive - Polynomial.natDegree_cyclotomic_le π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{R : Type u_1} [Ring R] {n : β} : (Polynomial.cyclotomic n R).natDegree β€ n.totient - Polynomial.natDegree_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (R : Type u_1) [Ring R] [Nontrivial R] : (Polynomial.cyclotomic n R).natDegree = n.totient - Polynomial.degree_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (R : Type u_1) [Ring R] [Nontrivial R] : (Polynomial.cyclotomic n R).degree = βn.totient - Polynomial.cyclotomic.eval_apply_ofReal π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(q : β) (n : β) : Polynomial.eval (βq) (Polynomial.cyclotomic n β) = β(Polynomial.eval q (Polynomial.cyclotomic n β)) - Polynomial.map_cyclotomic_int π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (R : Type u_1) [Ring R] : Polynomial.map (Int.castRingHom R) (Polynomial.cyclotomic n β€) = Polynomial.cyclotomic n R - Polynomial.cyclotomic_ne_zero π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (R : Type u_1) [Ring R] [Nontrivial R] : Polynomial.cyclotomic n R β 0 - Polynomial.cyclotomic_zero π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [Ring R] : Polynomial.cyclotomic 0 R = 1 - Polynomial.int_cyclotomic_unique π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{n : β} {P : Polynomial β€} (h : Polynomial.map (Int.castRingHom β) P = Polynomial.cyclotomic' n β) : P = Polynomial.cyclotomic n β€ - Polynomial.map_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R β+* S) : Polynomial.map f (Polynomial.cyclotomic n R) = Polynomial.cyclotomic n S - Polynomial.degree_cyclotomic_pos π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (R : Type u_1) (hpos : 0 < n) [Ring R] [Nontrivial R] : 0 < (Polynomial.cyclotomic n R).degree - Polynomial.separable_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (K : Type u_2) [Field K] [NeZero βn] : (Polynomial.cyclotomic n K).Separable - Polynomial.cyclotomic_coeff_zero π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [CommRing R] {n : β} (hn : 1 < n) : (Polynomial.cyclotomic n R).coeff 0 = 1 - Polynomial.cyclotomic_one π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [Ring R] : Polynomial.cyclotomic 1 R = Polynomial.X - 1 - Polynomial.cyclotomic_two π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [Ring R] : Polynomial.cyclotomic 2 R = Polynomial.X + 1 - Polynomial.squarefree_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (K : Type u_2) [Field K] [NeZero βn] : Squarefree (Polynomial.cyclotomic n K) - Polynomial.int_cyclotomic_spec π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) : Polynomial.map (Int.castRingHom β) (Polynomial.cyclotomic n β€) = Polynomial.cyclotomic' n β β§ (Polynomial.cyclotomic n β€).degree = (Polynomial.cyclotomic' n β).degree β§ (Polynomial.cyclotomic n β€).Monic - Polynomial.cyclotomic_prime π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [Ring R] (p : β) [hp : Fact (Nat.Prime p)] : Polynomial.cyclotomic p R = β i β Finset.range p, Polynomial.X ^ i - Polynomial.coprime_of_root_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{n : β} (hpos : 0 < n) {p : β} [hprime : Fact (Nat.Prime p)] {a : β} (hroot : (Polynomial.cyclotomic n (ZMod p)).IsRoot ((Nat.castRingHom (ZMod p)) a)) : a.Coprime p - Polynomial.cyclotomic.eval_apply π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{R : Type u_1} {S : Type u_2} (q : R) (n : β) [Ring R] [Ring S] (f : R β+* S) : Polynomial.eval (f q) (Polynomial.cyclotomic n S) = f (Polynomial.eval q (Polynomial.cyclotomic n R)) - Polynomial.cyclotomic_dvd_geom_sum_of_dvd π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [Ring R] {d n : β} (hdn : d β£ n) (hd : d β 1) : Polynomial.cyclotomic d R β£ β i β Finset.range n, Polynomial.X ^ i - Polynomial.orderOf_root_cyclotomic_dvd π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{n : β} (hpos : 0 < n) {p : β} [Fact (Nat.Prime p)] {a : β} (hroot : (Polynomial.cyclotomic n (ZMod p)).IsRoot ((Nat.castRingHom (ZMod p)) a)) : orderOf (ZMod.unitOfCoprime a β―) β£ n - Polynomial.cyclotomic.dvd_X_pow_sub_one π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(n : β) (R : Type u_1) [Ring R] : Polynomial.cyclotomic n R β£ Polynomial.X ^ n - 1 - Polynomial.cyclotomic_three π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [Ring R] : Polynomial.cyclotomic 3 R = Polynomial.X ^ 2 + Polynomial.X + 1 - Polynomial.prod_cyclotomic_eq_geom_sum π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{n : β} (h : 0 < n) (R : Type u_1) [CommRing R] : β i β n.divisors.erase 1, Polynomial.cyclotomic i R = β i β Finset.range n, Polynomial.X ^ i - Polynomial.int_cyclotomic_rw π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{n : β} (h : n β 0) : Polynomial.cyclotomic n β€ = β―.choose - Polynomial.prod_cyclotomic_eq_X_pow_sub_one π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{n : β} (hpos : 0 < n) (R : Type u_1) [CommRing R] : β i β n.divisors, Polynomial.cyclotomic i R = Polynomial.X ^ n - 1 - Polynomial.cyclotomic_eq_prod_X_sub_primitiveRoots π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{K : Type u_1} [CommRing K] [IsDomain K] {ΞΆ : K} {n : β} (hz : IsPrimitiveRoot ΞΆ n) : Polynomial.cyclotomic n K = β ΞΌ β primitiveRoots n K, (Polynomial.X - Polynomial.C ΞΌ) - Polynomial.cyclotomic_prime_mul_X_sub_one π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [Ring R] (p : β) [hn : Fact (Nat.Prime p)] : Polynomial.cyclotomic p R * (Polynomial.X - 1) = Polynomial.X ^ p - 1 - Polynomial.cyclotomic_eq_X_pow_sub_one_div π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{R : Type u_1} [CommRing R] {n : β} (hpos : 0 < n) : Polynomial.cyclotomic n R = (Polynomial.X ^ n - 1) /β β i β n.properDivisors, Polynomial.cyclotomic i R - Polynomial.cyclotomic_prime_pow_eq_geom_sum π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{R : Type u_1} [CommRing R] {p n : β} (hp : Nat.Prime p) : Polynomial.cyclotomic (p ^ (n + 1)) R = β i β Finset.range p, (Polynomial.X ^ p ^ n) ^ i - Polynomial.X_pow_sub_one_dvd_prod_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [CommRing R] {n m : β} (hpos : 0 < n) (hm : m β£ n) (hdiff : m β n) : Polynomial.X ^ m - 1 β£ β i β n.properDivisors, Polynomial.cyclotomic i R - Polynomial.eq_cyclotomic_iff π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{R : Type u_1} [CommRing R] {n : β} (hpos : 0 < n) (P : Polynomial R) : P = Polynomial.cyclotomic n R β P * β i β n.properDivisors, Polynomial.cyclotomic i R = Polynomial.X ^ n - 1 - Polynomial.X_pow_sub_one_mul_prod_cyclotomic_eq_X_pow_sub_one_of_dvd π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [CommRing R] {d n : β} (hdvd : d β£ n) (hn : n β 0) : (Polynomial.X ^ d - 1) * β x β n.divisors \ d.divisors, Polynomial.cyclotomic x R = Polynomial.X ^ n - 1 - Polynomial.X_pow_sub_one_mul_cyclotomic_dvd_X_pow_sub_one_of_dvd π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [CommRing R] {d n : β} (h : d β n.properDivisors) : (Polynomial.X ^ d - 1) * Polynomial.cyclotomic n R β£ Polynomial.X ^ n - 1 - Polynomial.cyclotomic_prime_pow_mul_X_pow_sub_one π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
(R : Type u_1) [CommRing R] (p k : β) [hn : Fact (Nat.Prime p)] : Polynomial.cyclotomic (p ^ (k + 1)) R * (Polynomial.X ^ p ^ k - 1) = Polynomial.X ^ p ^ (k + 1) - 1 - Polynomial.cyclotomic_eq_prod_X_pow_sub_one_pow_moebius π Mathlib.RingTheory.Polynomial.Cyclotomic.Basic
{n : β} (R : Type u_1) [CommRing R] [IsDomain R] : (algebraMap (Polynomial R) (RatFunc R)) (Polynomial.cyclotomic n R) = β i β n.divisorsAntidiagonal, (algebraMap (Polynomial R) (RatFunc R)) (Polynomial.X ^ i.2 - 1) ^ ArithmeticFunction.moebius i.1 - Polynomial.cyclotomic_injective π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] [CharZero R] : Function.Injective fun n => Polynomial.cyclotomic n R - Polynomial.cyclotomic.isCoprime_rat π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n m : β} (h : n β m) : IsCoprime (Polynomial.cyclotomic n β) (Polynomial.cyclotomic m β) - Polynomial.cyclotomic.irreducible π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n : β} (hpos : 0 < n) : Irreducible (Polynomial.cyclotomic n β€) - Polynomial.cyclotomic.irreducible_rat π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n : β} (hpos : 0 < n) : Irreducible (Polynomial.cyclotomic n β) - IsPrimitiveRoot.isRoot_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] {n : β} [IsDomain R] (hpos : 0 < n) {ΞΌ : R} (h : IsPrimitiveRoot ΞΌ n) : (Polynomial.cyclotomic n R).IsRoot ΞΌ - Polynomial.roots_cyclotomic_nodup π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] {n : β} [IsDomain R] [NeZero βn] : (Polynomial.cyclotomic n R).roots.Nodup - Polynomial.isRoot_cyclotomic_iff_charZero π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n : β} {R : Type u_2} [CommRing R] [IsDomain R] [CharZero R] {ΞΌ : R} (hn : 0 < n) : (Polynomial.cyclotomic n R).IsRoot ΞΌ β IsPrimitiveRoot ΞΌ n - Polynomial.cyclotomic.roots_eq_primitiveRoots_val π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] {n : β} [IsDomain R] [NeZero βn] : (Polynomial.cyclotomic n R).roots = (primitiveRoots n R).val - Polynomial.isRoot_cyclotomic_iff π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] {n : β} [IsDomain R] [NeZero βn] {ΞΌ : R} : (Polynomial.cyclotomic n R).IsRoot ΞΌ β IsPrimitiveRoot ΞΌ n - Polynomial.cyclotomic.roots_to_finset_eq_primitiveRoots π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] {n : β} [IsDomain R] [NeZero βn] : { val := (Polynomial.cyclotomic n R).roots, nodup := β― } = primitiveRoots n R - Polynomial.cyclotomic_eq_minpoly π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n : β} {K : Type u_2} [Field K] {ΞΌ : K} (h : IsPrimitiveRoot ΞΌ n) (hpos : 0 < n) [CharZero K] : Polynomial.cyclotomic n β€ = minpoly β€ ΞΌ - Polynomial.cyclotomic_eq_minpoly_rat π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n : β} {K : Type u_2} [Field K] {ΞΌ : K} (h : IsPrimitiveRoot ΞΌ n) (hpos : 0 < n) [CharZero K] : Polynomial.cyclotomic n β = minpoly β ΞΌ - Polynomial.isRoot_of_unity_of_root_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{R : Type u_1} [CommRing R] {n : β} {ΞΆ : R} {i : β} (hi : i β n.divisors) (h : (Polynomial.cyclotomic i R).IsRoot ΞΆ) : ΞΆ ^ n = 1 - isRoot_of_unity_iff π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n : β} (h : 0 < n) (R : Type u_2) [CommRing R] [IsDomain R] {ΞΆ : R} : ΞΆ ^ n = 1 β β i β n.divisors, (Polynomial.cyclotomic i R).IsRoot ΞΆ - IsPrimitiveRoot.minpoly_dvd_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{n : β} {K : Type u_2} [Field K] {ΞΌ : K} (h : IsPrimitiveRoot ΞΌ n) (hpos : 0 < n) [CharZero K] : minpoly β€ ΞΌ β£ Polynomial.cyclotomic n β€ - IsPrimitiveRoot.minpoly_eq_cyclotomic_of_irreducible π Mathlib.RingTheory.Polynomial.Cyclotomic.Roots
{K : Type u_2} [Field K] {R : Type u_3} [CommRing R] [IsDomain R] {ΞΌ : R} {n : β} [Algebra K R] (hΞΌ : IsPrimitiveRoot ΞΌ n) (h : Irreducible (Polynomial.cyclotomic n K)) [NeZero βn] : Polynomial.cyclotomic n K = minpoly K ΞΌ - IsCyclotomicExtension.splitting_field_cyclotomic π Mathlib.NumberTheory.Cyclotomic.Basic
(n : β) [NeZero n] (K : Type w) (L : Type z) [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {n} K L] : Polynomial.IsSplittingField K L (Polynomial.cyclotomic n K) - IsCyclotomicExtension.adjoin_roots_cyclotomic_eq_adjoin_root_cyclotomic π Mathlib.NumberTheory.Cyclotomic.Basic
{A : Type u} {B : Type v} [CommRing A] [CommRing B] [Algebra A B] {n : β} [NeZero n] [IsDomain B] {ΞΆ : B} (hΞΆ : IsPrimitiveRoot ΞΆ n) : Algebra.adjoin A ((Polynomial.cyclotomic n A).rootSet B) = A[ΞΆ] - IsCyclotomicExtension.splits_cyclotomic π Mathlib.NumberTheory.Cyclotomic.Basic
{n : β} [NeZero n] {S : Set β} (K : Type w) (L : Type z) [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension S K L] (hS : n β S) : (Polynomial.map (algebraMap K L) (Polynomial.cyclotomic n K)).Splits - IsCyclotomicExtension.adjoin_roots_cyclotomic_eq_adjoin_nth_roots π Mathlib.NumberTheory.Cyclotomic.Basic
{A : Type u} {B : Type v} [CommRing A] [CommRing B] [Algebra A B] [IsDomain B] {ΞΆ : B} {n : β} [NeZero n] (hΞΆ : IsPrimitiveRoot ΞΆ n) : Algebra.adjoin A ((Polynomial.cyclotomic n A).rootSet B) = Algebra.adjoin A {b | β a β {n}, a β 0 β§ b ^ a = 1} - Polynomial.eval_one_cyclotomic_prime π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{R : Type u_1} [CommRing R] {p : β} [hn : Fact (Nat.Prime p)] : Polynomial.eval 1 (Polynomial.cyclotomic p R) = βp - Polynomial.sub_one_lt_natAbs_cyclotomic_eval π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{n q : β} (hn' : 1 < n) (hq : q β 1) : q - 1 < (Polynomial.eval (βq) (Polynomial.cyclotomic n β€)).natAbs - Polynomial.cyclotomic_eval_le_add_one_pow_totient π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{q : β} (hq' : 1 < q) (n : β) : Polynomial.eval q (Polynomial.cyclotomic n β) β€ (q + 1) ^ n.totient - Polynomial.sub_one_pow_totient_le_cyclotomic_eval π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{q : β} (hq' : 1 < q) (n : β) : (q - 1) ^ n.totient β€ Polynomial.eval q (Polynomial.cyclotomic n β) - Polynomial.eval_one_cyclotomic_not_prime_pow π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{R : Type u_1} [Ring R] {n : β} (h : β {p : β}, Nat.Prime p β β (k : β), p ^ k β n) : Polynomial.eval 1 (Polynomial.cyclotomic n R) = 1 - Polynomial.cyclotomic_eval_lt_add_one_pow_totient π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{n : β} {q : β} (hn' : 3 β€ n) (hq' : 1 < q) : Polynomial.eval q (Polynomial.cyclotomic n β) < (q + 1) ^ n.totient - Polynomial.sub_one_pow_totient_lt_cyclotomic_eval π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{n : β} {q : β} (hn' : 2 β€ n) (hq' : 1 < q) : (q - 1) ^ n.totient < Polynomial.eval q (Polynomial.cyclotomic n β) - Polynomial.sub_one_pow_totient_lt_natAbs_cyclotomic_eval π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{n q : β} (hn' : 1 < n) (hq : q β 1) : (q - 1) ^ n.totient < (Polynomial.eval (βq) (Polynomial.cyclotomic n β€)).natAbs - Polynomial.evalβ_one_cyclotomic_prime π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{R : Type u_1} {S : Type u_2} [CommRing R] [Semiring S] (f : R β+* S) {p : β} [Fact (Nat.Prime p)] : Polynomial.evalβ f 1 (Polynomial.cyclotomic p R) = βp - Polynomial.eval_one_cyclotomic_prime_pow π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{R : Type u_1} [CommRing R] {p : β} (k : β) [hn : Fact (Nat.Prime p)] : Polynomial.eval 1 (Polynomial.cyclotomic (p ^ (k + 1)) R) = βp - Polynomial.cyclotomic_pos π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{n : β} (hn : 2 < n) {R : Type u_1} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] (x : R) : 0 < Polynomial.eval x (Polynomial.cyclotomic n R) - Polynomial.evalβ_one_cyclotomic_prime_pow π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
{R : Type u_1} {S : Type u_2} [CommRing R] [Semiring S] (f : R β+* S) {p : β} (k : β) [Fact (Nat.Prime p)] : Polynomial.evalβ f 1 (Polynomial.cyclotomic (p ^ (k + 1)) R) = βp - Polynomial.cyclotomic_nonneg π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
(n : β) {R : Type u_1} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] {x : R} (hx : 1 β€ x) : 0 β€ Polynomial.eval x (Polynomial.cyclotomic n R) - Polynomial.cyclotomic_pos' π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
(n : β) {R : Type u_1} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] {x : R} (hx : 1 < x) : 0 < Polynomial.eval x (Polynomial.cyclotomic n R) - Polynomial.cyclotomic_pos_and_nonneg π Mathlib.RingTheory.Polynomial.Cyclotomic.Eval
(n : β) {R : Type u_1} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] (x : R) : (1 < x β 0 < Polynomial.eval x (Polynomial.cyclotomic n R)) β§ (1 β€ x β 0 β€ Polynomial.eval x (Polynomial.cyclotomic n R)) - Polynomial.cyclotomic_mul_prime_dvd_eq_pow π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
(R : Type u_1) {p n : β} [hp : Fact (Nat.Prime p)] [Ring R] [CharP R p] (hn : p β£ n) : Polynomial.cyclotomic (n * p) R = Polynomial.cyclotomic n R ^ p - Polynomial.cyclotomic_irreducible_of_irreducible_pow π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
{p : β} (hp : Nat.Prime p) {R : Type u_1} [CommRing R] [IsDomain R] {n : β} (hn : n β 0) (h : Irreducible (Polynomial.cyclotomic (p ^ n) R)) : Irreducible (Polynomial.cyclotomic p R) - Polynomial.isRoot_cyclotomic_prime_pow_mul_iff_of_charP π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
{m k p : β} {R : Type u_1} [CommRing R] [IsDomain R] [hp : Fact (Nat.Prime p)] [hchar : CharP R p] {ΞΌ : R} [NeZero βm] : (Polynomial.cyclotomic (p ^ k * m) R).IsRoot ΞΌ β IsPrimitiveRoot ΞΌ m - Polynomial.cyclotomic_mul_prime_eq_pow_of_not_dvd π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
(R : Type u_1) {p n : β} [hp : Fact (Nat.Prime p)] [Ring R] [CharP R p] (hn : Β¬p β£ n) : Polynomial.cyclotomic (n * p) R = Polynomial.cyclotomic n R ^ (p - 1) - Polynomial.cyclotomic_irreducible_pow_of_irreducible_pow π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
{p : β} (hp : Nat.Prime p) {R : Type u_1} [CommRing R] [IsDomain R] {n m : β} (hmn : m β€ n) (h : Irreducible (Polynomial.cyclotomic (p ^ n) R)) : Irreducible (Polynomial.cyclotomic (p ^ m) R) - Polynomial.cyclotomic_six π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
(R : Type u_1) [Ring R] : Polynomial.cyclotomic 6 R = Polynomial.X ^ 2 - Polynomial.X + 1 - Polynomial.cyclotomic_mul_prime_pow_eq π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
(R : Type u_1) {p m : β} [Fact (Nat.Prime p)] [Ring R] [CharP R p] (hm : Β¬p β£ m) {k : β} : 0 < k β Polynomial.cyclotomic (p ^ k * m) R = Polynomial.cyclotomic m R ^ (p ^ k - p ^ (k - 1)) - Polynomial.cyclotomic_expand_eq_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
{p n : β} (hp : Nat.Prime p) (hdiv : p β£ n) (R : Type u_1) [CommRing R] : (Polynomial.expand R p) (Polynomial.cyclotomic n R) = Polynomial.cyclotomic (n * p) R - Polynomial.cyclotomic_expand_eq_cyclotomic_mul π Mathlib.RingTheory.Polynomial.Cyclotomic.Expand
{p n : β} (hp : Nat.Prime p) (hdiv : Β¬p β£ n) (R : Type u_1) [CommRing R] : (Polynomial.expand R p) (Polynomial.cyclotomic n R) = Polynomial.cyclotomic (n * p) R * Polynomial.cyclotomic n R - IsCyclotomicExtension.zeta_isRoot π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
(n : β) [NeZero n] (A : Type w) (B : Type z) [CommRing A] [CommRing B] [Algebra A B] [IsCyclotomicExtension {n} A B] [IsDomain B] [NeZero βn] : (Polynomial.cyclotomic n B).IsRoot (IsCyclotomicExtension.zeta n A B) - IsCyclotomicExtension.finrank π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {K : Type u} (L : Type v) [Field K] [CommRing L] [IsDomain L] [Algebra K L] [IsCyclotomicExtension {n} K L] (hirr : Irreducible (Polynomial.cyclotomic n K)) : Module.finrank K L = n.totient - IsPrimitiveRoot.lcm_totient_le_finrank π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{K : Type u} {L : Type v} [Field K] [CommRing L] [IsDomain L] [Algebra K L] [FiniteDimensional K L] {p q : β} {x y : L} (hx : IsPrimitiveRoot x p) (hy : IsPrimitiveRoot y q) (hirr : Irreducible (Polynomial.cyclotomic (p.lcm q) K)) : (p.lcm q).totient β€ Module.finrank K L - IsPrimitiveRoot.embeddingsEquivPrimitiveRoots π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {K : Type u} {L : Type v} [Field K] [CommRing L] [IsDomain L] [Algebra K L] [IsCyclotomicExtension {n} K L] {ΞΆ : L} (hΞΆ : IsPrimitiveRoot ΞΆ n) (C : Type u_1) [CommRing C] [IsDomain C] [Algebra K C] (hirr : Irreducible (Polynomial.cyclotomic n K)) : (L ββ[K] C) β β₯(primitiveRoots n C) - IsPrimitiveRoot.norm_eq_one π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {K : Type u} {L : Type v} [CommRing L] {ΞΆ : L} [Field K] [Algebra K L] (hΞΆ : IsPrimitiveRoot ΞΆ n) [IsDomain L] [IsCyclotomicExtension {n} K L] (hn : n β 2) (hirr : Irreducible (Polynomial.cyclotomic n K)) : (Algebra.norm K) ΞΆ = 1 - IsCyclotomicExtension.norm_zeta_eq_one π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {n} K L] (hn : n β 2) (hirr : Irreducible (Polynomial.cyclotomic n K)) : (Algebra.norm K) (IsCyclotomicExtension.zeta n K L) = 1 - IsCyclotomicExtension.aeval_zeta π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
(n : β) [NeZero n] (A : Type w) (B : Type z) [CommRing A] [CommRing B] [Algebra A B] [IsCyclotomicExtension {n} A B] [IsDomain B] [NeZero βn] : (Polynomial.aeval (IsCyclotomicExtension.zeta n A B)) (Polynomial.cyclotomic n A) = 0 - IsPrimitiveRoot.norm_sub_one_of_prime_ne_two' π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{p : β} {K : Type u} {L : Type v} [Field L] {ΞΆ : L} [Field K] [Algebra K L] [hpri : Fact (Nat.Prime p)] [hcyc : IsCyclotomicExtension {p} K L] (hΞΆ : IsPrimitiveRoot ΞΆ p) (hirr : Irreducible (Polynomial.cyclotomic p K)) (h : p β 2) : (Algebra.norm K) (ΞΆ - 1) = βp - IsPrimitiveRoot.sub_one_norm_isPrimePow π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {K : Type u} {L : Type v} [Field L] {ΞΆ : L} [Field K] [Algebra K L] (hΞΆ : IsPrimitiveRoot ΞΆ n) (hn : IsPrimePow n) [IsCyclotomicExtension {n} K L] (hirr : Irreducible (Polynomial.cyclotomic n K)) (h : n β 2) : (Algebra.norm K) (ΞΆ - 1) = βn.minFac - IsPrimitiveRoot.norm_of_cyclotomic_irreducible π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {K : Type u} {L : Type v} [CommRing L] {ΞΆ : L} [Field K] [Algebra K L] (hΞΆ : IsPrimitiveRoot ΞΆ n) [IsDomain L] [IsCyclotomicExtension {n} K L] (hirr : Irreducible (Polynomial.cyclotomic n K)) : (Algebra.norm K) ΞΆ = if n = 2 then -1 else 1 - IsCyclotomicExtension.norm_zeta_sub_one_of_isPrimePow π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] (hn : IsPrimePow n) [IsCyclotomicExtension {n} K L] (hirr : Irreducible (Polynomial.cyclotomic n K)) (h : n β 2) : (Algebra.norm K) (IsCyclotomicExtension.zeta n K L - 1) = βn.minFac - IsCyclotomicExtension.norm_zeta_sub_one_of_prime_ne_two π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{p : β} {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] [Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K L] (hirr : Irreducible (Polynomial.cyclotomic p K)) (h : p β 2) : (Algebra.norm K) (IsCyclotomicExtension.zeta p K L - 1) = βp - IsPrimitiveRoot.sub_one_norm_eq_eval_cyclotomic π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {K : Type u} {L : Type v} [Field L] {ΞΆ : L} [Field K] [Algebra K L] (hΞΆ : IsPrimitiveRoot ΞΆ n) [IsCyclotomicExtension {n} K L] (h : 2 < n) (hirr : Irreducible (Polynomial.cyclotomic n K)) : (Algebra.norm K) (ΞΆ - 1) = β(Polynomial.eval 1 (Polynomial.cyclotomic n β€)) - IsPrimitiveRoot.minpoly_sub_one_eq_cyclotomic_comp π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {A : Type w} {K : Type u} [CommRing A] [Field K] [Algebra K A] [IsDomain A] {ΞΆ : A} [IsCyclotomicExtension {n} K A] (hΞΆ : IsPrimitiveRoot ΞΆ n) (h : Irreducible (Polynomial.cyclotomic n K)) : minpoly K (ΞΆ - 1) = (Polynomial.cyclotomic n K).comp (Polynomial.X + 1) - IsPrimitiveRoot.norm_sub_one_two π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{K : Type u} {L : Type v} [Field L] {ΞΆ : L} [Field K] [Algebra K L] {k : β} (hΞΆ : IsPrimitiveRoot ΞΆ (2 ^ k)) (hk : 2 β€ k) [H : IsCyclotomicExtension {2 ^ k} K L] (hirr : Irreducible (Polynomial.cyclotomic (2 ^ k) K)) : (Algebra.norm K) (ΞΆ - 1) = 2 - IsPrimitiveRoot.norm_sub_one_of_prime_ne_two π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{p : β} {K : Type u} {L : Type v} [Field L] {ΞΆ : L} [Field K] [Algebra K L] {k : β} (hΞΆ : IsPrimitiveRoot ΞΆ (p ^ (k + 1))) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (p ^ (k + 1)) K)) (h : p β 2) : (Algebra.norm K) (ΞΆ - 1) = βp - IsCyclotomicExtension.norm_zeta_pow_sub_one_two π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] {k : β} (hk : 2 β€ k) [IsCyclotomicExtension {2 ^ k} K L] (hirr : Irreducible (Polynomial.cyclotomic (2 ^ k) K)) : (Algebra.norm K) (IsCyclotomicExtension.zeta (2 ^ k) K L - 1) = 2 - IsCyclotomicExtension.norm_zeta_pow_sub_one_of_prime_ne_two π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{p : β} {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] {k : β} [Fact (Nat.Prime p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (p ^ (k + 1)) K)) (h : p β 2) : (Algebra.norm K) (IsCyclotomicExtension.zeta (p ^ (k + 1)) K L - 1) = βp - IsPrimitiveRoot.norm_pow_sub_one_eq_prime_pow_of_ne_zero π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{p : β} {K : Type u} {L : Type v} [Field L] {ΞΆ : L} [Field K] [Algebra K L] {k s : β} (hΞΆ : IsPrimitiveRoot ΞΆ (p ^ (k + 1))) [hpri : Fact (Nat.Prime p)] [hcycl : IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (p ^ (k + 1)) K)) (hs : s β€ k) (hk : k β 0) : (Algebra.norm K) (ΞΆ ^ p ^ s - 1) = βp ^ p ^ s - IsPrimitiveRoot.norm_pow_sub_one_of_prime_ne_two π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{p : β} {K : Type u} {L : Type v} [Field L] {ΞΆ : L} [Field K] [Algebra K L] {k : β} (hΞΆ : IsPrimitiveRoot ΞΆ (p ^ (k + 1))) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (p ^ (k + 1)) K)) {s : β} (hs : s β€ k) (hodd : p β 2) : (Algebra.norm K) (ΞΆ ^ p ^ s - 1) = βp ^ p ^ s - IsPrimitiveRoot.norm_pow_sub_one_of_prime_pow_ne_two π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{p : β} {K : Type u} {L : Type v} [Field L] {ΞΆ : L} [Field K] [Algebra K L] {k s : β} (hΞΆ : IsPrimitiveRoot ΞΆ (p ^ (k + 1))) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (p ^ (k + 1)) K)) (hs : s β€ k) (htwo : p ^ (k - s + 1) β 2) : (Algebra.norm K) (ΞΆ ^ p ^ s - 1) = βp ^ p ^ s - IsPrimitiveRoot.norm_pow_sub_one_two π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{K : Type u} {L : Type v} [Field L] {ΞΆ : L} [Field K] [Algebra K L] {k : β} (hΞΆ : IsPrimitiveRoot ΞΆ (2 ^ (k + 1))) [IsCyclotomicExtension {2 ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (2 ^ (k + 1)) K)) : (Algebra.norm K) (ΞΆ ^ 2 ^ k - 1) = (-2) ^ 2 ^ k - IsCyclotomicExtension.norm_zeta_pow_sub_one_of_prime_pow_ne_two π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{p : β} {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] {k : β} [Fact (Nat.Prime p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (p ^ (k + 1)) K)) {s : β} (hs : s β€ k) (htwo : p ^ (k - s + 1) β 2) : (Algebra.norm K) (IsCyclotomicExtension.zeta (p ^ (k + 1)) K L ^ p ^ s - 1) = βp ^ p ^ s - IsPrimitiveRoot.embeddingsEquivPrimitiveRoots_apply_coe π Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots
{n : β} [NeZero n] {K : Type u} {L : Type v} [Field K] [CommRing L] [IsDomain L] [Algebra K L] [IsCyclotomicExtension {n} K L] {ΞΆ : L} (hΞΆ : IsPrimitiveRoot ΞΆ n) (C : Type u_1) [CommRing C] [IsDomain C] [Algebra K C] (hirr : Irreducible (Polynomial.cyclotomic n K)) (Ο' : L ββ[K] C) : β((hΞΆ.embeddingsEquivPrimitiveRoots C hirr) Ο') = Ο' ΞΆ - IsCyclotomicExtension.discr_odd_prime π Mathlib.NumberTheory.Cyclotomic.Discriminant
{p : β} {K : Type u} {L : Type v} {ΞΆ : L} [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {p} K L] [hp : Fact (Nat.Prime p)] (hΞΆ : IsPrimitiveRoot ΞΆ p) (hirr : Irreducible (Polynomial.cyclotomic p K)) (hodd : p β 2) : Algebra.discr K β(IsPrimitiveRoot.powerBasis K hΞΆ).basis = (-1) ^ ((p - 1) / 2) * βp ^ (p - 2) - IsCyclotomicExtension.discr_prime_pow_eq_unit_mul_pow π Mathlib.NumberTheory.Cyclotomic.Discriminant
{p k : β} {K : Type u} {L : Type v} {ΞΆ : L} [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {p ^ k} K L] [hp : Fact (Nat.Prime p)] (hΞΆ : IsPrimitiveRoot ΞΆ (p ^ k)) (hirr : Irreducible (Polynomial.cyclotomic (p ^ k) K)) : β u n, Algebra.discr K β(IsPrimitiveRoot.powerBasis K hΞΆ).basis = ββu * βp ^ n - IsCyclotomicExtension.discr_prime_pow π Mathlib.NumberTheory.Cyclotomic.Discriminant
{p k : β} {K : Type u} {L : Type v} {ΞΆ : L} [Field K] [Field L] [Algebra K L] [hcycl : IsCyclotomicExtension {p ^ k} K L] [hp : Fact (Nat.Prime p)] (hΞΆ : IsPrimitiveRoot ΞΆ (p ^ k)) (hirr : Irreducible (Polynomial.cyclotomic (p ^ k) K)) : Algebra.discr K β(IsPrimitiveRoot.powerBasis K hΞΆ).basis = (-1) ^ ((p ^ k).totient / 2) * βp ^ (p ^ (k - 1) * ((p - 1) * k - 1)) - IsCyclotomicExtension.discr_prime_pow_ne_two π Mathlib.NumberTheory.Cyclotomic.Discriminant
{p k : β} {K : Type u} {L : Type v} {ΞΆ : L} [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {p ^ (k + 1)} K L] [hp : Fact (Nat.Prime p)] (hΞΆ : IsPrimitiveRoot ΞΆ (p ^ (k + 1))) (hirr : Irreducible (Polynomial.cyclotomic (p ^ (k + 1)) K)) (hk : p ^ (k + 1) β 2) : Algebra.discr K β(IsPrimitiveRoot.powerBasis K hΞΆ).basis = (-1) ^ ((p ^ (k + 1)).totient / 2) * βp ^ (p ^ k * ((p - 1) * (k + 1) - 1)) - IsCyclotomicExtension.discr_prime_pow_ne_two' π Mathlib.NumberTheory.Cyclotomic.Discriminant
{p k : β} {K : Type u} {L : Type v} {ΞΆ : L} [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {p ^ (k + 1)} K L] [hp : Fact (Nat.Prime p)] (hΞΆ : IsPrimitiveRoot ΞΆ (p ^ (k + 1))) (hirr : Irreducible (Polynomial.cyclotomic (p ^ (k + 1)) K)) (hk : p ^ (k + 1) β 2) : Algebra.discr K β(IsPrimitiveRoot.powerBasis K hΞΆ).basis = (-1) ^ (p ^ k * (p - 1) / 2) * βp ^ (p ^ k * ((p - 1) * (k + 1) - 1)) - IsCyclotomicExtension.fromZetaAut π Mathlib.NumberTheory.Cyclotomic.Gal
{n : β} [NeZero n] {K : Type u_1} [Field K] {L : Type u_2} {ΞΌ : L} [CommRing L] [IsDomain L] (hΞΌ : IsPrimitiveRoot ΞΌ n) [Algebra K L] [IsCyclotomicExtension {n} K L] (h : Irreducible (Polynomial.cyclotomic n K)) : L ββ[K] L - IsCyclotomicExtension.fromZetaAut_spec π Mathlib.NumberTheory.Cyclotomic.Gal
{n : β} [NeZero n] {K : Type u_1} [Field K] {L : Type u_2} {ΞΌ : L} [CommRing L] [IsDomain L] (hΞΌ : IsPrimitiveRoot ΞΌ n) [Algebra K L] [IsCyclotomicExtension {n} K L] (h : Irreducible (Polynomial.cyclotomic n K)) : (IsCyclotomicExtension.fromZetaAut hΞΌ h) (IsCyclotomicExtension.zeta n K L) = ΞΌ - galCyclotomicEquivUnitsZMod π Mathlib.NumberTheory.Cyclotomic.Gal
{n : β} [NeZero n] {K : Type u_1} [Field K] {L : Type u_2} [Field L] [Algebra K L] [IsCyclotomicExtension {n} K L] (h : Irreducible (Polynomial.cyclotomic n K)) : (Polynomial.cyclotomic n K).Gal β* (ZMod n)Λ£ - IsCyclotomicExtension.autEquivPow π Mathlib.NumberTheory.Cyclotomic.Gal
{n : β} [NeZero n] {K : Type u_1} [Field K] (L : Type u_2) [CommRing L] [IsDomain L] [Algebra K L] [IsCyclotomicExtension {n} K L] (h : Irreducible (Polynomial.cyclotomic n K)) : (L ββ[K] L) β* (ZMod n)Λ£ - IsCyclotomicExtension.autEquivPow_symm_apply π Mathlib.NumberTheory.Cyclotomic.Gal
{n : β} [NeZero n] {K : Type u_1} [Field K] (L : Type u_2) [CommRing L] [IsDomain L] [Algebra K L] [IsCyclotomicExtension {n} K L] (h : Irreducible (Polynomial.cyclotomic n K)) (t : (ZMod n)Λ£) : (IsCyclotomicExtension.autEquivPow L h).symm t = (IsPrimitiveRoot.powerBasis K β―).equivOfMinpoly (IsPrimitiveRoot.powerBasis K β―) β― - IsCyclotomicExtension.autEquivPow_apply π Mathlib.NumberTheory.Cyclotomic.Gal
{n : β} [NeZero n] {K : Type u_1} [Field K] (L : Type u_2) [CommRing L] [IsDomain L] [Algebra K L] [IsCyclotomicExtension {n} K L] (h : Irreducible (Polynomial.cyclotomic n K)) (aβ : L ββ[K] L) : (IsCyclotomicExtension.autEquivPow L h) aβ = (β(IsPrimitiveRoot.autToPow K β―)).toFun aβ - galXPowEquivUnitsZMod π Mathlib.NumberTheory.Cyclotomic.Gal
{n : β} [NeZero n] {K : Type u_1} [Field K] {L : Type u_2} [Field L] [Algebra K L] [IsCyclotomicExtension {n} K L] (h : Irreducible (Polynomial.cyclotomic n K)) : (Polynomial.X ^ n - 1).Gal β* (ZMod n)Λ£ - cyclotomic_comp_X_add_one_isEisensteinAt π Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral
(p : β) [hp : Fact (Nat.Prime p)] : ((Polynomial.cyclotomic p β€).comp (Polynomial.X + 1)).IsEisensteinAt (β€ β βp) - cyclotomic_prime_pow_comp_X_add_one_isEisensteinAt π Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral
(p : β) [hp : Fact (Nat.Prime p)] (n : β) : ((Polynomial.cyclotomic (p ^ (n + 1)) β€).comp (Polynomial.X + 1)).IsEisensteinAt (β€ β βp) - Polynomial.cyclotomic_mahlerMeasure_eq_one π Mathlib.NumberTheory.MahlerMeasure
{R : Type u_1} [CommRing R] [Algebra R β] (n : β) : (Polynomial.map (algebraMap R β) (Polynomial.cyclotomic n R)).mahlerMeasure = 1 - Polynomial.cyclotomic_dvd_of_mahlerMeasure_eq_one π Mathlib.NumberTheory.MahlerMeasure
{p : Polynomial β€} (h : (Polynomial.map (Int.castRingHom β) p).mahlerMeasure = 1) (hX : Β¬Polynomial.X β£ p) (hpdeg : p.degree β 0) : β n, 0 < n β§ Polynomial.cyclotomic n β€ β£ p - Polynomial.irreducible_of_dvd_cyclotomic_of_natDegree π Mathlib.RingTheory.Polynomial.Cyclotomic.Factorization
{K : Type u_1} [Field K] [Fintype K] {p f n : β} {P : Polynomial K} (hK : Fintype.card K = p ^ f) (hn : p.Coprime n) [hp : Fact (Nat.Prime p)] (hP : P β£ Polynomial.cyclotomic n K) (hPdeg : P.natDegree = orderOf (ZMod.unitOfCoprime (p ^ f) β―)) : Irreducible P - Polynomial.natDegree_of_dvd_cyclotomic_of_irreducible π Mathlib.RingTheory.Polynomial.Cyclotomic.Factorization
{K : Type u_1} [Field K] [Fintype K] {p f n : β} {P : Polynomial K} (hK : Fintype.card K = p ^ f) (hn : p.Coprime n) [hp : Fact (Nat.Prime p)] (hP : P β£ Polynomial.cyclotomic n K) (hPirr : Irreducible P) : P.natDegree = orderOf (ZMod.unitOfCoprime (p ^ f) β―) - Polynomial.natDegree_of_mem_normalizedFactors_cyclotomic π Mathlib.RingTheory.Polynomial.Cyclotomic.Factorization
{K : Type u_1} [Field K] [Fintype K] {p f n : β} {P : Polynomial K} (hK : Fintype.card K = p ^ f) (hn : p.Coprime n) [hp : Fact (Nat.Prime p)] [DecidableEq K] (hP : P β UniqueFactorizationMonoid.normalizedFactors (Polynomial.cyclotomic n K)) : P.natDegree = orderOf (ZMod.unitOfCoprime (p ^ f) β―) - ZMod.irreducible_of_dvd_cyclotomic_of_natDegree π Mathlib.RingTheory.Polynomial.Cyclotomic.Factorization
{p n : β} [hp : Fact (Nat.Prime p)] {P : Polynomial (ZMod p)} (hpn : Β¬p β£ n) (hP : P β£ Polynomial.cyclotomic n (ZMod p)) (hPdeg : P.natDegree = orderOf (ZMod.unitOfCoprime p β―)) : Irreducible P - Polynomial.normalizedFactors_cyclotomic_card π Mathlib.RingTheory.Polynomial.Cyclotomic.Factorization
{K : Type u_1} [Field K] [Fintype K] {p f n : β} (hK : Fintype.card K = p ^ f) (hn : p.Coprime n) [hp : Fact (Nat.Prime p)] [DecidableEq K] : (UniqueFactorizationMonoid.normalizedFactors (Polynomial.cyclotomic n K)).toFinset.card = n.totient / orderOf (ZMod.unitOfCoprime (p ^ f) β―)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?bBy main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβandβ) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
β’ (_ : Type _)finds all definitions which provide data whileβ’ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59