Structures · Algebra
EuclideanDomain
A EuclideanDomain is a non-trivial commutative ring with a division and a remainder,
satisfying b * (a / b) + a % b = a.
The definition of a Euclidean domain usually includes a valuation function R → ℕ.
This definition is slightly generalised to include a well-founded relation
r with the property that r (a % b) b, instead of a valuation.
- Defined in
- Mathlib.Algebra.EuclideanDomain.Defs
- Shape
- One type argument · adds quotient, quotient_zero, remainder, quotient_mul_add_remainder_eq, r, r_wellFounded, remainder_lt, mul_left_not_lt
Extends2
Extended by1
Forgetful instances
Concrete types that are instances3
- Int
- Polynomial
- GaussianInt
How is a type an instance?
Loading the hierarchy index…
Assumed by149
- EuclideanDomain.gcd
- EuclideanDomain.div_zero
- EuclideanDomain.r
- EuclideanDomain.divRadical
- EuclideanDomain.div_self
- EuclideanDomain.div_add_mod
- EuclideanDomain.mul_div_cancel'
- ClassGroup.finsetApprox
- EuclideanDomain.eq_div_of_mul_eq_right
- EuclideanDomain.gcd_dvd
- EuclideanDomain.mod_lt
- EuclideanDomain.mul_div_assoc
- EuclideanDomain.lcm
- EuclideanDomain.xgcdAux
- EuclideanDomain.gcd_zero_left
- EuclideanDomain.gcd_dvd_right
- EuclideanDomain.eq_div_of_mul_eq_left
- EuclideanDomain.GCD.induction
- EuclideanDomain.mod_eq_zero
- EuclideanDomain.gcd_val
- AbsoluteValue.IsAdmissible.card
- EuclideanDomain.zero_div
- EuclideanDomain.div_one
- right_div_gcd_ne_zero
- EuclideanDomain.gcdA
- EuclideanDomain.radical_mul_divRadical
- ClassGroup.normBound
- EuclideanDomain.gcdB
- ClassGroup.distinctElems
- ClassGroup.cardM
- EuclideanDomain.gcd_eq_zero_iff
- EuclideanDomain.xgcd_zero_left
- EuclideanDomain.mod_zero
- EuclideanDomain.mul_left_not_lt
- EuclideanDomain.gcd_dvd_left
- EuclideanDomain.remainder_lt
- ClassGroup.prod_finsetApprox_ne_zero
- EuclideanDomain.gcd_zero_right
- EuclideanDomain.div_dvd_of_dvd
- EuclideanDomain.quotient
- EuclideanDomain.div_eq_iff_eq_mul_of_dvd
- EuclideanDomain.gcd_eq_gcd_ab
- EuclideanDomain.dvd_mod_iff
- ClassGroup.normBound_pos
- EuclideanDomain.mod_eq_sub_mul_div
- EuclideanDomain.mod_add_div
- EuclideanDomain.remainder
- EuclideanDomain.isCoprime_of_dvd
- EuclideanDomain.divRadical_mul
- EuclideanDomain.gcd_eq_left
Ancestors100
- Add
- AddAction
- AddCancelCommMonoid
- AddCancelMonoid
- AddCommGroup
- AddCommGroupWithOne
- AddCommMagma
- AddCommMonoid
- AddCommMonoidWithOne
- AddCommSemigroup
- AddGroup
- AddGroupWithOne
- AddLeftCancelMonoid
- AddLeftCancelSemigroup
- AddMonoid
- AddMonoidWithOne
- AddRightCancelMonoid
- AddRightCancelSemigroup
- AddSemigroup
- AddSemigroupAction
- AddTorsor
- AddZero
- AddZeroClass
- Bracket
- CommMagma
- CommMonoid
- CommMonoidWithZero
- CommRing
- CommSemigroup
- CommSemiring
- Distrib
- Div
- Dvd
- HAdd
- HDiv
- HMod
- HMul
- HSMul
- HSub
- HVAdd
- Ideal.FiniteHeight
- IntCast
- InvolutiveNeg
- IsJacobsonRing
- IsLeftCancelAdd
- IsRightCancelAdd
- IsSemiprimaryRing
- Lean.Grind.AddCommGroup
- Lean.Grind.AddCommMonoid
- Lean.Grind.CommRing
- Lean.Grind.CommSemiring
- Lean.Grind.IntModule
- Lean.Grind.NatModule
- Lean.Grind.Ring
- Lean.Grind.Semiring
- Mod
- Monoid
- MonoidWithZero
- Mul
- MulAction
- MulOne
- MulOneClass
- MulZeroClass
- MulZeroOneClass
- NPow
- NSMul
- NatCast
- Neg
- NegZeroClass
- NonAssocCommRing
- NonAssocCommSemiring
- NonAssocRing
- NonAssocSemiring
- NonUnitalCommRing
- NonUnitalCommSemiring
- NonUnitalNonAssocCommRing
- NonUnitalNonAssocCommSemiring
- NonUnitalNonAssocRing
- NonUnitalNonAssocSemiring
- NonUnitalRing
- NonUnitalSemiring
- Nonempty
- Nontrivial
- OfNat
- One
- Ring
- SMul
- Semigroup
- SemigroupAction
- SemigroupWithZero
- Semiring
- Sub
- SubNegMonoid
- SubNegZeroMonoid
- SubtractionCommMonoid
- SubtractionMonoid
- VAdd
- VSub
- ZSMul
- Zero