Irreducible elements in a monoid #
This file defines irreducible elements of a monoid (Irreducible
), as non-units that can't be
written as the product of two non-units. This generalises irreducible elements of a ring.
We also define the additive variant (AddIrreducible
).
In decomposition monoids (e.g., ℕ
, ℤ
), this predicate is equivalent to Prime
(see irreducible_iff_prime
), however this is not true in general.
AddIrreducible p
states that p
is not an additive unit and cannot be written as a sum of
additive non-units.
An irreducible element is not an additive unit.
If an irreducible element can be written as a sum, then one term is an additive unit.
Instances For
Irreducible p
states that p
is non-unit and only factors into units.
We explicitly avoid stating that p
is non-zero, this would require a semiring. Assuming only a
monoid allows us to reuse irreducible for associated elements.
An irreducible element is not a unit.
If an irreducible element factors, then one factor is a unit.
Instances For
Alias of Irreducible.not_isUnit
.
An irreducible element is not a unit.
Alias of Irreducible.isUnit_or_isUnit
.
If an irreducible element factors, then one factor is a unit.