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.