Results about divisors and factorizations #
theorem Nat.divisors_eq_image_Iic_factorization_prod_pow {n : ℕ} (hn : n ≠ 0) :
n.divisors = Finset.image (fun (x : ℕ →₀ ℕ) => x.prod fun (x1 x2 : ℕ) => x1 ^ x2) (Finset.Iic n.factorization)
theorem Nat.Iic_factorization_prod_pow_injective (n : ℕ) :
Function.Injective fun (x : ↥(Finset.Iic n.factorization)) => (↑x).prod fun (x1 x2 : ℕ) => x1 ^ x2
theorem Nat.divisors_eq_map_attach_Iic_factorization_prod_pow {n : ℕ} (hn : n ≠ 0) :
n.divisors = Finset.map { toFun := fun (x : ↥(Finset.Iic n.factorization)) => (↑x).prod fun (x1 x2 : ℕ) => x1 ^ x2, inj' := ⋯ }
(Finset.Iic n.factorization).attach
theorem Nat.properDivisors_eq_image_Iio_factorization_prod_pow {n : ℕ} :
n.properDivisors = Finset.image (fun (x : ℕ →₀ ℕ) => x.prod fun (x1 x2 : ℕ) => x1 ^ x2) (Finset.Iio n.factorization)
theorem Nat.Iio_factorization_prod_pow_injective (n : ℕ) :
Function.Injective fun (x : ↥(Finset.Iio n.factorization)) => (↑x).prod fun (x1 x2 : ℕ) => x1 ^ x2
theorem Nat.properDivisors_eq_map_attach_Iio_factorization_prod_pow {n : ℕ} :
n.properDivisors = Finset.map { toFun := fun (x : ↥(Finset.Iio n.factorization)) => (↑x).prod fun (x1 x2 : ℕ) => x1 ^ x2, inj' := ⋯ }
(Finset.Iio n.factorization).attach