Structures · Algebra
DivisionSemiring
A DivisionSemiring is a Semiring with multiplicative inverses for nonzero elements.
An instance of DivisionSemiring K includes maps nnratCast : ℚ≥0 → K and nnqsmul : ℚ≥0 → K → K.
Those two fields are needed to implement the DivisionSemiring K → Algebra ℚ≥0 K instance since we
need to control the specific definitions for some special cases of K (in particular K = ℚ≥0
itself). See also note [forgetful inheritance].
If the division semiring has positive characteristic p, our division by zero convention forces
nnratCast (1 / p) = 1 / 0 = 0.
- Defined in
- Mathlib.Algebra.Field.Defs
- Shape
- One type argument · adds div_eq_mul_inv, zpow_zero', zpow_succ', zpow_neg', inv_zero, mul_inv_cancel, nnratCast_def, nnqsmul, nnqsmul_def
Extends3
Extended by2
Forgetful instances
Provided automatically by
Concrete types that are instances7
- Filter.Germ
- DirectLimit
- OrderDual
- ULift
- MulOpposite
- Lex
- AddOpposite
How is a type an instance?
Loading the hierarchy index…
Assumed by266
- add_div
- add_halves
- uniqueDiffOn_univ
- NNRat.cast_natCast
- birkhoffAverage
- tsum_mul_left
- Finset.sum_div
- Submodule.smul_mem_iff
- HasSum.div_const
- add_self_div_two
- NNRat.cast_def
- uniqueDiffWithinAt_univ
- IsOpen.uniqueDiffOn
- NNRat.castHom
- tendsto_inv_atTop_nhds_zero_nat
- Irreducible.natDegree_pos
- map_inv_natCast_smul
- Nat.cast_div
- tendsto_const_div_atTop_nhds_zero_nat
- NNRat.smul_def
- NNRat.cast_div
- IsOpen.uniqueDiffWithinAt
- Nat.cast_div_charZero
- tsum_mul_right
- Nat.cast_choose
- NNRat.cast_zero
- fderivWithin_const_smul_field
- Ideal.bot_isMaximal
- derivWithin_const_smul_field
- NNRat.cast_inv
- NNRat.cast_one
- NNRat.cast_smul_eq_nnqsmul
- Commute.div_add_div
- map_nnratCast
- add_div'
- NNRat.cast_mul
- NNRat.cast_inj
- NNRat.cast_divNat_of_ne_zero
- inv_natCast_smul_eq
- Nonneg.unitsEquivPos
- NNRat.cast_ofNat
- Polynomial.Splits.of_natDegree_le_one
- DivisionSemiring.toInv
- div_add'
- tendsto_one_div_add_atTop_nhds_zero_nat
- one_add_div
- tangentConeAt_univ
- add_div_eq_mul_add_div
- Polynomial.Splits.of_degree_eq_one
- tendsto_one_div_atTop_nhds_zero_nat
Ancestors59
- Add
- AddAction
- AddCommMagma
- AddCommMonoid
- AddCommMonoidWithOne
- AddCommSemigroup
- AddMonoid
- AddMonoidWithOne
- AddSemigroup
- AddSemigroupAction
- AddZero
- AddZeroClass
- Distrib
- Div
- DivInvMonoid
- DivInvOneMonoid
- DivisionMonoid
- Dvd
- GroupWithZero
- HAdd
- HDiv
- HMul
- HSMul
- HVAdd
- Inv
- InvOneClass
- InvolutiveInv
- Lean.Grind.AddCommMonoid
- Lean.Grind.NatModule
- Lean.Grind.Semiring
- Monoid
- MonoidWithZero
- Mul
- MulAction
- MulOne
- MulOneClass
- MulZeroClass
- MulZeroOneClass
- NNRatCast
- NPow
- NSMul
- NatCast
- NonAssocSemiring
- NonUnitalNonAssocSemiring
- NonUnitalSemiring
- Nonempty
- Nontrivial
- OfNat
- OfScientific
- One
- SMul
- Semigroup
- SemigroupAction
- SemigroupWithZero
- Semiring
- VAdd
- ZPow
- ZSMul
- Zero