Lemmas about units in a MonoidWithZero or a GroupWithZero. #
We also define Ring.inverse, a globally defined function on any ring
(in fact any MonoidWithZero), which inverts units and sends non-units to zero.
An element of the unit group of a nonzero monoid with zero represented as an element of the monoid is nonzero.
Introduce a function inverse on a monoid with zero M₀, which sends x to x⁻¹ if x is
invertible and to 0 otherwise. This definition is somewhat ad hoc, but one needs a fully (rather
than partially) defined inverse function for some purposes, including for calculus.
Note that while this is in the Ring namespace for brevity, it requires the weaker assumption
MonoidWithZero M₀ instead of Ring M₀.
Equations
- Ring.inverse x = if h : IsUnit x then ↑h.unit⁻¹ else 0
Instances For
By definition, if x is invertible then inverse x = x⁻¹.
By definition, if x is not invertible then inverse x = 0.
Alias of IsUnit.ringInverse.
Alias of IsUnit.ringInverse.
Alias of isUnit_ringInverse.
Embed a non-zero element of a GroupWithZero into the unit group.
By combining this function with the operations on units,
or the /ₚ operation, it is possible to write a division
as a partial function with three arguments.
Instances For
Alias of the reverse direction of isUnit_iff_ne_zero.
A variant of eq_mul_inv_iff_mul_eq₀ that moves the nonzero hypothesis to another variable.
A variant of eq_inv_mul_iff_mul_eq₀ that moves the nonzero hypothesis to another variable.
A variant of inv_mul_eq_iff_eq_mul₀ that moves the nonzero hypothesis to another variable.
A variant of mul_inv_eq_iff_eq_mul₀ that moves the nonzero hypothesis to another variable.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
The CommGroupWithZero version of div_eq_div_iff_div_eq_div.
Constructs a GroupWithZero structure on a MonoidWithZero
consisting only of units and 0.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Constructs a CommGroupWithZero structure on a CommMonoidWithZero
consisting only of units and 0.
Equations
- One or more equations did not get rendered due to their size.