Finite semigroups

sage.categories.finite_semigroups.FiniteSemigroups

The category of finite (multiplicative) semigroups.

A finite semigroup is a finite set endowed with an associative binary operation \(*\).

Warning

Finite semigroups in Sage used to be automatically endowed with an enumerated set structure; the default enumeration is then obtained by iteratively multiplying the semigroup generators. This forced any finite semigroup to either implement an enumeration, or provide semigroup generators; this was often inconvenient.

Instead, finite semigroups that provide a distinguished finite set of generators with semigroup_generators() should now explicitly declare themselves in the category of finitely generated semigroups:

sage: Semigroups().FinitelyGenerated()
Category of finitely generated semigroups

This is a backward incompatible change.

EXAMPLES:

sage: C = FiniteSemigroups(); C
Category of finite semigroups
sage: C.super_categories()
[Category of semigroups, Category of finite sets]
sage: sorted(C.axioms())
['Associative', 'Finite']
sage: C.example()
An example of a finite semigroup: the left regular band generated by ('a', 'b', 'c', 'd')