Basic lemmas about semigroups, monoids, and groups #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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 associative operations of f : α → α → α
on the left
is equal to an associative operation on the left.
Composing two associative operations of f : α → α → α
on the right
is equal to an associative operation on the right.
Composing two additions on the left by y
then x
is equal to a addition on the left by x + y
.
Composing two multiplications on the left by y
then x
is equal to a multiplication on the left by x * y
.
Composing two additions on the right by y
and x
is equal to a addition on the right by y + x
.
Equations
- division_monoid.to_div_inv_one_monoid = {mul := div_inv_monoid.mul (division_monoid.to_div_inv_monoid α), mul_assoc := _, one := div_inv_monoid.one (division_monoid.to_div_inv_monoid α), one_mul := _, mul_one := _, npow := div_inv_monoid.npow (division_monoid.to_div_inv_monoid α), npow_zero' := _, npow_succ' := _, inv := div_inv_monoid.inv (division_monoid.to_div_inv_monoid α), div := div_inv_monoid.div (division_monoid.to_div_inv_monoid α), div_eq_mul_inv := _, zpow := div_inv_monoid.zpow (division_monoid.to_div_inv_monoid α), zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, inv_one := _}
Equations
- subtraction_monoid.to_sub_neg_zero_monoid = {add := sub_neg_monoid.add (subtraction_monoid.to_sub_neg_monoid α), add_assoc := _, zero := sub_neg_monoid.zero (subtraction_monoid.to_sub_neg_monoid α), zero_add := _, add_zero := _, nsmul := sub_neg_monoid.nsmul (subtraction_monoid.to_sub_neg_monoid α), nsmul_zero' := _, nsmul_succ' := _, neg := sub_neg_monoid.neg (subtraction_monoid.to_sub_neg_monoid α), sub := sub_neg_monoid.sub (subtraction_monoid.to_sub_neg_monoid α), sub_eq_add_neg := _, zsmul := sub_neg_monoid.zsmul (subtraction_monoid.to_sub_neg_monoid α), zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, neg_zero := _}
Alias of the reverse direction of div_eq_one
.
Alias of the reverse direction of sub_eq_zero
.
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
.