Loogle!
Result
Found 297 declarations mentioning ExpChar. Of these, only the first 200 are shown.
- ExpChar π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] : β β Prop - expChar_one π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] [CharZero R] : ExpChar R 1 - ExpChar.prime π Mathlib.Algebra.CharP.Defs
{R : Type u_1} [AddMonoidWithOne R] {q : β} (hprime : Nat.Prime q) [hchar : CharP R q] : ExpChar R q - ExpChar.zero π Mathlib.Algebra.CharP.Defs
{R : Type u_1} [AddMonoidWithOne R] [CharZero R] : ExpChar R 1 - expChar_prime π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] (p : β) [CharP R p] [Fact (Nat.Prime p)] : ExpChar R p - expChar_ne_zero π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] (p : β) [hR : ExpChar R p] : p β 0 - expChar_pos π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] (q : β) [ExpChar R q] : 0 < q - ExpChar.congr π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] {p : β} (q : β) [hq : ExpChar R q] (h : q = p) : ExpChar R p - ExpChar.eq π Mathlib.Algebra.CharP.Defs
{R : Type u_1} [AddMonoidWithOne R] {p q : β} (hp : ExpChar R p) (hq : ExpChar R q) : p = q - ringExpChar.eq π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [NonAssocSemiring R] (q : β) [h : ExpChar R q] : ringExpChar R = q - expChar_is_prime_or_one π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] (q : β) [hq : ExpChar R q] : Nat.Prime q β¨ q = 1 - ExpChar.exists π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [Ring R] [IsDomain R] : β q, ExpChar R q - ExpChar.exists_unique π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [Ring R] [IsDomain R] : β! q, ExpChar R q - char_eq_expChar_iff π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] (p q : β) [hp : CharP R p] [hq : ExpChar R q] : p = q β Nat.Prime p - ringExpChar.expChar π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [Ring R] [IsDomain R] : ExpChar R (ringExpChar R) - charZero_of_expChar_one' π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [NonAssocSemiring R] [Nontrivial R] [hq : ExpChar R 1] : CharZero R - expChar_one_of_char_zero π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] (q : β) [hp : CharP R 0] [hq : ExpChar R q] : q = 1 - ringExpChar.of_eq π Mathlib.Algebra.CharP.Defs
{R : Type u_1} [Ring R] [IsDomain R] {q : β} (h : ringExpChar R = q) : ExpChar R q - ringExpChar.eq_iff π Mathlib.Algebra.CharP.Defs
{R : Type u_1} [Ring R] [IsDomain R] {q : β} : ringExpChar R = q β ExpChar R q - expChar_pow_pos π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [AddMonoidWithOne R] (q : β) [ExpChar R q] (n : β) : 0 < q ^ n - char_zero_of_expChar_one π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [NonAssocSemiring R] [Nontrivial R] (p : β) [hp : CharP R p] [hq : ExpChar R 1] : p = 0 - expChar_one_iff_char_zero π Mathlib.Algebra.CharP.Defs
(R : Type u_1) [NonAssocSemiring R] [Nontrivial R] (p q : β) [CharP R p] [ExpChar R q] : q = 1 β p = 0 - Polynomial.instExpChar π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} [Semiring R] (p : β) [h : ExpChar R p] : ExpChar (Polynomial R) p - instExpCharProd π Mathlib.Algebra.CharP.Basic
(R : Type u_1) [AddMonoidWithOne R] (S : Type u_2) [Semiring S] (p : β) [ExpChar R p] [ExpChar S p] : ExpChar (R Γ S) p - frobenius π Mathlib.Algebra.CharP.Lemmas
(R : Type u_2) [CommSemiring R] (p : β) [ExpChar R p] : R β+* R - iterateFrobenius π Mathlib.Algebra.CharP.Lemmas
(R : Type u_2) [CommSemiring R] (p n : β) [ExpChar R p] : R β+* R - multiset_sum_pow_char π Mathlib.Algebra.CharP.Lemmas
{R : Type u_2} [CommSemiring R] (p : β) [ExpChar R p] (s : Multiset R) : s.sum ^ p = (Multiset.map (fun x => x ^ p) s).sum - sum_pow_char π Mathlib.Algebra.CharP.Lemmas
{R : Type u_2} [CommSemiring R] (p : β) [ExpChar R p] {ΞΉ : Type u_3} (s : Finset ΞΉ) (f : ΞΉ β R) : (β i β s, f i) ^ p = β i β s, f i ^ p - neg_one_pow_expChar π Mathlib.Algebra.CharP.Lemmas
(R : Type u_1) [Ring R] (p : β) [hR : ExpChar R p] : (-1) ^ p = -1 - list_sum_pow_char π Mathlib.Algebra.CharP.Lemmas
{R : Type u_2} [CommSemiring R] (p : β) [ExpChar R p] (l : List R) : l.sum ^ p = (List.map (fun x => x ^ p) l).sum - add_pow_expChar_of_commute π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Semiring R] {x y : R} (p : β) [hR : ExpChar R p] (h : Commute x y) : (x + y) ^ p = x ^ p + y ^ p - neg_one_pow_expChar_pow π Mathlib.Algebra.CharP.Lemmas
(R : Type u_1) [Ring R] (p n : β) [hR : ExpChar R p] : (-1) ^ p ^ n = -1 - add_pow_expChar π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommSemiring R] (x y : R) (p : β) [hR : ExpChar R p] : (x + y) ^ p = x ^ p + y ^ p - multiset_sum_pow_char_pow π Mathlib.Algebra.CharP.Lemmas
{R : Type u_2} [CommSemiring R] (p n : β) [ExpChar R p] (s : Multiset R) : s.sum ^ p ^ n = (Multiset.map (fun x => x ^ p ^ n) s).sum - sum_pow_char_pow π Mathlib.Algebra.CharP.Lemmas
{R : Type u_2} [CommSemiring R] (p n : β) [ExpChar R p] {ΞΉ : Type u_3} (s : Finset ΞΉ) (f : ΞΉ β R) : (β i β s, f i) ^ p ^ n = β i β s, f i ^ p ^ n - sub_pow_expChar_of_commute π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Ring R] {x y : R} (p : β) [hR : ExpChar R p] (h : Commute x y) : (x - y) ^ p = x ^ p - y ^ p - sub_pow_expChar π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommRing R] (x y : R) {p : β} [hR : ExpChar R p] : (x - y) ^ p = x ^ p - y ^ p - list_sum_pow_char_pow π Mathlib.Algebra.CharP.Lemmas
{R : Type u_2} [CommSemiring R] (p n : β) [ExpChar R p] (l : List R) : l.sum ^ p ^ n = (List.map (fun x => x ^ p ^ n) l).sum - add_pow_expChar_pow_of_commute π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Semiring R] {x y : R} (p n : β) [hR : ExpChar R p] (h : Commute x y) : (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n - add_pow_expChar_pow π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommSemiring R] (x y : R) (p n : β) [hR : ExpChar R p] : (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n - sub_pow_expChar_pow_of_commute π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Ring R] {x y : R} (p n : β) [hR : ExpChar R p] (h : Commute x y) : (x - y) ^ p ^ n = x ^ p ^ n - y ^ p ^ n - sub_pow_expChar_pow π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommRing R] (x y : R) (n : β) {p : β} [hR : ExpChar R p] : (x - y) ^ p ^ n = x ^ p ^ n - y ^ p ^ n - add_pow_eq_mul_pow_add_pow_div_expChar_of_commute π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Semiring R] {x y : R} (p n : β) [hR : ExpChar R p] (h : Commute x y) : (x + y) ^ n = (x + y) ^ (n % p) * (x ^ p + y ^ p) ^ (n / p) - add_pow_eq_mul_pow_add_pow_div_expChar π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommSemiring R] (x y : R) (p n : β) [hR : ExpChar R p] : (x + y) ^ n = (x + y) ^ (n % p) * (x ^ p + y ^ p) ^ (n / p) - sub_pow_eq_mul_pow_sub_pow_div_expChar_of_commute π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Ring R] {x y : R} (p n : β) [hR : ExpChar R p] (h : Commute x y) : (x - y) ^ n = (x - y) ^ (n % p) * (x ^ p - y ^ p) ^ (n / p) - sub_pow_eq_mul_pow_sub_pow_div_expChar π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommRing R] (x y : R) (n : β) {p : β} [hR : ExpChar R p] : (x - y) ^ n = (x - y) ^ (n % p) * (x ^ p - y ^ p) ^ (n / p) - iterateFrobenius_one π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p : β) [ExpChar R p] : iterateFrobenius R p 1 = frobenius R p - iterateFrobenius_zero π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p : β) [ExpChar R p] : iterateFrobenius R p 0 = RingHom.id R - iterateFrobenius_zero_apply π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p : β) [ExpChar R p] (x : R) : (iterateFrobenius R p 0) x = x - frobenius_def π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] (p : β) [ExpChar R p] (x : R) : (frobenius R p) x = x ^ p - iterateFrobenius_add π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p m n : β) [ExpChar R p] : iterateFrobenius R p (m + n) = (iterateFrobenius R p m).comp (iterateFrobenius R p n) - iterateFrobenius_one_apply π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p : β) [ExpChar R p] (x : R) : (iterateFrobenius R p 1) x = x ^ p - LinearMap.frobenius π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (S : Type u_2) [CommSemiring S] (p : β) [ExpChar R p] [ExpChar S p] [Algebra R S] : S βββ[frobenius R p] S - LinearMap.iterateFrobenius π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (S : Type u_2) [CommSemiring S] (p n : β) [ExpChar R p] [ExpChar S p] [Algebra R S] : S βββ[iterateFrobenius R p n] S - iterateFrobenius_def π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] (p n : β) [ExpChar R p] (x : R) : (iterateFrobenius R p n) x = x ^ p ^ n - iterate_frobenius π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] (p n : β) [ExpChar R p] (x : R) : (β(frobenius R p))^[n] x = x ^ p ^ n - coe_iterateFrobenius π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p n : β) [ExpChar R p] : β(iterateFrobenius R p n) = (β(frobenius R p))^[n] - coe_iterateFrobenius_mul π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p m n : β) [ExpChar R p] : β(iterateFrobenius R p (m * n)) = (β(iterateFrobenius R p m))^[n] - iterateFrobenius_mul_apply π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p m n : β) [ExpChar R p] (x : R) : (iterateFrobenius R p (m * n)) x = (β(iterateFrobenius R p m))^[n] x - RingHom.frobenius_comm π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] (g : R β+* S) (p : β) [ExpChar R p] [ExpChar S p] : g.comp (frobenius R p) = (frobenius S p).comp g - RingHom.iterateFrobenius_comm π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] (g : R β+* S) (p : β) [ExpChar R p] [ExpChar S p] (n : β) : g.comp (iterateFrobenius R p n) = (iterateFrobenius S p n).comp g - iterateFrobenius_eq_pow π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p n : β) [ExpChar R p] : iterateFrobenius R p n = frobenius R p ^ n - iterateFrobenius_add_apply π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (p m n : β) [ExpChar R p] (x : R) : (iterateFrobenius R p (m + n)) x = (iterateFrobenius R p m) ((iterateFrobenius R p n) x) - LinearMap.frobenius_def π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (S : Type u_2) [CommSemiring S] (p : β) [ExpChar R p] [ExpChar S p] [Algebra R S] (x : S) : (LinearMap.frobenius R S p) x = x ^ p - RingHom.iterate_map_frobenius π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] (x : R) (f : R β+* R) (p : β) [ExpChar R p] (n : β) : (βf)^[n] ((frobenius R p) x) = (frobenius R p) ((βf)^[n] x) - LinearMap.iterateFrobenius_def π Mathlib.Algebra.CharP.Frobenius
(R : Type u_1) [CommSemiring R] (S : Type u_2) [CommSemiring S] (p : β) [ExpChar R p] [ExpChar S p] [Algebra R S] (n : β) (x : S) : (LinearMap.iterateFrobenius R S p n) x = x ^ p ^ n - RingHom.map_frobenius π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] (g : R β+* S) (p : β) [ExpChar R p] [ExpChar S p] (x : R) : g ((frobenius R p) x) = (frobenius S p) (g x) - RingHom.map_iterateFrobenius π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] (g : R β+* S) (p : β) [ExpChar R p] [ExpChar S p] (x : R) (n : β) : g ((iterateFrobenius R p n) x) = (iterateFrobenius S p n) (g x) - RingHom.map_iterate_frobenius π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] (g : R β+* S) (p : β) [ExpChar R p] [ExpChar S p] (x : R) (n : β) : g ((β(frobenius R p))^[n] x) = (β(frobenius S p))^[n] (g x) - MonoidHom.iterate_map_frobenius π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] (x : R) (f : R β* R) (p : β) [ExpChar R p] (n : β) : (βf)^[n] ((frobenius R p) x) = (frobenius R p) ((βf)^[n] x) - MonoidHom.map_frobenius π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] (f : R β* S) (p : β) [ExpChar R p] [ExpChar S p] (x : R) : f ((frobenius R p) x) = (frobenius S p) (f x) - MonoidHom.map_iterateFrobenius π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] (f : R β* S) (p : β) [ExpChar R p] [ExpChar S p] (x : R) (n : β) : f ((iterateFrobenius R p n) x) = (iterateFrobenius S p n) (f x) - MonoidHom.map_iterate_frobenius π Mathlib.Algebra.CharP.Frobenius
{R : Type u_1} [CommSemiring R] {S : Type u_2} [CommSemiring S] (f : R β* S) (p : β) [ExpChar R p] [ExpChar S p] (x : R) (n : β) : f ((β(frobenius R p))^[n] x) = (β(frobenius S p))^[n] (f x) - Polynomial.map_frobenius_expand π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] (p : β) [ExpChar R p] (f : Polynomial R) : Polynomial.map (frobenius R p) ((Polynomial.expand R p) f) = f ^ p - Polynomial.map_iterateFrobenius_expand π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] (p : β) [ExpChar R p] (f : Polynomial R) (n : β) : Polynomial.map (iterateFrobenius R p n) ((Polynomial.expand R (p ^ n)) f) = f ^ p ^ n - Polynomial.rootMultiplicity_expand π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommRing R] {p : β} [ExpChar R p] {f : Polynomial R} {r : R} : Polynomial.rootMultiplicity r ((Polynomial.expand R p) f) = p * Polynomial.rootMultiplicity (r ^ p) f - Polynomial.rootMultiplicity_expand_pow π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommRing R] {p n : β} [ExpChar R p] {f : Polynomial R} {r : R} : Polynomial.rootMultiplicity r ((Polynomial.expand R (p ^ n)) f) = p ^ n * Polynomial.rootMultiplicity (r ^ p ^ n) f - Polynomial.expand_contract' π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] (p : β) [ExpChar R p] [NoZeroDivisors R] {f : Polynomial R} (hf : Polynomial.derivative f = 0) : (Polynomial.expand R p) (Polynomial.contract p f) = f - MvPolynomial.instExpChar π Mathlib.RingTheory.MvPolynomial.Basic
(Ο : Type u) (R : Type v) [CommSemiring R] (p : β) [ExpChar R p] : ExpChar (MvPolynomial Ο R) p - frobenius_inj π Mathlib.Algebra.CharP.Reduced
(R : Type u_1) [CommRing R] [IsReduced R] (p : β) [ExpChar R p] : Function.Injective β(frobenius R p) - iterateFrobenius_inj π Mathlib.Algebra.CharP.Reduced
(R : Type u_1) [CommRing R] [IsReduced R] (p n : β) [ExpChar R p] : Function.Injective β(iterateFrobenius R p n) - ExpChar.pow_prime_pow_mul_eq_one_iff π Mathlib.Algebra.CharP.Reduced
{R : Type u_1} [CommRing R] [IsReduced R] (p k m : β) [ExpChar R p] (x : R) : x ^ (p ^ k * m) = 1 β x ^ m = 1 - mem_rootsOfUnity_prime_pow_mul_iff π Mathlib.RingTheory.RootsOfUnity.Basic
(R : Type u_4) [CommRing R] [IsReduced R] (p k m : β) [ExpChar R p] {ΞΆ : RΛ£} : ΞΆ β rootsOfUnity (p ^ k * m) R β ΞΆ β rootsOfUnity m R - mem_rootsOfUnity_prime_pow_mul_iff' π Mathlib.RingTheory.RootsOfUnity.Basic
(R : Type u_4) [CommRing R] [IsReduced R] (p k m : β) [ExpChar R p] {ΞΆ : RΛ£} : ΞΆ ^ (p ^ k * m) = 1 β ΞΆ β rootsOfUnity m R - expChar_of_injective_ringHom π Mathlib.Algebra.CharP.Algebra
{R : Type u_1} {A : Type u_2} [NonAssocSemiring R] [NonAssocSemiring A] {f : R β+* A} (h : Function.Injective βf) (q : β) [hR : ExpChar R q] : ExpChar A q - RingHom.expChar π Mathlib.Algebra.CharP.Algebra
{R : Type u_1} {A : Type u_2} [NonAssocSemiring R] [NonAssocSemiring A] (f : R β+* A) (H : Function.Injective βf) (p : β) [ExpChar A p] : ExpChar R p - RingHom.expChar_iff π Mathlib.Algebra.CharP.Algebra
{R : Type u_1} {A : Type u_2} [NonAssocSemiring R] [NonAssocSemiring A] (f : R β+* A) (H : Function.Injective βf) (p : β) : ExpChar R p β ExpChar A p - ExpChar.of_injective_algebraMap' π Mathlib.Algebra.CharP.Algebra
(R : Type u_1) {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] (q : β) [ExpChar R q] : ExpChar A q - expChar_of_injective_algebraMap π Mathlib.Algebra.CharP.Algebra
{R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] (h : Function.Injective β(algebraMap R A)) (q : β) [ExpChar R q] : ExpChar A q - Subfield.expChar π Mathlib.Algebra.CharP.Algebra
{R : Type u_1} [DivisionRing R] (L : Subfield R) (p : β) [ExpChar R p] : ExpChar (β₯L) p - IntermediateField.expChar π Mathlib.Algebra.CharP.IntermediateField
{F : Type u_1} {E : Type u_2} [Field F] [Field E] [Algebra F E] (L : IntermediateField F E) (p : β) [ExpChar F p] : ExpChar (β₯L) p - IntermediateField.expChar' π Mathlib.Algebra.CharP.IntermediateField
{F : Type u_1} {E : Type u_2} [Field F] [Field E] [Algebra F E] (L : IntermediateField F E) (p : β) [ExpChar E p] : ExpChar (β₯L) p - instExpCharLinearMapSubtypeMemSubringCenterId π Mathlib.Algebra.CharP.LinearMaps
{D : Type u_1} [DivisionRing D] {p : β} [ExpChar D p] : ExpChar (D ββ[β₯(Subring.center D)] D) p - ExpChar.expChar_center_iff π Mathlib.Algebra.CharP.Subring
{R : Type u} [Ring R] {p : β} : ExpChar (β₯(Subring.center R)) p β ExpChar R p - PerfectField.toPerfectRing π Mathlib.FieldTheory.Perfect
{K : Type u_1} [Field K] [PerfectField K] (p : β) [hp : ExpChar K p] : PerfectRing K p - PerfectRing.toPerfectField π Mathlib.FieldTheory.Perfect
(K : Type u_1) (p : β) [Field K] [ExpChar K p] [PerfectRing K p] : PerfectField K - PerfectRing.ofFiniteOfIsReduced π Mathlib.FieldTheory.Perfect
(p : β) (R : Type u_2) [CommRing R] [ExpChar R p] [Finite R] [IsReduced R] : PerfectRing R p - frobeniusEquiv π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : R β+* R - iterateFrobeniusEquiv π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : R β+* R - bijective_frobenius π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : Function.Bijective β(frobenius R p) - injective_frobenius π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : Function.Injective β(frobenius R p) - surjective_frobenius π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : Function.Surjective β(frobenius R p) - bijective_iterateFrobenius π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : Function.Bijective β(iterateFrobenius R p n) - injective_pow_p π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] {x y : R} (h : x ^ p = y ^ p) : x = y - iterateFrobeniusEquiv_one π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : iterateFrobeniusEquiv R p 1 = frobeniusEquiv R p - instPerfectRingProd π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (S : Type u_2) [CommSemiring S] [ExpChar S p] [PerfectRing S p] : PerfectRing (R Γ S) p - iterateFrobeniusEquiv_zero π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : iterateFrobeniusEquiv R p 0 = RingEquiv.refl R - powMulEquiv_eq_toMulEquiv_frobeniusEquiv π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : powMulEquiv R p = (frobeniusEquiv R p).toMulEquiv - PerfectRing.ofSurjective π Mathlib.FieldTheory.Perfect
(R : Type u_2) (p : β) [CommRing R] [ExpChar R p] [IsReduced R] (h : Function.Surjective β(frobenius R p)) : PerfectRing R p - iterateFrobeniusEquiv_add π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p m n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : iterateFrobeniusEquiv R p (m + n) = (iterateFrobeniusEquiv R p n).trans (iterateFrobeniusEquiv R p m) - iterateFrobeniusEquiv_zero_apply π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (iterateFrobeniusEquiv R p 0) x = x - frobeniusEquiv_def π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (frobeniusEquiv R p) x = x ^ p - iterateFrobeniusEquiv_one_apply π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (iterateFrobeniusEquiv R p 1) x = x ^ p - iterateFrobeniusEquiv_def π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (iterateFrobeniusEquiv R p n) x = x ^ p ^ n - coe_frobeniusEquiv π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : β(frobeniusEquiv R p) = β(frobenius R p) - frobeniusEquiv_apply π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (a : R) : (frobeniusEquiv R p) a = (frobenius R p) a - coe_iterateFrobeniusEquiv π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : β(iterateFrobeniusEquiv R p n) = β(iterateFrobenius R p n) - iterateFrobeniusEquiv_apply π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (a : R) : (iterateFrobeniusEquiv R p n) a = (iterateFrobenius R p n) a - frobeniusEquiv_symm_pow π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (frobeniusEquiv R p).symm (x ^ p) = x - frobeniusEquiv_symm_pow_p π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (frobeniusEquiv R p).symm x ^ p = x - iterate_frobeniusEquiv_symm_pow_p_pow π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) (n : β) : (β(frobeniusEquiv R p).symm)^[n] x ^ p ^ n = x - frobeniusEquiv_symm_apply_frobenius π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (frobeniusEquiv R p).symm ((frobenius R p) x) = x - frobenius_apply_frobeniusEquiv_symm π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (frobenius R p) ((frobeniusEquiv R p).symm x) = x - coe_frobeniusEquiv_symm_comp_coe_frobenius π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : β(frobeniusEquiv R p).symm β β(frobenius R p) = id - coe_frobenius_comp_coe_frobeniusEquiv_symm π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : β(frobenius R p) β β(frobeniusEquiv R p).symm = id - iterateFrobeniusEquiv_symm_add π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p m n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : (iterateFrobeniusEquiv R p (m + n)).symm = (iterateFrobeniusEquiv R p n).symm.trans (iterateFrobeniusEquiv R p m).symm - Polynomial.rootsExpandToRoots π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] : β₯((Polynomial.expand R p) f).roots.toFinset βͺ β₯f.roots.toFinset - Polynomial.rootsExpandEquivRoots π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] [PerfectRing R p] : β₯((Polynomial.expand R p) f).roots.toFinset β β₯f.roots.toFinset - Polynomial.rootsExpandPowToRoots π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p n : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] : β₯((Polynomial.expand R (p ^ n)) f).roots.toFinset βͺ β₯f.roots.toFinset - Polynomial.rootsExpandPowEquivRoots π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] [PerfectRing R p] (n : β) : β₯((Polynomial.expand R (p ^ n)) f).roots.toFinset β β₯f.roots.toFinset - Polynomial.roots_expand_image_frobenius_subset π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] : Finset.image (β(frobenius R p)) ((Polynomial.expand R p) f).roots.toFinset β f.roots.toFinset - Polynomial.roots_expand_image_frobenius π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p : β} [ExpChar R p] {f : Polynomial R} [PerfectRing R p] [DecidableEq R] : Finset.image (β(frobenius R p)) ((Polynomial.expand R p) f).roots.toFinset = f.roots.toFinset - Polynomial.roots_expand_pow_image_iterateFrobenius_subset π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p n : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] : Finset.image (β(iterateFrobenius R p n)) ((Polynomial.expand R (p ^ n)) f).roots.toFinset β f.roots.toFinset - Polynomial.roots_expand_map_frobenius_le π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : β) [ExpChar R p] (f : Polynomial R) : Multiset.map (β(frobenius R p)) ((Polynomial.expand R p) f).roots β€ p β’ f.roots - Polynomial.roots_expand_image_iterateFrobenius π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p n : β} [ExpChar R p] {f : Polynomial R} [PerfectRing R p] [DecidableEq R] : Finset.image (β(iterateFrobenius R p n)) ((Polynomial.expand R (p ^ n)) f).roots.toFinset = f.roots.toFinset - Polynomial.roots_expand_map_frobenius π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p : β} [ExpChar R p] {f : Polynomial R} [PerfectRing R p] : Multiset.map (β(frobenius R p)) ((Polynomial.expand R p) f).roots = p β’ f.roots - Polynomial.roots_expand_pow_map_iterateFrobenius_le π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p n : β) [ExpChar R p] (f : Polynomial R) : Multiset.map (β(iterateFrobenius R p n)) ((Polynomial.expand R (p ^ n)) f).roots β€ p ^ n β’ f.roots - Polynomial.roots_expand_pow_map_iterateFrobenius π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p n : β} [ExpChar R p] {f : Polynomial R} [PerfectRing R p] : Multiset.map (β(iterateFrobenius R p n)) ((Polynomial.expand R (p ^ n)) f).roots = p ^ n β’ f.roots - iterateFrobeniusEquiv_eq_pow π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : iterateFrobeniusEquiv R p n = frobeniusEquiv R p ^ n - frobeniusEquiv_symm_comp_frobenius π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : (β(frobeniusEquiv R p).symm).comp (frobenius R p) = RingHom.id R - frobenius_comp_frobeniusEquiv_symm π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : (frobenius R p).comp β(frobeniusEquiv R p).symm = RingHom.id R - iterateFrobeniusEquiv_add_apply π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p m n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (iterateFrobeniusEquiv R p (m + n)) x = (iterateFrobeniusEquiv R p m) ((iterateFrobeniusEquiv R p n) x) - iterateFrobeniusEquiv_symm π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] : (iterateFrobeniusEquiv R p n).symm = (frobeniusEquiv R p).symm ^ n - RingHom.map_frobeniusEquiv_symm π Mathlib.FieldTheory.Perfect
{R : Type u_2} {S : Type u_3} [CommSemiring R] [CommSemiring S] (p : β) [ExpChar R p] [PerfectRing R p] [ExpChar S p] [PerfectRing S p] (f : R β+* S) (x : R) : f ((frobeniusEquiv R p).symm x) = (frobeniusEquiv S p).symm (f x) - Polynomial.roots_expand π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p : β} [ExpChar R p] {f : Polynomial R} [PerfectRing R p] : ((Polynomial.expand R p) f).roots = p β’ Multiset.map (β(frobeniusEquiv R p).symm) f.roots - RingHom.map_iterate_frobeniusEquiv_symm π Mathlib.FieldTheory.Perfect
{R : Type u_2} {S : Type u_3} [CommSemiring R] [CommSemiring S] (p : β) [ExpChar R p] [PerfectRing R p] [ExpChar S p] [PerfectRing S p] (f : R β+* S) (n : β) (x : R) : f ((β(frobeniusEquiv R p).symm)^[n] x) = (β(frobeniusEquiv S p).symm)^[n] (f x) - Polynomial.roots_X_pow_char_sub_C π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p : β} [ExpChar R p] [PerfectRing R p] {y : R} : (Polynomial.X ^ p - Polynomial.C y).roots = p β’ {(frobeniusEquiv R p).symm y} - Polynomial.roots_expand_pow π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p n : β} [ExpChar R p] {f : Polynomial R} [PerfectRing R p] : ((Polynomial.expand R (p ^ n)) f).roots = p ^ n β’ Multiset.map (β(iterateFrobeniusEquiv R p n).symm) f.roots - MonoidHom.map_frobeniusEquiv_symm π Mathlib.FieldTheory.Perfect
{R : Type u_2} {S : Type u_3} [CommSemiring R] [CommSemiring S] (p : β) [ExpChar R p] [PerfectRing R p] [ExpChar S p] [PerfectRing S p] (f : R β* S) (x : R) : f ((frobeniusEquiv R p).symm x) = (frobeniusEquiv S p).symm (f x) - polynomial_expand_eq π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (f : Polynomial R) : (Polynomial.expand R p) f = Polynomial.map (β(frobeniusEquiv R p).symm) f ^ p - Polynomial.roots_X_pow_char_pow_sub_C π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p n : β} [ExpChar R p] [PerfectRing R p] {y : R} : (Polynomial.X ^ p ^ n - Polynomial.C y).roots = p ^ n β’ {(iterateFrobeniusEquiv R p n).symm y} - MonoidHom.map_iterate_frobeniusEquiv_symm π Mathlib.FieldTheory.Perfect
{R : Type u_2} {S : Type u_3} [CommSemiring R] [CommSemiring S] (p : β) [ExpChar R p] [PerfectRing R p] [ExpChar S p] [PerfectRing S p] (f : R β* S) (n : β) (x : R) : f ((β(frobeniusEquiv R p).symm)^[n] x) = (β(frobeniusEquiv S p).symm)^[n] (f x) - iterateFrobeniusEquiv_symm_add_apply π Mathlib.FieldTheory.Perfect
(R : Type u_1) (p m n : β) [CommSemiring R] [ExpChar R p] [PerfectRing R p] (x : R) : (iterateFrobeniusEquiv R p (m + n)).symm x = (iterateFrobeniusEquiv R p m).symm ((iterateFrobeniusEquiv R p n).symm x) - Polynomial.roots_X_pow_char_sub_C_pow π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p : β} [ExpChar R p] [PerfectRing R p] {y : R} {m : β} : ((Polynomial.X ^ p - Polynomial.C y) ^ m).roots = (m * p) β’ {(frobeniusEquiv R p).symm y} - Polynomial.roots_X_pow_char_pow_sub_C_pow π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p n : β} [ExpChar R p] [PerfectRing R p] {y : R} {m : β} : ((Polynomial.X ^ p ^ n - Polynomial.C y) ^ m).roots = (m * p ^ n) β’ {(iterateFrobeniusEquiv R p n).symm y} - Polynomial.rootsExpandToRoots_apply π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] (x : β₯((Polynomial.expand R p) f).roots.toFinset) : β((Polynomial.rootsExpandToRoots p f) x) = βx ^ p - Polynomial.rootsExpandPowToRoots_apply π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p n : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] (x : β₯((Polynomial.expand R (p ^ n)) f).roots.toFinset) : β((Polynomial.rootsExpandPowToRoots p n f) x) = βx ^ p ^ n - Polynomial.rootsExpandEquivRoots_apply π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] [PerfectRing R p] (x : β₯((Polynomial.expand R p) f).roots.toFinset) : β((Polynomial.rootsExpandEquivRoots p f) x) = βx ^ p - Polynomial.rootsExpandPowEquivRoots_apply π Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : β) [ExpChar R p] (f : Polynomial R) [DecidableEq R] [PerfectRing R p] (n : β) (x : β₯((Polynomial.expand R (p ^ n)) f).roots.toFinset) : β((Polynomial.rootsExpandPowEquivRoots p f n) x) = βx ^ p ^ n - Polynomial.SplittingField.instExpChar π Mathlib.FieldTheory.SplittingField.Construction
{K : Type v} [Field K] (f : Polynomial K) (p : β) [ExpChar K p] : ExpChar f.SplittingField p - Irreducible.hasSeparableContraction π Mathlib.RingTheory.Polynomial.SeparableDegree
{F : Type u_1} [Field F] (q : β) [hF : ExpChar F q] {f : Polynomial F} (irred : Irreducible f) : Polynomial.HasSeparableContraction q f - Polynomial.IsSeparableContraction.degree_eq π Mathlib.RingTheory.Polynomial.SeparableDegree
{F : Type u_1} [Field F] (q : β) {f : Polynomial F} (hf : Polynomial.HasSeparableContraction q f) [hF : ExpChar F q] (g : Polynomial F) (hg : Polynomial.IsSeparableContraction q f g) : g.natDegree = hf.degree - Polynomial.HasSeparableContraction.natSepDegree_eq π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] {f : Polynomial F} {q : β} [ExpChar F q] (hf : Polynomial.HasSeparableContraction q f) : f.natSepDegree = hf.degree - Polynomial.IsSeparableContraction.natSepDegree_eq π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] {f g : Polynomial F} {q : β} [ExpChar F q] (h : Polynomial.IsSeparableContraction q f g) : f.natSepDegree = g.natDegree - minpoly.natSepDegree_eq_one_iff_pow_mem π Mathlib.FieldTheory.SeparableDegree
{F : Type u} {E : Type v} [Field F] [Ring E] [IsDomain E] [Algebra F E] (q : β) [hF : ExpChar F q] {x : E} : (minpoly F x).natSepDegree = 1 β β n, x ^ q ^ n β (algebraMap F E).range - minpoly.natSepDegree_eq_one_iff_eq_X_sub_C_pow π Mathlib.FieldTheory.SeparableDegree
{F : Type u} {E : Type v} [Field F] [Ring E] [IsDomain E] [Algebra F E] (q : β) [hF : ExpChar F q] {x : E} : (minpoly F x).natSepDegree = 1 β β n, Polynomial.map (algebraMap F E) (minpoly F x) = (Polynomial.X - Polynomial.C x) ^ q ^ n - Polynomial.natSepDegree_expand π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] (f : Polynomial F) (q : β) [hF : ExpChar F q] {n : β} : ((Polynomial.expand F (q ^ n)) f).natSepDegree = f.natSepDegree - Polynomial.natSepDegree_X_pow_char_pow_sub_C π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] (q : β) [ExpChar F q] (n : β) (y : F) : (Polynomial.X ^ q ^ n - Polynomial.C y).natSepDegree = 1 - minpoly.natSepDegree_eq_one_iff_eq_X_pow_sub_C π Mathlib.FieldTheory.SeparableDegree
{F : Type u} {E : Type v} [Field F] [Ring E] [IsDomain E] [Algebra F E] (q : β) [hF : ExpChar F q] {x : E} : (minpoly F x).natSepDegree = 1 β β n y, minpoly F x = Polynomial.X ^ q ^ n - Polynomial.C y - Irreducible.natSepDegree_eq_one_iff_of_monic π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] {f : Polynomial F} (q : β) [ExpChar F q] (hm : f.Monic) (hi : Irreducible f) : f.natSepDegree = 1 β β n y, f = Polynomial.X ^ q ^ n - Polynomial.C y - Polynomial.Monic.natSepDegree_eq_one_iff_of_irreducible π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] {f : Polynomial F} (q : β) [ExpChar F q] (hm : f.Monic) (hi : Irreducible f) : f.natSepDegree = 1 β β n y, f = Polynomial.X ^ q ^ n - Polynomial.C y - Polynomial.Monic.natSepDegree_eq_one_iff π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] {f : Polynomial F} (q : β) [ExpChar F q] (hm : f.Monic) : f.natSepDegree = 1 β β m n y, m β 0 β§ f = (Polynomial.X ^ q ^ n - Polynomial.C y) ^ m - Polynomial.Monic.eq_X_pow_char_pow_sub_C_of_natSepDegree_eq_one_of_irreducible π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] {f : Polynomial F} (q : β) [ExpChar F q] (hm : f.Monic) (hi : Irreducible f) (h : f.natSepDegree = 1) : β n y, (n = 0 β¨ y β (frobenius F q).range) β§ f = Polynomial.X ^ q ^ n - Polynomial.C y - Polynomial.Monic.eq_X_pow_char_pow_sub_C_pow_of_natSepDegree_eq_one π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] {f : Polynomial F} (q : β) [ExpChar F q] (hm : f.Monic) (h : f.natSepDegree = 1) : β m n y, m β 0 β§ (n = 0 β¨ y β (frobenius F q).range) β§ f = (Polynomial.X ^ q ^ n - Polynomial.C y) ^ m - minpoly.natSepDegree_eq_one_iff_eq_expand_X_sub_C π Mathlib.FieldTheory.SeparableDegree
{F : Type u} {E : Type v} [Field F] [Ring E] [IsDomain E] [Algebra F E] (q : β) [hF : ExpChar F q] {x : E} : (minpoly F x).natSepDegree = 1 β β n y, minpoly F x = (Polynomial.expand F (q ^ n)) (Polynomial.X - Polynomial.C y) - Irreducible.natSepDegree_eq_one_iff_of_monic' π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] {f : Polynomial F} (q : β) [ExpChar F q] (hm : f.Monic) (hi : Irreducible f) : f.natSepDegree = 1 β β n y, f = (Polynomial.expand F (q ^ n)) (Polynomial.X - Polynomial.C y) - Polynomial.Monic.natSepDegree_eq_one_iff_of_irreducible' π Mathlib.FieldTheory.SeparableDegree
{F : Type u} [Field F] {f : Polynomial F} (q : β) [ExpChar F q] (hm : f.Monic) (hi : Irreducible f) : f.natSepDegree = 1 β β n y, f = (Polynomial.expand F (q ^ n)) (Polynomial.X - Polynomial.C y) - Subalgebra.perfectClosure π Mathlib.FieldTheory.PurelyInseparable.Basic
(R : Type u_1) (A : Type u_2) [CommSemiring R] [CommSemiring A] [Algebra R A] (p : β) [ExpChar A p] : Subalgebra R A - finInsepDegree_eq_pow π Mathlib.FieldTheory.PurelyInseparable.Basic
(F : Type u) (E : Type v) [Field F] [Field E] [Algebra F E] (q : β) [ExpChar F q] [FiniteDimensional F E] : β n, Field.finInsepDegree F E = q ^ n - IsPurelyInseparable.pow_mem π Mathlib.FieldTheory.PurelyInseparable.Basic
(F : Type u) {E : Type v} [Field F] [Ring E] [IsDomain E] [Algebra F E] (q : β) [ExpChar F q] (x : E) [IsPurelyInseparable F E] : β n, x ^ q ^ n β (algebraMap F E).range - isPurelyInseparable_iff_pow_mem π Mathlib.FieldTheory.PurelyInseparable.Basic
(F : Type u) {E : Type v} [Field F] [Ring E] [IsDomain E] [Algebra F E] (q : β) [ExpChar F q] : IsPurelyInseparable F E β β (x : E), β n, x ^ q ^ n β (algebraMap F E).range - IsPurelyInseparable.finrank_eq_pow π Mathlib.FieldTheory.PurelyInseparable.Basic
(F : Type u) (E : Type v) [Field F] [Field E] [Algebra F E] (q : β) [ExpChar F q] [IsPurelyInseparable F E] [FiniteDimensional F E] : β n, Module.finrank F E = q ^ n - Subalgebra.mem_perfectClosure_iff π Mathlib.FieldTheory.PurelyInseparable.Basic
{R : Type u_1} {A : Type u_2} [CommSemiring R] [CommSemiring A] [Algebra R A] {p : β} [ExpChar A p] {x : A} : x β Subalgebra.perfectClosure R A p β β n, x ^ p ^ n β (algebraMap R A).rangeS - IsPurelyInseparable.minpoly_eq_X_pow_sub_C π Mathlib.FieldTheory.PurelyInseparable.Basic
(F : Type u) {E : Type v} [Field F] [Field E] [Algebra F E] (q : β) [ExpChar F q] [IsPurelyInseparable F E] (x : E) : β n y, minpoly F x = Polynomial.X ^ q ^ n - Polynomial.C y - isPurelyInseparable_iff_minpoly_eq_X_pow_sub_C π Mathlib.FieldTheory.PurelyInseparable.Basic
(F : Type u) {E : Type v} [Field F] [Field E] [Algebra F E] (q : β) [hF : ExpChar F q] : IsPurelyInseparable F E β β (x : E), β n y, minpoly F x = Polynomial.X ^ q ^ n - Polynomial.C y - IsPurelyInseparable.minpoly_eq_X_sub_C_pow π Mathlib.FieldTheory.PurelyInseparable.Basic
(F : Type u) {E : Type v} [Field F] [Field E] [Algebra F E] (q : β) [ExpChar F q] [IsPurelyInseparable F E] (x : E) : β n, Polynomial.map (algebraMap F E) (minpoly F x) = (Polynomial.X - Polynomial.C x) ^ q ^ n - isPurelyInseparable_iff_minpoly_eq_X_sub_C_pow π Mathlib.FieldTheory.PurelyInseparable.Basic
(F : Type u) {E : Type v} [Field F] [Field E] [Algebra F E] (q : β) [hF : ExpChar F q] : IsPurelyInseparable F E β β (x : E), β n, Polynomial.map (algebraMap F E) (minpoly F x) = (Polynomial.X - Polynomial.C x) ^ q ^ n - IsPurelyInseparable.exists_pow_pow_mem_range_tensorProduct_of_expChar π Mathlib.FieldTheory.PurelyInseparable.Basic
{k : Type u_1} {K : Type u_2} {R : Type u_3} [Field k] [Field K] [Algebra k K] [CommRing R] [Algebra k R] [IsPurelyInseparable k K] (q : β) [ExpChar k q] (x : TensorProduct k R K) : β n, x ^ q ^ n β (algebraMap R (TensorProduct k R K)).range - FiniteField.frobeniusAlgEquiv π Mathlib.FieldTheory.Finite.Basic
(K : Type u_1) (R : Type u_2) [Field K] [Fintype K] [CommRing R] [Algebra K R] (p : β) [ExpChar R p] [PerfectRing R p] : R ββ[K] R - FiniteField.frobeniusAlgEquiv_apply π Mathlib.FieldTheory.Finite.Basic
(K : Type u_1) (R : Type u_2) [Field K] [Fintype K] [CommRing R] [Algebra K R] (p : β) [ExpChar R p] [PerfectRing R p] (a : R) : (FiniteField.frobeniusAlgEquiv K R p) a = a ^ Fintype.card K - FiniteField.frobeniusAlgEquiv_symm_apply π Mathlib.FieldTheory.Finite.Basic
(K : Type u_1) (R : Type u_2) [Field K] [Fintype K] [CommRing R] [Algebra K R] (p : β) [ExpChar R p] [PerfectRing R p] (b : R) : (FiniteField.frobeniusAlgEquiv K R p).symm b = Function.surjInv β― b - exists_isTranscendenceBasis_and_isSeparable_of_linearIndepOn_pow_of_essFiniteType π Mathlib.FieldTheory.SeparablyGenerated
{k : Type u_1} {K : Type u_2} [Field k] [Field K] [Algebra k K] (p : β) (hp : Nat.Prime p) (H : β (s : Finset K), LinearIndepOn k id βs β LinearIndepOn k (fun x => x ^ p) βs) [ExpChar k p] [Algebra.EssFiniteType k K] : β s, IsTranscendenceBasis k Subtype.val β§ Algebra.IsSeparable (β₯(IntermediateField.adjoin k βs)) K - exists_isTranscendenceBasis_and_isSeparable_of_linearIndepOn_pow π Mathlib.FieldTheory.SeparablyGenerated
{k : Type u_1} {K : Type u_2} {ΞΉ : Type u_3} [Field k] [Field K] [Algebra k K] (p : β) (hp : Nat.Prime p) (H : β (s : Finset K), LinearIndepOn k id βs β LinearIndepOn k (fun x => x ^ p) βs) {a : ΞΉ β K} (n : ΞΉ) [ExpChar k p] (ha' : IsTranscendenceBasis k fun i => a βi) : β i, (IsTranscendenceBasis k fun j => a βj) β§ IsSeparable (β₯(IntermediateField.adjoin k (a '' {i}αΆ))) (a i) - exists_isTranscendenceBasis_and_isSeparable_of_linearIndepOn_pow' π Mathlib.FieldTheory.SeparablyGenerated
{k : Type u_1} {K : Type u_2} {ΞΉ : Type u_3} [Field k] [Field K] [Algebra k K] (p : β) (hp : Nat.Prime p) (H : β (s : Finset K), LinearIndepOn k id βs β LinearIndepOn k (fun x => x ^ p) βs) {a : ΞΉ β K} [ExpChar k p] (s : Set ΞΉ) (n : ΞΉ) (ha : IsTranscendenceBasis k fun i => a βi) (hn : n β s) : β i, (IsTranscendenceBasis k fun j => a βj) β§ IsSeparable (β₯(IntermediateField.adjoin k (a '' (insert n s \ {i})))) (a i) - exists_isTranscendenceBasis_and_isSeparable_of_linearIndepOn_pow_of_adjoin_eq_top π Mathlib.FieldTheory.SeparablyGenerated
{k : Type u_1} {K : Type u_2} {ΞΉ : Type u_3} [Field k] [Field K] [Algebra k K] (p : β) (hp : Nat.Prime p) (H : β (s : Finset K), LinearIndepOn k id βs β LinearIndepOn k (fun x => x ^ p) βs) {a : ΞΉ β K} (n : ΞΉ) [ExpChar k p] (ha : IntermediateField.adjoin k (Set.range a) = β€) (ha' : IsTranscendenceBasis k fun i => a βi) : β i, (IsTranscendenceBasis k fun j => a βj) β§ Algebra.IsSeparable (β₯(IntermediateField.adjoin k (a '' {i}αΆ))) K - RatFunc.instExpChar π Mathlib.FieldTheory.RatFunc.Basic
{K : Type u} [Field K] {p : β} [ExpChar K p] : ExpChar (RatFunc K) p - IsPerfectClosure π Mathlib.FieldTheory.IsPerfectClosure
{K : Type u_1} {L : Type u_2} [CommSemiring K] [CommSemiring L] (i : K β+* L) (p : β) [ExpChar L p] [PerfectRing L p] : Prop - PerfectRing.pNilradical_eq_bot π Mathlib.FieldTheory.IsPerfectClosure
(R : Type u_1) [CommSemiring R] (p : β) [ExpChar R p] [PerfectRing R p] : pNilradical R p = β₯ - PerfectRing.liftAux π Mathlib.FieldTheory.IsPerfectClosure
{K : Type u_1} {L : Type u_2} {M : Type u_3} [CommSemiring K] [CommSemiring L] [CommSemiring M] (i : K β+* L) (j : K β+* M) (p : β) [ExpChar M p] [PerfectRing M p] [IsPRadical i p] (x : L) : M - PerfectRing.liftAux_self π Mathlib.FieldTheory.IsPerfectClosure
{K : Type u_1} {L : Type u_2} [CommSemiring K] [CommSemiring L] (i : K β+* L) (p : β) [IsPRadical i p] [ExpChar L p] [PerfectRing L p] : PerfectRing.liftAux i i p = id
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 ce5dd8c