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
AddMonoidHom
s, 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.