Relation isomorphisms form a group #
This file contains Monoid instances for RelHom and OrderHom, where multiplication is
given by composition. Likewise there is a Group instance for RelIso. Because OrderIso
is an abbreviation for RelIso, there is no need for an additional instance.
TODO #
- Rename the
mul_def/one_deflemmas tomul_eq_comp/one_eq_id. - Use the
IsMulApplyEqCompandIsOneApplyEqSelfclasses forRelHomandRelIso.
@[implicit_reducible]
Equations
- RelHom.instMonoid = { mul := RelHom.comp, mul_assoc := ⋯, one := RelHom.id r, one_mul := ⋯, mul_one := ⋯, npow_zero := ⋯, npow_succ := ⋯ }
@[implicit_reducible]
Equations
- RelEmbedding.instMonoid = { mul := fun (f g : r ↪r r) => g.trans f, mul_assoc := ⋯, one := RelEmbedding.refl r, one_mul := ⋯, mul_one := ⋯, npow_zero := ⋯, npow_succ := ⋯ }
@[implicit_reducible]
Equations
- OrderHom.instOne = { one := OrderHom.id }
@[implicit_reducible]
Equations
- OrderHom.instMonoid = { toMul := OrderHom.instMul, mul_assoc := ⋯, toOne := OrderHom.instOne, one_mul := ⋯, mul_one := ⋯, npow := npowRecAuto, npow_zero := ⋯, npow_succ := ⋯ }