Structures · Algebra
DivisionRing
A DivisionRing is a Ring with multiplicative inverses for nonzero elements.
An instance of DivisionRing K includes maps ratCast : ℚ → K and qsmul : ℚ → K → K.
Those two fields are needed to implement the DivisionRing K → Algebra ℚ K instance since we need
to control the specific definitions for some special cases of K (in particular K = ℚ itself).
See also note [forgetful inheritance]. Similarly, there are maps nnratCast ℚ≥0 → K and
nnqsmul : ℚ≥0 → K → K to implement the DivisionSemiring K → Algebra ℚ≥0 K instance.
If the division ring has positive characteristic p, our division by zero convention forces
ratCast (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', mul_inv_cancel, inv_zero, nnratCast_def, nnqsmul, nnqsmul_def, ratCast_def, qsmul, qsmul_def
Extends5
Extended by2
Forgetful instances
Every DivisionRing is also a
Concrete types that are instances18
- Real
- Rat
- Filter.Germ
- Quaternion
- WithVal
- DirectLimit
- CauSeq.Completion.Cauchy
- PerfectClosure
- OreLocalization
- CategoryTheory.End
- Module.End
- Subtype
- OrderDual
- ULift
- MulOpposite
- Lex
- AddOpposite
- Shrink
How is a type an instance?
Loading the hierarchy index…
Assumed by1,306
- FiniteDimensional
- Projectivization
- Collinear
- Rat.cast_intCast
- Rat.cast_natCast
- Subspace
- GenContFract.of
- Rat.cast_one
- Finset.centroid
- RingHom.fieldRange
- Affine.Simplex.faceOppositeCentroid
- Affine.Simplex.centroid
- HahnEmbedding.Partial
- Subfield.closure
- Rat.cast_div
- GenContFract.IntFractPair.stream
- sub_div
- Rat.castHom
- Module.Basis.ofVectorSpace
- Subfield.map
- Module.Basis.ofVectorSpaceIndex
- Rat.cast_zero
- Subfield.comap
- LinearIndepOn.extend
- Finset.centroidWeights
- eq_ratCast
- Rat.cast_neg
- Subfield.toSubring
- GenContFract.convs
- GenContFract.IntFractPair.of
- Rat.cast_inv
- Module.Basis.finiteDimensional_of_finite
- HahnEmbedding.ArchimedeanStrata.stratum
- GenContFract.contsAux
- Rat.cast_def
- GenContFract.dens
- Rat.cast_ofNat
- AlgEquiv.ofInjectiveField
- Polynomial.monic_mul_leadingCoeff_inv
- Rat.cast_mul
- Rat.cast_add
- GenContFract.conts
- finrank_span_singleton
- Subfield.subtype
- Projectivization.Subspace.span
- Submodule.eq_top_of_finrank_eq
- Subfield.subset_closure
- Coplanar
- Projectivization.ind
- LinearMap.finrank_range_add_finrank_ker
Ancestors94
- Add
- AddAction
- AddCancelCommMonoid
- AddCancelMonoid
- AddCommGroup
- AddCommGroupWithOne
- AddCommMagma
- AddCommMonoid
- AddCommMonoidWithOne
- AddCommSemigroup
- AddGroup
- AddGroupWithOne
- AddLeftCancelMonoid
- AddLeftCancelSemigroup
- AddMonoid
- AddMonoidWithOne
- AddRightCancelMonoid
- AddRightCancelSemigroup
- AddSemigroup
- AddSemigroupAction
- AddTorsor
- AddZero
- AddZeroClass
- Bracket
- Distrib
- Div
- DivInvMonoid
- DivInvOneMonoid
- DivisionMonoid
- DivisionSemiring
- Dvd
- GroupWithZero
- HAdd
- HDiv
- HMul
- HSMul
- HSub
- HVAdd
- IntCast
- Inv
- InvOneClass
- InvolutiveInv
- InvolutiveNeg
- IsLeftCancelAdd
- IsRightCancelAdd
- IsSemiprimaryRing
- Lean.Grind.AddCommGroup
- Lean.Grind.AddCommMonoid
- Lean.Grind.IntModule
- Lean.Grind.NatModule
- Lean.Grind.Ring
- Lean.Grind.Semiring
- Monoid
- MonoidWithZero
- Mul
- MulAction
- MulOne
- MulOneClass
- MulZeroClass
- MulZeroOneClass
- NNRatCast
- NPow
- NSMul
- NatCast
- Neg
- NegZeroClass
- NonAssocRing
- NonAssocSemiring
- NonUnitalNonAssocRing
- NonUnitalNonAssocSemiring
- NonUnitalRing
- NonUnitalSemiring
- Nonempty
- Nontrivial
- OfNat
- OfScientific
- One
- RatCast
- Ring
- SMul
- Semigroup
- SemigroupAction
- SemigroupWithZero
- Semiring
- Sub
- SubNegMonoid
- SubNegZeroMonoid
- SubtractionCommMonoid
- SubtractionMonoid
- VAdd
- VSub
- ZPow
- ZSMul
- Zero