Prime elements #
In this file we define the predicate Prime p
saying that an element of a commutative monoid with zero is prime.
Namely, Prime p
means that p
isn't zero, it isn't a unit,
and p ∣ a * b → p ∣ a ∨ p ∣ b
for all a
, b
;
In decomposition monoids (e.g., ℕ
, ℤ
), this predicate is equivalent to Irreducible
(see irreducible_iff_prime
), however this is not true in general.
Main definitions #
Prime
: a prime element of a commutative monoid with zero
Main results #
irreducible_iff_prime
: the two definitions are equivalent in a decomposition monoid.
An element p
of a commutative monoid with zero (e.g., a ring) is called prime,
if it's not zero, not a unit, and p ∣ a * b → p ∣ a ∨ p ∣ b
for all a
, b
.
Instances For
theorem
Prime.dvd_or_dvd
{M : Type u_1}
[CommMonoidWithZero M]
{p : M}
(hp : Prime p)
{a b : M}
(h : p ∣ a * b)
:
theorem
Prime.dvd_of_dvd_pow
{M : Type u_1}
[CommMonoidWithZero M]
{p : M}
(hp : Prime p)
{a : M}
{n : ℕ}
(h : p ∣ a ^ n)
:
theorem
Irreducible.dvd_symm
{M : Type u_1}
[Monoid M]
{p q : M}
(hp : Irreducible p)
(hq : Irreducible q)
:
If p
and q
are irreducible, then p ∣ q
implies q ∣ p
.
theorem
Irreducible.dvd_comm
{M : Type u_1}
[Monoid M]
{p q : M}
(hp : Irreducible p)
(hq : Irreducible q)
:
theorem
Irreducible.prime_of_isPrimal
{M : Type u_1}
[CommMonoidWithZero M]
{a : M}
(irr : Irreducible a)
(primal : IsPrimal a)
:
Prime a
theorem
Irreducible.prime
{M : Type u_1}
[CommMonoidWithZero M]
[DecompositionMonoid M]
{a : M}
(irr : Irreducible a)
:
Prime a
theorem
irreducible_iff_prime
{M : Type u_1}
[CancelCommMonoidWithZero M]
[DecompositionMonoid M]
{a : M}
: