Semirings and rings #
This file gives lemmas about semirings, rings and domains.
This is analogous to Algebra.Group.Basic,
the difference being that the former is about + and * separately, while
the present file is about their interaction.
For the definitions of semirings and rings see Algebra.Ring.Defs.
Left multiplication by an element of a (semi)ring is an AddMonoidHom
Equations
- AddMonoidHom.mulLeft r = { toFun := fun (x : R) => r * x, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Right multiplication by an element of a (semi)ring is an AddMonoidHom
Equations
- AddMonoidHom.mulRight r = { toFun := fun (a : R) => a * r, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Multiplication of an element of a (semi)ring is an AddMonoidHom in both arguments.
This is a more-strongly bundled version of AddMonoidHom.mulLeft and AddMonoidHom.mulRight.
Stronger versions of this exists for algebras as LinearMap.mul, NonUnitalAlgHom.mul
and Algebra.lmul.
Equations
- AddMonoidHom.mul = { toFun := AddMonoidHom.mulLeft, map_zero' := ⋯, map_add' := ⋯ }
Instances For
An AddMonoidHom preserves multiplication if pre- and post- composition with
mul are equivalent. By converting the statement into an equality of
AddMonoidHoms, this lemma allows various specialized ext lemmas about →+ to then be applied.
Equations
- MulOpposite.instHasDistribNeg = { toInvolutiveNeg := MulOpposite.instInvolutiveNeg, neg_mul := ⋯, mul_neg := ⋯ }
Vieta's formula for a quadratic equation, relating the coefficients of the polynomial with
its roots. This particular version states that if we have a root x of a monic quadratic
polynomial, then there is another root y such that x + y is negative the a_1 coefficient
and x * y is the a_0 coefficient.
In a ring, IsCancelMulZero and NoZeroDivisors are equivalent.