Groups with an adjoined zero element #
This file describes structures that are not usually studied on their own right in mathematics, namely a special sort of monoid: apart from a distinguished “zero element” they form a group, or in other words, they are groups with an adjoined zero element.
Examples are:
- division rings;
- the value monoid of a multiplicative valuation;
- in particular, the non-negative real numbers.
Main definitions #
Various lemmas about GroupWithZero and CommGroupWithZero.
To reduce import dependencies, the type-classes themselves are in
Algebra.GroupWithZero.Defs.
Implementation details #
As is usual in mathlib, we extend the inverse function to the zero element,
and require 0⁻¹ = 0.
To match one_mul_eq_id.
To match mul_one_eq_id.
In a monoid with zero, if zero equals one, then zero is the only element.
In a monoid with zero, if zero equals one, then zero is the unique element.
Somewhat arbitrarily, we define the default element to be 0.
All other elements will be provably equal to it, but not necessarily definitionally equal.
Equations
- uniqueOfZeroEqOne h = { default := 0, uniq := ⋯ }
Instances For
In a monoid with zero, zero equals one if and only if all elements of that semiring are equal.
Alias of the forward direction of subsingleton_iff_zero_eq_one.
In a monoid with zero, zero equals one if and only if all elements of that semiring are equal.
In a monoid with zero, either zero and one are nonequal, or zero is the only element.
An element is said to be nilpotent if some natural-number-power of it equals zero.
Note that we require only the bare minimum assumptions for the definition to make sense. Even
MonoidWithZero is too strong since nilpotency is important in the study of rings that are only
power-associative.
Instances For
A variant of pow_eq_zero_iff assuming M₀ is not trivial.
Alias of pow_eq_zero_iff.
Alias of pow_ne_zero_iff.
Alias of pow_ne_zero.
Alias of pow_eq_zero_iff'.
A variant of pow_eq_zero_iff assuming M₀ is not trivial.
An element of a CancelMonoidWithZero fixed by right multiplication by an element other
than one must be zero.
An element of a CancelMonoidWithZero fixed by left multiplication by an element other
than one must be zero.
Equations
- One or more equations did not get rendered due to their size.
Equations
- GroupWithZero.toCancelMonoidWithZero = { toMonoidWithZero := inst✝.toMonoidWithZero, toIsCancelMulZero := ⋯ }
Multiplying a by itself and then by its inverse results in a
(whether or not a is zero).
Multiplying a by its inverse and then by itself results in a
(whether or not a is zero).
Multiplying a⁻¹ by a twice results in a (whether or not a
is zero).
Multiplying a by itself and then dividing by itself results in a, whether or not a is
zero.
Dividing a by itself and then multiplying by itself results in a, whether or not a is
zero.
Dividing a by the result of dividing a by itself results in
a (whether or not a is zero).