File: Mathlib/Data/Nat/PrimeFin.lean

full_name: Nat.infinite_setOf_prime
code: /-- A version of `Nat.exists_infinite_primes` using the `Set.Infinite` predicate. -/
theorem infinite_setOf_prime : { p | Prime p }.Infinite 
goal: {p | Nat.Prime p}.Infinite

full_name: Nat.Primes.infinite
code: instance Primes.infinite : Infinite Primes 
goal: Infinite Nat.Primes

full_name: Nat.Primes.countable
code: instance Primes.countable : Countable Primes 
goal: Countable Nat.Primes

full_name: Nat.primeFactors
code: /-- The prime factors of a natural number as a finset. -/
def primeFactors (n : ℕ) : Finset ℕ 
goal: Finset ℕ

full_name: Nat.toFinset_factors
code: @[simp] lemma toFinset_factors (n : ℕ) : n.primeFactorsList.toFinset = n.primeFactors 
goal: n.primeFactorsList.toFinset = n.primeFactors

full_name: Nat.mem_primeFactors
code: @[simp] lemma mem_primeFactors : p ∈ n.primeFactors ↔ p.Prime ∧ p ∣ n ∧ n ≠ 0 
goal: p ∈ n.primeFactors ↔ Nat.Prime p ∧ p ∣ n ∧ n ≠ 0

full_name: Nat.mem_primeFactors_of_ne_zero
code: lemma mem_primeFactors_of_ne_zero (hn : n ≠ 0) : p ∈ n.primeFactors ↔ p.Prime ∧ p ∣ n 
goal: p ∈ n.primeFactors ↔ Nat.Prime p ∧ p ∣ n

full_name: Nat.primeFactors_mono
code: lemma primeFactors_mono (hmn : m ∣ n) (hn : n ≠ 0) : primeFactors m ⊆ primeFactors n 
goal: m.primeFactors ⊆ n.primeFactors

full_name: Nat.mem_primeFactors_iff_mem_primeFactorsList
code: lemma mem_primeFactors_iff_mem_primeFactorsList : p ∈ n.primeFactors ↔ p ∈ n.primeFactorsList 
goal: p ∈ n.primeFactors ↔ p ∈ n.primeFactorsList

full_name: Nat.prime_of_mem_primeFactors
code: lemma prime_of_mem_primeFactors (hp : p ∈ n.primeFactors) : p.Prime 
goal: Nat.Prime p

full_name: Nat.dvd_of_mem_primeFactors
code: lemma dvd_of_mem_primeFactors (hp : p ∈ n.primeFactors) : p ∣ n 
goal: p ∣ n

full_name: Nat.pos_of_mem_primeFactors
code: lemma pos_of_mem_primeFactors (hp : p ∈ n.primeFactors) : 0 < p 
goal: 0 < p

full_name: Nat.le_of_mem_primeFactors
code: lemma le_of_mem_primeFactors (h : p ∈ n.primeFactors) : p ≤ n 
goal: p ≤ n

full_name: Nat.primeFactors_zero
code: @[simp] lemma primeFactors_zero : primeFactors 0 = ∅ 
goal: Nat.primeFactors 0 = ∅

full_name: Nat.primeFactors_one
code: @[simp] lemma primeFactors_one : primeFactors 1 = ∅ 
goal: Nat.primeFactors 1 = ∅

full_name: Nat.primeFactors_eq_empty
code: @[simp] lemma primeFactors_eq_empty : n.primeFactors = ∅ ↔ n = 0 ∨ n = 1 
goal: n.primeFactors = ∅ ↔ n = 0 ∨ n = 1

full_name: Nat.nonempty_primeFactors
code: @[simp]
lemma nonempty_primeFactors {n : ℕ} : n.primeFactors.Nonempty ↔ 1 < n 
goal: n.primeFactors.Nonempty ↔ 1 < n

full_name: Nat.Prime.primeFactors
code: @[simp] protected lemma Prime.primeFactors (hp : p.Prime) : p.primeFactors = {p} 
goal: p.primeFactors = {p}

full_name: Nat.primeFactors_mul
code: lemma primeFactors_mul (ha : a ≠ 0) (hb : b ≠ 0) :
    (a * b).primeFactors = a.primeFactors ∪ b.primeFactors 
goal: (a * b).primeFactors = a.primeFactors ∪ b.primeFactors

full_name: Nat.Coprime.primeFactors_mul
code: lemma Coprime.primeFactors_mul {a b : ℕ} (hab : Coprime a b) :
    (a * b).primeFactors = a.primeFactors ∪ b.primeFactors 
goal: (a * b).primeFactors = a.primeFactors ∪ b.primeFactors

full_name: Nat.primeFactors_gcd
code: lemma primeFactors_gcd (ha : a ≠ 0) (hb : b ≠ 0) :
    (a.gcd b).primeFactors = a.primeFactors ∩ b.primeFactors 
goal: (a.gcd b).primeFactors = a.primeFactors ∩ b.primeFactors

full_name: Nat.disjoint_primeFactors
code: @[simp] lemma disjoint_primeFactors (ha : a ≠ 0) (hb : b ≠ 0) :
    Disjoint a.primeFactors b.primeFactors ↔ Coprime a b 
goal: Disjoint a.primeFactors b.primeFactors ↔ a.Coprime b

full_name: Nat.Coprime.disjoint_primeFactors
code: protected lemma Coprime.disjoint_primeFactors (hab : Coprime a b) :
    Disjoint a.primeFactors b.primeFactors 
goal: Disjoint a.primeFactors b.primeFactors

full_name: Nat.primeFactors_pow_succ
code: lemma primeFactors_pow_succ (n k : ℕ) : (n ^ (k + 1)).primeFactors = n.primeFactors 
goal: (n ^ (k + 1)).primeFactors = n.primeFactors

full_name: Nat.primeFactors_pow
code: lemma primeFactors_pow (n : ℕ) (hk : k ≠ 0) : (n ^ k).primeFactors = n.primeFactors 
goal: (n ^ k).primeFactors = n.primeFactors

full_name: Nat.primeFactors_prime_pow
code: /-- The only prime divisor of positive prime power `p^k` is `p` itself -/
lemma primeFactors_prime_pow (hk : k ≠ 0) (hp : Prime p) :
    (p ^ k).primeFactors = {p} 
goal: (p ^ k).primeFactors = {p}