Basic lemmas about semigroups, monoids, and groups #
This file lists various basic lemmas about semigroups, monoids, and groups. Most proofs are
one-liners from the corresponding axioms. For the definitions of semigroups, monoids and groups, see
Algebra/Group/Defs.lean.
Composing two additions on the left by y then x
is equal to an addition on the left by x + y.
Composing two additions on the right by y and x
is equal to an addition on the right by y + x.
Alias of mul_eq_left.
Alias of add_eq_left.
Alias of left_eq_mul.
Alias of left_eq_add.
Alias of mul_ne_left.
Alias of add_ne_left.
Alias of left_ne_mul.
Alias of left_ne_add.
Alias of mul_eq_right.
Alias of add_eq_right.
Alias of right_eq_mul.
Alias of right_eq_add.
Alias of mul_ne_right.
Alias of add_ne_right.
Alias of right_ne_mul.
Alias of right_ne_add.
Equations
- DivisionMonoid.toDivInvOneMonoid = { toDivInvMonoid := inst✝.toDivInvMonoid, inv_one := ⋯ }
Equations
- SubtractionMonoid.toSubNegZeroMonoid = { toSubNegMonoid := inst✝.toSubNegMonoid, neg_zero := ⋯ }
Variant of mul_eq_one_iff_eq_inv with swapped equality.
Variant of mul_eq_one_iff_inv_eq with swapped equality.
Alias of the reverse direction of div_eq_one.
Alias of the reverse direction of sub_eq_zero.
To show a property of all powers of g it suffices to show it is closed under multiplication
by g and g⁻¹ on the left. For subgroups generated by more than one element, see
Subgroup.closure_induction_left.
To show a property of all multiples of g it suffices to show it is closed under
addition by g and -g on the left. For additive subgroups generated by more than one element, see
AddSubgroup.closure_induction_left.
To show a property of all powers of g it suffices to show it is closed under multiplication
by g and g⁻¹ on the right. For subgroups generated by more than one element, see
Subgroup.closure_induction_right.
To show a property of all multiples of g it suffices to show it is closed under
addition by g and -g on the right. For additive subgroups generated by more than one element,
see AddSubgroup.closure_induction_right.
If a binary function from a type equipped with a total relation r to a monoid is
anti-symmetric (i.e. satisfies f a b * f b a = 1), in order to show it is multiplicative
(i.e. satisfies f a c = f a b * f b c), we may assume r a b and r b c are satisfied.
We allow restricting to a subset specified by a predicate p.
If a binary function from a type equipped with a total
relation r to an additive monoid is anti-symmetric (i.e. satisfies f a b + f b a = 0), in
order to show it is additive (i.e. satisfies f a c = f a b + f b c), we may assume r a b and
r b c are satisfied. We allow restricting to a subset specified by a predicate p.
Instances for grind. #
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.