Loogle!
Result
Found 146 declarations mentioning Nat.factorization.
- Nat.factorization π Mathlib.Data.Nat.Factorization.Defs
(n : β) : β ββ β - Nat.support_factorization π Mathlib.Data.Nat.Factorization.Defs
(n : β) : n.factorization.support = n.primeFactors - Nat.factorization_inj π Mathlib.Data.Nat.Factorization.Defs
: Set.InjOn Nat.factorization {x | x β 0} - Nat.Prime.factorization π Mathlib.Data.Nat.Factorization.Defs
{p : β} (hp : Nat.Prime p) : p.factorization = funβ | p => 1 - Nat.factorization_def π Mathlib.Data.Nat.Factorization.Defs
(n : β) {p : β} (pp : Nat.Prime p) : n.factorization p = padicValNat p n - Nat.factorization_eq_zero_of_non_prime π Mathlib.Data.Nat.Factorization.Defs
(n : β) {p : β} (hp : Β¬Nat.Prime p) : n.factorization p = 0 - Nat.factorization_zero_right π Mathlib.Data.Nat.Factorization.Defs
(n : β) : n.factorization 0 = 0 - Nat.primeFactorsList_count_eq π Mathlib.Data.Nat.Factorization.Defs
{n p : β} : List.count p n.primeFactorsList = n.factorization p - Nat.Prime.factorization_pow π Mathlib.Data.Nat.Factorization.Defs
{p k : β} (hp : Nat.Prime p) : (p ^ k).factorization = funβ | p => k - Nat.factorization_eq_zero_of_not_dvd π Mathlib.Data.Nat.Factorization.Defs
{n p : β} (h : Β¬p β£ n) : n.factorization p = 0 - Nat.factorization_one π Mathlib.Data.Nat.Factorization.Defs
: Nat.factorization 1 = 0 - Nat.factorization_zero π Mathlib.Data.Nat.Factorization.Defs
: Nat.factorization 0 = 0 - Nat.factorization.eq_1 π Mathlib.Data.Nat.Factorization.Defs
(n : β) : n.factorization = { support := n.primeFactors, toFun := fun p => if Nat.Prime p then padicValNat p n else 0, mem_support_toFun := β― } - Nat.factorization_prod_pow_eq_self π Mathlib.Data.Nat.Factorization.Defs
{n : β} (hn : n β 0) : (n.factorization.prod fun x1 x2 => x1 ^ x2) = n - Nat.ordProj_dvd π Mathlib.Data.Nat.Factorization.Defs
(n p : β) : p ^ n.factorization p β£ n - Nat.ord_proj_dvd π Mathlib.Data.Nat.Factorization.Defs
(n p : β) : p ^ n.factorization p β£ n - Nat.multiplicity_eq_factorization π Mathlib.Data.Nat.Factorization.Defs
{n p : β} (pp : Nat.Prime p) (hn : n β 0) : multiplicity p n = n.factorization p - Nat.factorization_le_iff_dvd π Mathlib.Data.Nat.Factorization.Defs
{d n : β} (hd : d β 0) (hn : n β 0) : d.factorization β€ n.factorization β d β£ n - Nat.Prime.factorization_pos_of_dvd π Mathlib.Data.Nat.Factorization.Defs
{n p : β} (hp : Nat.Prime p) (hn : n β 0) (h : p β£ n) : 0 < n.factorization p - Nat.factorization_eq_zero_iff π Mathlib.Data.Nat.Factorization.Defs
(n p : β) : n.factorization p = 0 β Β¬Nat.Prime p β¨ Β¬p β£ n β¨ n = 0 - Nat.factorization_eq_zero_of_remainder π Mathlib.Data.Nat.Factorization.Defs
{p r : β} (i : β) (hr : Β¬p β£ r) : (p * i + r).factorization p = 0 - Nat.factorization_pow π Mathlib.Data.Nat.Factorization.Defs
(n k : β) : (n ^ k).factorization = k β’ n.factorization - Nat.factorization_prod π Mathlib.Data.Nat.Factorization.Defs
{Ξ± : Type u_1} {S : Finset Ξ±} {g : Ξ± β β} (hS : β x β S, g x β 0) : (S.prod g).factorization = β x β S, (g x).factorization - Nat.prod_pow_factorization_eq_self π Mathlib.Data.Nat.Factorization.Defs
{f : β ββ β} (hf : β p β f.support, Nat.Prime p) : (f.prod fun x1 x2 => x1 ^ x2).factorization = f - Nat.factorization_mul_of_coprime π Mathlib.Data.Nat.Factorization.Defs
{a b : β} (hab : a.Coprime b) : (a * b).factorization = a.factorization + b.factorization - Nat.pow_succ_factorization_not_dvd π Mathlib.Data.Nat.Factorization.Defs
{n p : β} (hn : n β 0) (hp : Nat.Prime p) : Β¬p ^ (n.factorization p + 1) β£ n - Nat.eq_of_factorization_eq π Mathlib.Data.Nat.Factorization.Defs
{a b : β} (ha : a β 0) (hb : b β 0) (h : β (p : β), a.factorization p = b.factorization p) : a = b - Nat.factorization_mul π Mathlib.Data.Nat.Factorization.Defs
{a b : β} (ha : a β 0) (hb : b β 0) : (a * b).factorization = a.factorization + b.factorization - Nat.factorization_mul_apply_of_coprime π Mathlib.Data.Nat.Factorization.Defs
{p a b : β} (hab : a.Coprime b) : (a * b).factorization p = a.factorization p + b.factorization p - Nat.factorization_eq_primeFactorsList_multiset π Mathlib.Data.Nat.Factorization.Defs
(n : β) : n.factorization = Multiset.toFinsupp βn.primeFactorsList - Nat.Prime.factorization_self π Mathlib.Data.Nat.Factorization.Basic
{p : β} (hp : Nat.Prime p) : p.factorization p = 1 - Nat.factorization_one_right π Mathlib.Data.Nat.Factorization.Basic
(n : β) : n.factorization 1 = 0 - Nat.prod_primeFactors_prod_factorization π Mathlib.Data.Nat.Factorization.Basic
{n : β} {Ξ² : Type u_1} [CommMonoid Ξ²] (f : β β Ξ²) : β p β n.primeFactors, f p = n.factorization.prod fun p x => f p - Nat.dvd_of_factorization_pos π Mathlib.Data.Nat.Factorization.Basic
{n p : β} (hn : n.factorization p β 0) : p β£ n - Nat.factorization_eq_zero_of_lt π Mathlib.Data.Nat.Factorization.Basic
{n p : β} (h : n < p) : n.factorization p = 0 - Nat.factorization_lt π Mathlib.Data.Nat.Factorization.Basic
{n : β} (p : β) (hn : n β 0) : n.factorization p < n - Nat.Prime.eq_of_factorization_pos π Mathlib.Data.Nat.Factorization.Basic
{p q : β} (hp : Nat.Prime p) (h : p.factorization q β 0) : p = q - Nat.factorization_le_factorization_mul_left π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (hb : b β 0) : a.factorization β€ (a * b).factorization - Nat.factorization_le_factorization_mul_right π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (ha : a β 0) : b.factorization β€ (a * b).factorization - Nat.ordProj_pos π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : 0 < p ^ n.factorization p - Nat.ord_proj_pos π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : 0 < p ^ n.factorization p - Nat.factorization_le_of_le_pow π Mathlib.Data.Nat.Factorization.Basic
{n p b : β} (hb : n β€ p ^ b) : n.factorization p β€ b - Nat.ordProj_of_not_prime π Mathlib.Data.Nat.Factorization.Basic
(n p : β) (hp : Β¬Nat.Prime p) : p ^ n.factorization p = 1 - Nat.ord_proj_of_not_prime π Mathlib.Data.Nat.Factorization.Basic
(n p : β) (hp : Β¬Nat.Prime p) : p ^ n.factorization p = 1 - Nat.eq_pow_of_factorization_eq_single π Mathlib.Data.Nat.Factorization.Basic
{n p k : β} (hn : n β 0) (h : n.factorization = funβ | p => k) : n = p ^ k - Nat.ordCompl_dvd π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : n / p ^ n.factorization p β£ n - Nat.ordCompl_le π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : n / p ^ n.factorization p β€ n - Nat.ordProj_le π Mathlib.Data.Nat.Factorization.Basic
{n : β} (p : β) (hn : n β 0) : p ^ n.factorization p β€ n - Nat.ord_compl_dvd π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : n / p ^ n.factorization p β£ n - Nat.ord_compl_le π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : n / p ^ n.factorization p β€ n - Nat.ord_proj_le π Mathlib.Data.Nat.Factorization.Basic
{n : β} (p : β) (hn : n β 0) : p ^ n.factorization p β€ n - Nat.Prime.dvd_iff_one_le_factorization π Mathlib.Data.Nat.Factorization.Basic
{p n : β} (pp : Nat.Prime p) (hn : n β 0) : p β£ n β 1 β€ n.factorization p - Nat.ordCompl_of_not_prime π Mathlib.Data.Nat.Factorization.Basic
(n p : β) (hp : Β¬Nat.Prime p) : n / p ^ n.factorization p = n - Nat.ord_compl_of_not_prime π Mathlib.Data.Nat.Factorization.Basic
(n p : β) (hp : Β¬Nat.Prime p) : n / p ^ n.factorization p = n - Nat.prod_factorization_eq_prod_primeFactors π Mathlib.Data.Nat.Factorization.Basic
{n : β} {Ξ² : Type u_1} [CommMonoid Ξ²] (f : β β β β Ξ²) : n.factorization.prod f = β p β n.primeFactors, f p (n.factorization p) - Nat.factorization_eq_zero_iff' π Mathlib.Data.Nat.Factorization.Basic
(n : β) : n.factorization = 0 β n = 0 β¨ n = 1 - Nat.dvd_ordProj_of_dvd π Mathlib.Data.Nat.Factorization.Basic
{n p : β} (hn : n β 0) (pp : Nat.Prime p) (h : p β£ n) : p β£ p ^ n.factorization p - Nat.dvd_ord_proj_of_dvd π Mathlib.Data.Nat.Factorization.Basic
{n p : β} (hn : n β 0) (pp : Nat.Prime p) (h : p β£ n) : p β£ p ^ n.factorization p - Nat.coprime_ordCompl π Mathlib.Data.Nat.Factorization.Basic
{n p : β} (hp : Nat.Prime p) (hn : n β 0) : p.Coprime (n / p ^ n.factorization p) - Nat.coprime_ord_compl π Mathlib.Data.Nat.Factorization.Basic
{n p : β} (hp : Nat.Prime p) (hn : n β 0) : p.Coprime (n / p ^ n.factorization p) - Nat.Prime.pow_dvd_iff_le_factorization π Mathlib.Data.Nat.Factorization.Basic
{p k n : β} (pp : Nat.Prime p) (hn : n β 0) : p ^ k β£ n β k β€ n.factorization p - Nat.not_dvd_ordCompl π Mathlib.Data.Nat.Factorization.Basic
{n p : β} (hp : Nat.Prime p) (hn : n β 0) : Β¬p β£ n / p ^ n.factorization p - Nat.not_dvd_ord_compl π Mathlib.Data.Nat.Factorization.Basic
{n p : β} (hp : Nat.Prime p) (hn : n β 0) : Β¬p β£ n / p ^ n.factorization p - Nat.dvd_ordCompl_of_dvd_not_dvd π Mathlib.Data.Nat.Factorization.Basic
{p d n : β} (hdn : d β£ n) (hpd : Β¬p β£ d) : d β£ n / p ^ n.factorization p - Nat.dvd_ord_compl_of_dvd_not_dvd π Mathlib.Data.Nat.Factorization.Basic
{p d n : β} (hdn : d β£ n) (hpd : Β¬p β£ d) : d β£ n / p ^ n.factorization p - Nat.ordCompl_pos π Mathlib.Data.Nat.Factorization.Basic
{n : β} (p : β) (hn : n β 0) : 0 < n / p ^ n.factorization p - Nat.ord_compl_pos π Mathlib.Data.Nat.Factorization.Basic
{n : β} (p : β) (hn : n β 0) : 0 < n / p ^ n.factorization p - Nat.factorization_ordCompl π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : (n / p ^ n.factorization p).factorization = Finsupp.erase p n.factorization - Nat.factorization_ord_compl π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : (n / p ^ n.factorization p).factorization = Finsupp.erase p n.factorization - Nat.factorization_gcd π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (ha_pos : a β 0) (hb_pos : b β 0) : (a.gcd b).factorization = a.factorization β b.factorization - Nat.factorization_lcm π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (ha : a β 0) (hb : b β 0) : (a.lcm b).factorization = a.factorization β b.factorization - Nat.exists_factorization_lt_of_lt π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (ha : a β 0) (hab : a < b) : β p, a.factorization p < b.factorization p - Nat.factorization_div π Mathlib.Data.Nat.Factorization.Basic
{d n : β} (h : d β£ n) : (n / d).factorization = n.factorization - d.factorization - Nat.factorization_eq_zero_iff_remainder π Mathlib.Data.Nat.Factorization.Basic
{p r : β} (i : β) (pp : Nat.Prime p) (hr0 : r β 0) : Β¬p β£ r β (p * i + r).factorization p = 0 - Nat.factorization_eq_of_coprime_left π Mathlib.Data.Nat.Factorization.Basic
{p a b : β} (hab : a.Coprime b) (hpa : p β a.primeFactorsList) : (a * b).factorization p = a.factorization p - Nat.factorization_eq_of_coprime_right π Mathlib.Data.Nat.Factorization.Basic
{p a b : β} (hab : a.Coprime b) (hpb : p β b.primeFactorsList) : (a * b).factorization p = b.factorization p - Nat.factorization_prime_le_iff_dvd π Mathlib.Data.Nat.Factorization.Basic
{d n : β} (hd : d β 0) (hn : n β 0) : (β (p : β), Nat.Prime p β d.factorization p β€ n.factorization p) β d β£ n - Nat.eq_factorization_iff π Mathlib.Data.Nat.Factorization.Basic
{n : β} {f : β ββ β} (hn : n β 0) (hf : β p β f.support, Nat.Prime p) : f = n.factorization β (f.prod fun x1 x2 => x1 ^ x2) = n - Nat.setOf_pow_dvd_eq_Icc_factorization π Mathlib.Data.Nat.Factorization.Basic
{n p : β} (pp : Nat.Prime p) (hn : n β 0) : {i | i β 0 β§ p ^ i β£ n} = Set.Icc 1 (n.factorization p) - Nat.factorization_eq_card_pow_dvd π Mathlib.Data.Nat.Factorization.Basic
(n : β) {p : β} (pp : Nat.Prime p) : n.factorization p = {i β Finset.Ico 1 n | p ^ i β£ n}.card - Nat.Prime.pow_dvd_iff_dvd_ordProj π Mathlib.Data.Nat.Factorization.Basic
{p k n : β} (pp : Nat.Prime p) (hn : n β 0) : p ^ k β£ n β p ^ k β£ p ^ n.factorization p - Nat.Prime.pow_dvd_iff_dvd_ord_proj π Mathlib.Data.Nat.Factorization.Basic
{p k n : β} (pp : Nat.Prime p) (hn : n β 0) : p ^ k β£ n β p ^ k β£ p ^ n.factorization p - Nat.dvd_iff_div_factorization_eq_tsub π Mathlib.Data.Nat.Factorization.Basic
{d n : β} (hd : d β 0) (hdn : d β€ n) : d β£ n β (n / d).factorization = n.factorization - d.factorization - Nat.Icc_factorization_eq_pow_dvd π Mathlib.Data.Nat.Factorization.Basic
(n : β) {p : β} (pp : Nat.Prime p) : Finset.Icc 1 (n.factorization p) = {i β Finset.Ico 1 n | p ^ i β£ n} - Nat.ordProj_dvd_ordProj_of_dvd π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (hb0 : b β 0) (hab : a β£ b) (p : β) : p ^ a.factorization p β£ p ^ b.factorization p - Nat.ord_proj_dvd_ord_proj_of_dvd π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (hb0 : b β 0) (hab : a β£ b) (p : β) : p ^ a.factorization p β£ p ^ b.factorization p - Nat.ordProj_mul_ordCompl_eq_self π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : p ^ n.factorization p * (n / p ^ n.factorization p) = n - Nat.ord_proj_mul_ord_compl_eq_self π Mathlib.Data.Nat.Factorization.Basic
(n p : β) : p ^ n.factorization p * (n / p ^ n.factorization p) = n - Nat.ordCompl_dvd_ordCompl_of_dvd π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (hab : a β£ b) (p : β) : a / p ^ a.factorization p β£ b / p ^ b.factorization p - Nat.ord_compl_dvd_ord_compl_of_dvd π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (hab : a β£ b) (p : β) : a / p ^ a.factorization p β£ b / p ^ b.factorization p - Nat.ordCompl_dvd_ordCompl_iff_dvd π Mathlib.Data.Nat.Factorization.Basic
(a b : β) : (β (p : β), a / p ^ a.factorization p β£ b / p ^ b.factorization p) β a β£ b - Nat.ordProj_dvd_ordProj_iff_dvd π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (ha0 : a β 0) (hb0 : b β 0) : (β (p : β), p ^ a.factorization p β£ p ^ b.factorization p) β a β£ b - Nat.ord_compl_dvd_ord_compl_iff_dvd π Mathlib.Data.Nat.Factorization.Basic
(a b : β) : (β (p : β), a / p ^ a.factorization p β£ b / p ^ b.factorization p) β a β£ b - Nat.ord_proj_dvd_ord_proj_iff_dvd π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (ha0 : a β 0) (hb0 : b β 0) : (β (p : β), p ^ a.factorization p β£ p ^ b.factorization p) β a β£ b - Nat.factorizationLCMLeft.eq_1 π Mathlib.Data.Nat.Factorization.Basic
(a b : β) : a.factorizationLCMLeft b = (a.lcm b).factorization.prod fun p n => if b.factorization p β€ a.factorization p then p ^ n else 1 - Nat.factorizationLCMRight.eq_1 π Mathlib.Data.Nat.Factorization.Basic
(a b : β) : a.factorizationLCMRight b = (a.lcm b).factorization.prod fun p n => if b.factorization p β€ a.factorization p then 1 else p ^ n - Nat.ordProj_mul π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (p : β) (ha : a β 0) (hb : b β 0) : p ^ (a * b).factorization p = p ^ a.factorization p * p ^ b.factorization p - Nat.ord_proj_mul π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (p : β) (ha : a β 0) (hb : b β 0) : p ^ (a * b).factorization p = p ^ a.factorization p * p ^ b.factorization p - Nat.ordCompl_mul π Mathlib.Data.Nat.Factorization.Basic
(a b p : β) : a * b / p ^ (a * b).factorization p = a / p ^ a.factorization p * (b / p ^ b.factorization p) - Nat.ord_compl_mul π Mathlib.Data.Nat.Factorization.Basic
(a b p : β) : a * b / p ^ (a * b).factorization p = a / p ^ a.factorization p * (b / p ^ b.factorization p) - Nat.multiplicative_factorization π Mathlib.Data.Nat.Factorization.Induction
{Ξ² : Type u_1} [CommMonoid Ξ²] (f : β β Ξ²) (h_mult : β (x y : β), x.Coprime y β f (x * y) = f x * f y) (hf : f 1 = 1) {n : β} : n β 0 β f n = n.factorization.prod fun p k => f (p ^ k) - Nat.multiplicative_factorization' π Mathlib.Data.Nat.Factorization.Induction
{n : β} {Ξ² : Type u_1} [CommMonoid Ξ²] (f : β β Ξ²) (h_mult : β (x y : β), x.Coprime y β f (x * y) = f x * f y) (hf0 : f 0 = 1) (hf1 : f 1 = 1) : f n = n.factorization.prod fun p k => f (p ^ k) - Nat.totient_eq_prod_factorization π Mathlib.Data.Nat.Totient
{n : β} (hn : n β 0) : n.totient = n.factorization.prod fun p k => p ^ (k - 1) * (p - 1) - Nat.Prime.exists_addOrderOf_eq_pow_padic_val_nat_add_exponent π Mathlib.GroupTheory.Exponent
(G : Type u) [AddMonoid G] {p : β} (hp : Nat.Prime p) : β g, addOrderOf g = p ^ (AddMonoid.exponent G).factorization p - Nat.Prime.exists_orderOf_eq_pow_factorization_exponent π Mathlib.GroupTheory.Exponent
(G : Type u) [Monoid G] {p : β} (hp : Nat.Prime p) : β g, orderOf g = p ^ (Monoid.exponent G).factorization p - Sylow.ofCard π Mathlib.GroupTheory.Sylow
{G : Type u_1} [Group G] [Finite G] {p : β} [Fact (Nat.Prime p)] (H : Subgroup G) (card_eq : Nat.card β₯H = p ^ (Nat.card G).factorization p) : Sylow p G - Sylow.card_eq_multiplicity π Mathlib.GroupTheory.Sylow
{G : Type u} [Group G] [Finite G] {p : β} [hp : Fact (Nat.Prime p)] (P : Sylow p G) : Nat.card β₯βP = p ^ (Nat.card G).factorization p - Sylow.coe_ofCard π Mathlib.GroupTheory.Sylow
{G : Type u_1} [Group G] [Finite G] {p : β} [Fact (Nat.Prime p)] (H : Subgroup G) (card_eq : Nat.card β₯H = p ^ (Nat.card G).factorization p) : β(Sylow.ofCard H card_eq) = H - Real.log_nat_eq_sum_factorization π Mathlib.Analysis.SpecialFunctions.Log.Basic
(n : β) : Real.log βn = n.factorization.sum fun p t => βt * Real.log βp - Real.logb_nat_eq_sum_factorization π Mathlib.Analysis.SpecialFunctions.Log.Base
{b : β} (n : β) : Real.logb b βn = n.factorization.sum fun p t => βt * Real.logb b βp - IsPrimePow.factorization_minFac_ne_zero π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} (hn : IsPrimePow n) : n.factorization n.minFac β 0 - isPrimePow_iff_factorization_eq_single π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} : IsPrimePow n β β p k, 0 < k β§ n.factorization = funβ | p => k - IsPrimePow.minFac_pow_factorization_eq π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} (hn : IsPrimePow n) : n.minFac ^ n.factorization n.minFac = n - isPrimePow_of_minFac_pow_factorization_eq π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} (h : n.minFac ^ n.factorization n.minFac = n) (hn : n β 1) : IsPrimePow n - isPrimePow_iff_minFac_pow_factorization_eq π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} (hn : n β 1) : IsPrimePow n β n.minFac ^ n.factorization n.minFac = n - IsPrimePow.exists_ordCompl_eq_one π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} (h : IsPrimePow n) : β p, Nat.Prime p β§ n / p ^ n.factorization p = 1 - IsPrimePow.exists_ord_compl_eq_one π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} (h : IsPrimePow n) : β p, Nat.Prime p β§ n / p ^ n.factorization p = 1 - exists_ordCompl_eq_one_iff_isPrimePow π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} (hn : n β 1) : IsPrimePow n β β p, Nat.Prime p β§ n / p ^ n.factorization p = 1 - exists_ord_compl_eq_one_iff_isPrimePow π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} (hn : n β 1) : IsPrimePow n β β p, Nat.Prime p β§ n / p ^ n.factorization p = 1 - Nat.Primes.prodNatEquiv_symm_apply π Mathlib.Data.Nat.Factorization.PrimePow
{n : β} (hn : IsPrimePow n) : Nat.Primes.prodNatEquiv.symm β¨n, hnβ© = (β¨n.minFac, β―β©, n.factorization n.minFac - 1) - Squarefree.natFactorization_le_one π Mathlib.Data.Nat.Squarefree
{n : β} (p : β) (hn : Squarefree n) : n.factorization p β€ 1 - Nat.factorization_eq_one_of_squarefree π Mathlib.Data.Nat.Squarefree
{n p : β} (hn : Squarefree n) (hp : Nat.Prime p) (hpn : p β£ n) : n.factorization p = 1 - Nat.squarefree_of_factorization_le_one π Mathlib.Data.Nat.Squarefree
{n : β} (hn : n β 0) (hn' : β (p : β), n.factorization p β€ 1) : Squarefree n - Nat.squarefree_iff_factorization_le_one π Mathlib.Data.Nat.Squarefree
{n : β} (hn : n β 0) : Squarefree n β β (p : β), n.factorization p β€ 1 - Nat.prod_primeFactors_invOn_squarefree π Mathlib.Data.Nat.Squarefree
: Set.InvOn (fun n => n.factorization.support) (fun s => β p β s, p) {s | β p β s, Nat.Prime p} {n | Squarefree n} - Nat.card_divisors π Mathlib.NumberTheory.ArithmeticFunction
{n : β} (hn : n β 0) : n.divisors.card = β x β n.primeFactors, (n.factorization x + 1) - Nat.sum_divisors π Mathlib.NumberTheory.ArithmeticFunction
{n : β} (hn : n β 0) : β d β n.divisors, d = β p β n.primeFactors, β k β Finset.range (n.factorization p + 1), p ^ k - ArithmeticFunction.IsMultiplicative.multiplicative_factorization π Mathlib.NumberTheory.ArithmeticFunction
{R : Type u_1} [CommMonoidWithZero R] (f : ArithmeticFunction R) (hf : f.IsMultiplicative) {n : β} (hn : n β 0) : f n = n.factorization.prod fun p k => f (p ^ k) - Nat.factorization_choose_le_log π Mathlib.Data.Nat.Choose.Factorization
{p n k : β} : (n.choose k).factorization p β€ Nat.log p n - Nat.factorization_factorial_eq_zero_of_lt π Mathlib.Data.Nat.Choose.Factorization
{p n : β} (h : n < p) : n.factorial.factorization p = 0 - Nat.factorization_choose_eq_zero_of_lt π Mathlib.Data.Nat.Choose.Factorization
{p n k : β} (h : n < p) : (n.choose k).factorization p = 0 - Nat.factorization_centralBinom_eq_zero_of_two_mul_lt π Mathlib.Data.Nat.Choose.Factorization
{p n : β} (h : 2 * n < p) : n.centralBinom.factorization p = 0 - Nat.le_two_mul_of_factorization_centralBinom_pos π Mathlib.Data.Nat.Choose.Factorization
{p n : β} (h_pos : 0 < n.centralBinom.factorization p) : p β€ 2 * n - Nat.pow_factorization_choose_le π Mathlib.Data.Nat.Choose.Factorization
{p n k : β} (hn : 0 < n) : p ^ (n.choose k).factorization p β€ n - Nat.factorization_choose_le_one π Mathlib.Data.Nat.Choose.Factorization
{p n k : β} (p_large : n < p ^ 2) : (n.choose k).factorization p β€ 1 - Nat.prod_pow_factorization_choose π Mathlib.Data.Nat.Choose.Factorization
(n k : β) (hkn : k β€ n) : β p β Finset.range (n + 1), p ^ (n.choose k).factorization p = n.choose k - Nat.prod_pow_factorization_centralBinom π Mathlib.Data.Nat.Choose.Factorization
(n : β) : β p β Finset.range (2 * n + 1), p ^ n.centralBinom.factorization p = n.centralBinom - Nat.factorization_centralBinom_of_two_mul_self_lt_three_mul π Mathlib.Data.Nat.Choose.Factorization
{p n : β} (n_big : 2 < n) (p_le_n : p β€ n) (big : 2 * n < 3 * p) : n.centralBinom.factorization p = 0 - Nat.factorization_choose_of_lt_three_mul π Mathlib.Data.Nat.Choose.Factorization
{p n k : β} (hp' : p β 2) (hk : p β€ k) (hk' : p β€ n - k) (hn : n < 3 * p) : (n.choose k).factorization p = 0 - Nat.factorization_ceilRoot π Mathlib.Data.Nat.Factorization.Root
(n a : β) : (n.ceilRoot a).factorization = a.factorization β/β n - Nat.factorization_floorRoot π Mathlib.Data.Nat.Factorization.Root
(n a : β) : (n.floorRoot a).factorization = a.factorization β/β n - Nat.floorRoot.eq_1 π Mathlib.Data.Nat.Factorization.Root
(n a : β) : n.floorRoot a = if n = 0 β¨ a = 0 then 0 else a.factorization.prod fun p k => p ^ (k / n) - Nat.ceilRoot.eq_1 π Mathlib.Data.Nat.Factorization.Root
(n a : β) : n.ceilRoot a = if n = 0 β¨ a = 0 then 0 else a.factorization.prod fun p k => p ^ ((k + n - 1) / n) - Nat.ceilRoot_def π Mathlib.Data.Nat.Factorization.Root
{a n : β} : n.ceilRoot a = if n = 0 β¨ a = 0 then 0 else (a.factorization β/β n).prod fun x1 x2 => x1 ^ x2 - Nat.floorRoot_def π Mathlib.Data.Nat.Factorization.Root
{a n : β} : n.floorRoot a = if n = 0 β¨ a = 0 then 0 else (a.factorization β/β n).prod fun x1 x2 => x1 ^ x2 - centralBinom_factorization_small π Mathlib.NumberTheory.Bertrand
(n : β) (n_large : 2 < n) (no_prime : Β¬β p, Nat.Prime p β§ n < p β§ p β€ 2 * n) : n.centralBinom = β p β Finset.range (2 * n / 3 + 1), p ^ n.centralBinom.factorization p
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. 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 ?a
If 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 ?b
By 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_tsum
even though the hypothesisf i < g i
is not the last.
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.
This is Loogle revision 19971e9
serving mathlib revision e0654b0