Structures · Algebra
Semifield
A Semifield is a CommSemiring with multiplicative inverses for nonzero elements.
An instance of Semifield 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 semifield 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 by1
Forgetful instances
Provided automatically by
Concrete types that are instances11
- NNReal
- Filter.Germ
- NNRat
- DirectLimit
- FractionalIdeal
- Subtype
- OrderDual
- ULift
- MulOpposite
- Lex
- AddOpposite
How is a type an instance?
Loading the hierarchy index…
Assumed by493
- half_pos
- SpectrumRestricts
- div_lt_one
- half_lt_self
- one_half_pos
- Filter.Tendsto.const_mul_atTop
- div_le_one
- Int.log
- Int.clog
- Filter.Tendsto.inv_tendsto_atTop
- tendsto_inv_atTop_zero
- one_le_div
- tendsto_pow_atTop_nhds_zero_of_lt_one
- exists_pow_lt_of_lt_one
- exists_pos_mul_lt
- cfcₙ_eq_cfc
- one_lt_div
- Filter.Tendsto.atTop_mul_const
- one_half_lt_one
- div_le_self
- SpectrumRestricts.algebraMap_image
- Unitization.quasispectrum_eq_spectrum_inr'
- NNRat.castOrderEmbedding
- SpectrumRestricts.image
- QuasispectrumRestricts.nonUnitalStarAlgHom
- SpectrumRestricts.starAlgHom
- tendsto_inv_nhdsGT_zero
- quasispectrum_eq_spectrum_union_zero
- Int.log_of_right_le_one
- Filter.tendsto_const_mul_atTop_of_pos
- Int.log_of_one_le_right
- QuasispectrumRestricts.image
- exists_nat_one_div_lt
- Filter.Tendsto.atTop_mul_pos
- cfcUnits
- Filter.Tendsto.inv_tendsto_nhdsGT_zero
- cfcₙHom_of_cfcHom
- Convexity.StdSimplex.restrict
- NNRat.cast_nonneg
- SpectrumRestricts.cfcHom_eq_restrict
- Int.neg_log_inv_eq_clog
- QuasispectrumRestricts.algebraMap_image
- half_le_self
- cfc_inv_id
- QuasispectrumRestricts.cfcₙHom_eq_restrict
- one_div_le_one_div_of_le
- SpectrumRestricts.rightInvOn
- Submodule.comap_smul
- SpectrumRestricts.starAlgHom_apply
- LinearMap.ker_smul
Ancestors71
- Add
- AddAction
- AddCommMagma
- AddCommMonoid
- AddCommMonoidWithOne
- AddCommSemigroup
- AddMonoid
- AddMonoidWithOne
- AddSemigroup
- AddSemigroupAction
- AddZero
- AddZeroClass
- CommGroupWithZero
- CommMagma
- CommMonoid
- CommMonoidWithZero
- CommSemigroup
- CommSemiring
- Distrib
- Div
- DivInvMonoid
- DivInvOneMonoid
- DivisionCommMonoid
- DivisionMonoid
- DivisionSemiring
- Dvd
- GroupWithZero
- HAdd
- HDiv
- HMul
- HSMul
- HVAdd
- Inv
- InvOneClass
- InvolutiveInv
- Lean.Grind.AddCommMonoid
- Lean.Grind.CommSemiring
- Lean.Grind.NatModule
- Lean.Grind.Semiring
- Monoid
- MonoidWithZero
- Mul
- MulAction
- MulOne
- MulOneClass
- MulZeroClass
- MulZeroOneClass
- NNRatCast
- NPow
- NSMul
- NatCast
- NonAssocCommSemiring
- NonAssocSemiring
- NonUnitalCommSemiring
- NonUnitalNonAssocCommSemiring
- NonUnitalNonAssocSemiring
- NonUnitalSemiring
- Nonempty
- Nontrivial
- OfNat
- OfScientific
- One
- SMul
- Semigroup
- SemigroupAction
- SemigroupWithZero
- Semiring
- VAdd
- ZPow
- ZSMul
- Zero