Documentation

Mathlib.Data.Nat.Factorization.PrimePow

Prime powers and factorizations #

This file deals with factorizations of prime powers.

theorem isPrimePow_iff_factorization_eq_single {n : } :
IsPrimePow n ∃ (p : ) (k : ), 0 < k n.factorization = fun₀ | p => k
theorem IsPrimePow.exists_ordCompl_eq_one {n : } (h : IsPrimePow n) :
∃ (p : ), Nat.Prime p n / p ^ n.factorization p = 1
theorem exists_ordCompl_eq_one_iff_isPrimePow {n : } (hn : n 1) :
IsPrimePow n ∃ (p : ), Nat.Prime p n / p ^ n.factorization p = 1
theorem isPrimePow_iff_unique_prime_dvd {n : } :
IsPrimePow n ∃! p : , Nat.Prime p p n

An equivalent definition for prime powers: n is a prime power iff there is a unique prime dividing it.

theorem isPrimePow_pow_iff {n k : } (hk : k 0) :
IsPrimePow (n ^ k) IsPrimePow n
theorem Nat.Coprime.isPrimePow_dvd_mul {n a b : } (hab : a.Coprime b) (hn : IsPrimePow n) :
n a * b n a n b
theorem Nat.mul_divisors_filter_prime_pow {a b : } (hab : a.Coprime b) :
{d(a * b).divisors | IsPrimePow d} = {da.divisors b.divisors | IsPrimePow d}
def Nat.Primes.prodNatEquiv :
Primes × { n : // IsPrimePow n }

The canonical equivalence between pairs (p, k) with p a prime and k : ℕ and the set of prime powers given by (p, k) ↦ p^(k+1).

Instances For
    @[simp]
    theorem Nat.Primes.prodNatEquiv_apply (p : Primes) (k : ) :
    prodNatEquiv (p, k) = p ^ (k + 1),
    @[simp]
    theorem Nat.Primes.coe_prodNatEquiv_apply (p : Primes) (k : ) :
    (prodNatEquiv (p, k)) = p ^ (k + 1)
    @[simp]
    theorem Nat.Primes.prodNatEquiv_symm_apply {n : } (hn : IsPrimePow n) :
    prodNatEquiv.symm n, hn = (n.minFac, , n.factorization n.minFac - 1)
    theorem Nat.exponent_eq_exponent_mul_factorization_of_prime_pow_eq_base_pow {p a m n : } (hp : Prime p) (h : p ^ m = a ^ n) :
    m = n * a.factorization p
    theorem Nat.exponent_dvd_of_prime_pow_eq_pow {p a m n : } (hp : Prime p) (h : p ^ m = a ^ n) :
    n m
    theorem Nat.exists_base_eq_prime_pow_of_prime_pow_eq_base_pow {p a m n : } (hp : Prime p) (hn : n 0) (h : p ^ m = a ^ n) :
    ∃ (k : ), a = p ^ k