Principal ideal rings, principal ideal domains, and Bézout rings #
A principal ideal ring (PIR) is a ring in which all left ideals are principal. A principal ideal domain (PID) is an integral domain which is a principal ideal ring.
The definition of IsPrincipalIdealRing
can be found in Mathlib.RingTheory.Ideal.Span
.
Main definitions #
Note that for principal ideal domains, one should use
[IsDomain R] [IsPrincipalIdealRing R]
. There is no explicit definition of a PID.
Theorems about PID's are in the PrincipalIdealRing
namespace.
IsBezout
: the predicate saying that every finitely generated left ideal is principal.generator
: a generator of a principal ideal (or more generally submodule)to_uniqueFactorizationMonoid
: a PID is a unique factorization domain
Main results #
Ideal.IsPrime.to_maximal_ideal
: a non-zero prime ideal in a PID is maximal.EuclideanDomain.to_principal_ideal_domain
: a Euclidean domain is a PID.IsBezout.nonemptyGCDMonoid
: Every Bézout domain is a GCD domain.
generator I
, if I
is a principal submodule, is an x ∈ M
such that span R {x} = I
Equations
Instances For
A choice of gcd of two elements in a Bézout domain.
Note that the choice is usually not unique.
Equations
- IsBezout.gcd x y = Submodule.IsPrincipal.generator (Ideal.span {x, y})
Instances For
Any Bézout domain is a GCD domain. This is not an instance since GCDMonoid
contains data,
and this might not be how we would like to construct it.
Equations
- IsBezout.toGCDDomain R = gcdMonoidOfGCD (fun (x1 x2 : R) => IsBezout.gcd x1 x2) ⋯ ⋯ ⋯
Instances For
Alias of irreducible_iff_prime
.
Alias of associates_irreducible_iff_prime
.
factors a
is a multiset of irreducible elements whose product is a
, up to units
Equations
- PrincipalIdealRing.factors a = if h : a = 0 then ∅ else Classical.choose ⋯
Instances For
If a RingHom
maps all units and all factors of an element a
into a submonoid s
, then it
also maps a
into that submonoid.
A principal ideal domain has unique factorization
The surjective image of a principal ideal ring is again a principal ideal ring.
See also Irreducible.isRelPrime_iff_not_dvd
.
See also Irreducible.coprime_iff_not_dvd'
.
nonPrincipals R
is the set of all ideals of R
that are not principal ideals.
Equations
- nonPrincipals R = {I : Ideal R | ¬Submodule.IsPrincipal I}
Instances For
Any chain in the set of non-principal ideals has an upper bound which is non-principal. (Namely, the union of the chain is such an upper bound.)