Documentation

LeanPool.KrohnRhodes.Foundations.Division

Semigroup division: transitivity and embeddings #

Transitivity and embeddings #

theorem LeanPool.KrohnRhodes.sgDiv_trans {S T U : Type u} [Mul S] [Mul T] [Mul U] (hST : SgDiv S T) (hTU : SgDiv T U) :
SgDiv S U

SgDiv is transitive.

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.

Equations
theorem LeanPool.KrohnRhodes.sgDiv_of_injective_hom {S T W : Type u} [Mul S] [Mul T] [Mul W] (h : SgDiv S T) (ι : T →ₙ* W) (hι : Function.Injective ⇑ι) :
SgDiv S W

If S divides T and there is an injective semigroup homomorphism ι : T →ₙ* W, then S divides W.