Semigroup division: transitivity and embeddings #
sgDiv_trans— semigroup division is transitive;sgDiv_of_injective_monoidHom— an injective monoid homomorphismA →* Tshows thatAdividesT;instMulActionPUnit— the trivial monoid acting on the one-point type;sgDiv_of_injective_hom— ifSdividesTandTembeds intoWby an injective semigroup homomorphism, thenSdividesW.
Transitivity and embeddings #
theorem
LeanPool.KrohnRhodes.sgDiv_of_injective_monoidHom
{A T : Type u}
[Monoid A]
[Monoid T]
(f : A →* T)
(hf : Function.Injective ⇑f)
:
SgDiv A T
An injective monoid homomorphism f : A →* T exhibits A as a
division of T: the subsemigroup MonoidHom.mrange f together with the
inverse (via Function.invFun) is a surjective →ₙ* onto A.
Semigroup division along injective homomorphisms #
@[instance_reducible]
A trivial one-element monoid acts on a trivial one-element type.