Documentation

Mathlib.RingTheory.Bezout

Bézout rings #

A Bézout ring (Bezout ring) is a ring whose finitely generated ideals are principal. Notable examples include principal ideal rings, valuation rings, and the ring of algebraic integers.

Main results #

class IsBezout (R : Type u) [CommRing R] :

A Bézout ring is a ring whose finitely generated ideals are principal.

Instances
    noncomputable def IsBezout.gcd {R : Type u} [CommRing R] [IsBezout R] (x : R) (y : R) :
    R

    The gcd of two elements in a bezout domain.

    Equations
    Instances For
      theorem IsBezout.span_gcd {R : Type u} [CommRing R] [IsBezout R] (x : R) (y : R) :
      theorem IsBezout.gcd_dvd_left {R : Type u} [CommRing R] [IsBezout R] (x : R) (y : R) :
      theorem IsBezout.gcd_dvd_right {R : Type u} [CommRing R] [IsBezout R] (x : R) (y : R) :
      theorem IsBezout.dvd_gcd {R : Type u} [CommRing R] [IsBezout R] {x : R} {y : R} {z : R} (hx : z x) (hy : z y) :
      theorem IsBezout.gcd_eq_sum {R : Type u} [CommRing R] [IsBezout R] (x : R) (y : R) :
      a b, a * x + b * y = IsBezout.gcd x y
      noncomputable def IsBezout.toGCDDomain (R : Type u) [CommRing R] [IsBezout R] [IsDomain R] [DecidableEq R] :

      Any bezout 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
      Instances For
        theorem Function.Surjective.isBezout {R : Type u} [CommRing R] {S : Type v} [CommRing S] (f : R →+* S) (hf : Function.Surjective f) [IsBezout R] :