Divisibility over ℕ and ℤ #
This file collects results for the integers and natural numbers that use abstract algebra in their proofs or cases of ℕ and ℤ being examples of structures in abstract algebra.
Main statements #
Nat.factors_eq
: the multiset of elements ofNat.factors
is equal to the factors given by theUniqueFactorizationMonoid
instance- ℤ is a
NormalizationMonoid
- ℤ is a
GCDMonoid
Tags #
prime, irreducible, natural numbers, integers, normalization monoid, gcd monoid, greatest common divisor, prime factorization, prime factors, unique factorization, unique factors
ℕ
is a gcd_monoid.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
theorem
Int.eq_of_associated_of_nonneg
{a : ℤ}
{b : ℤ}
(h : Associated a b)
(ha : 0 ≤ a)
(hb : 0 ≤ b)
:
a = b
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
theorem
Int.coprime_iff_nat_coprime
{a : ℤ}
{b : ℤ}
:
IsCoprime a b ↔ Nat.Coprime (Int.natAbs a) (Int.natAbs b)
theorem
Int.natAbs_euclideanDomain_gcd
(a : ℤ)
(b : ℤ)
:
Int.natAbs (EuclideanDomain.gcd a b) = Int.gcd a b
Maps an associate class of integers consisting of -n, n
to n : ℕ
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Int.Prime.dvd_mul
{m : ℤ}
{n : ℤ}
{p : ℕ}
(hp : Nat.Prime p)
(h : ↑p ∣ m * n)
:
p ∣ Int.natAbs m ∨ p ∣ Int.natAbs n
theorem
Int.Prime.dvd_pow
{n : ℤ}
{k : ℕ}
{p : ℕ}
(hp : Nat.Prime p)
(h : ↑p ∣ n ^ k)
:
p ∣ Int.natAbs n
theorem
Nat.factors_multiset_prod_of_irreducible
{s : Multiset ℕ}
(h : ∀ (x : ℕ), x ∈ s → Irreducible x)
:
theorem
multiplicity.finite_int_iff_natAbs_finite
{a : ℤ}
{b : ℤ}
:
multiplicity.Finite a b ↔ multiplicity.Finite (Int.natAbs a) (Int.natAbs b)
theorem
multiplicity.finite_int_iff
{a : ℤ}
{b : ℤ}
:
multiplicity.Finite a b ↔ Int.natAbs a ≠ 1 ∧ b ≠ 0
Equations
- multiplicity.decidableNat x x = decidable_of_iff (x ≠ 1 ∧ 0 < x) (_ : x ≠ 1 ∧ 0 < x ↔ multiplicity.Finite x x)
Equations
- multiplicity.decidableInt x x = decidable_of_iff (Int.natAbs x ≠ 1 ∧ x ≠ 0) (_ : Int.natAbs x ≠ 1 ∧ x ≠ 0 ↔ multiplicity.Finite x x)