Structures · Algebra
Semiring
A Semiring is a type with addition, multiplication, a 0 and a 1 where addition is
commutative and associative, multiplication is associative and left and right distributive over
addition, and 0 and 1 are additive and multiplicative identities.
- Defined in
- Mathlib.Algebra.Ring.Defs
- Shape
- One type argument · adds zero_mul, mul_zero, left_distrib, right_distrib, natCast_zero, natCast_succ
Extends4
Extended by4
Forgetful instances
Every Semiring is also a
Concrete types that are instances68
- Int
- Nat
- Real
- Rat
- Complex
- SeparationQuotient
- NNReal
- CategoryTheory.Functor.obj
- ContinuousLinearMap
- Polynomial
- Filter.Germ
- BoundedContinuousFunction
- CStarMatrix
- TensorProduct
- Unitization
- WithConv
- Matrix
- HahnSeries
- LocallyConstant
- DomMulAct
- MeasureTheory.SimpleFunc
- MonoidAlgebra
- TrivSqZeroExt
- AddMonoidAlgebra
- DirectLimit
- DirectSum
- RestrictScalars
- Zsqrtd
- DomAddAct
- SkewMonoidAlgebra
- ContMDiffMap
- LocalizedModule
- OreLocalization
- PiTensorProduct
- CategoryTheory.Limits.Cone.pt
- CategoryTheory.End
- MvPowerSeries
- ArithmeticFunction
- Module.End
- Representation.IntertwiningMap
- Language
- RingCon.Quotient
- RingQuot
- MulActionHom
- CentroidHom
- IsIdempotentElem.Corner
- FreeAlgebra
- SemiRingCat.carrier
- AddMonoid.End
- TensorAlgebra
- IncidenceAlgebra
- MonCat.carrier
- ValuativeRel.WithPreorder
- LinearAlgebra.FreeProduct
- Subtype
- Prod
- OrderDual
- Set.Elem
- ULift
- MulOpposite
- Lex
- AddOpposite
- HasQuotient.Quotient
- ContinuousMap
- Shrink
- WithTop
- WithAbs
- WithZero
How is a type an instance?
Loading the hierarchy index…
Assumed by16,718
- Ideal
- Module.finrank
- LinearMap.comp
- Polynomial.X
- Polynomial.C
- Submodule.span
- LinearEquiv.symm
- LinearEquiv.toLinearMap
- Polynomial.natDegree
- Polynomial.coeff
- Ideal.span
- LinearMap.range
- LinearMap.ker
- Polynomial.map
- Polynomial.eval
- Module.End
- ContinuousLinearMap.comp
- Rep.V
- Ideal.map
- Polynomial.degree
- LinearMap.id
- FormalMultilinearSeries
- AlgEquiv.symm
- Polynomial.aeval
- Submodule.map
- Module.Dual
- LinearIndependent
- Matrix.GeneralLinearGroup
- Convex
- Algebra.adjoin
- ContinuousLinearMap.toLinearMap
- AlgHom.comp
- Module.Basis.repr
- Polynomial.leadingCoeff
- Module.rank
- AlgHom.toRingHom
- Submodule.subtype
- Ideal.primeCompl
- Polynomial.Monic
- StrongDual
- ContinuousLinearEquiv.toContinuousLinearMap
- Ideal.comap
- Representation
- ContinuousLinearEquiv.symm
- AddMonoidAlgebra.coeff
- Odd
- RingHom.ker
- Rep.ρ
- Submodule.comap
- Polynomial.derivative
Ancestors45
- Add
- AddAction
- AddCommMagma
- AddCommMonoid
- AddCommMonoidWithOne
- AddCommSemigroup
- AddMonoid
- AddMonoidWithOne
- AddSemigroup
- AddSemigroupAction
- AddZero
- AddZeroClass
- Distrib
- Dvd
- HAdd
- HMul
- HSMul
- HVAdd
- Lean.Grind.AddCommMonoid
- Lean.Grind.NatModule
- Lean.Grind.Semiring
- Monoid
- MonoidWithZero
- Mul
- MulAction
- MulOne
- MulOneClass
- MulZeroClass
- MulZeroOneClass
- NPow
- NSMul
- NatCast
- NonAssocSemiring
- NonUnitalNonAssocSemiring
- NonUnitalSemiring
- Nonempty
- OfNat
- One
- SMul
- Semigroup
- SemigroupAction
- SemigroupWithZero
- VAdd
- ZSMul
- Zero