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
.
Equations
- (_ : Std.Associative fun (x x_1 : α) => x + x_1) = (_ : Std.Associative fun (x x_1 : α) => x + x_1)
Equations
- (_ : Std.Associative fun (x x_1 : α) => x * x_1) = (_ : Std.Associative fun (x x_1 : α) => x * x_1)
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
.
Equations
- (_ : Std.Commutative fun (x x_1 : G) => x + x_1) = (_ : Std.Commutative fun (x x_1 : G) => x + x_1)
Equations
- (_ : Std.Commutative fun (x x_1 : G) => x * x_1) = (_ : Std.Commutative fun (x x_1 : G) => x * x_1)
Equations
- SubtractionMonoid.toSubNegZeroMonoid = let src := SubtractionMonoid.toSubNegMonoid; SubNegZeroMonoid.mk (_ : -0 = 0)
Equations
- DivisionMonoid.toDivInvOneMonoid = let src := DivisionMonoid.toDivInvMonoid; DivInvOneMonoid.mk (_ : 1⁻¹ = 1)
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 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
.
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
.