Skip to content

TimLavers/semigroups_kotlin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semigroups in Kotlin

A Kotlin implementation of finite Semigroups in the Kotlin programming language.

The main abstraction is Semigroup<T>, which consists of a set of elements of type T and an associative map of the elements of the set.

Abstractions

The main abstract functions are:

  • generation of a semigroup from a set of elements and a composition function,
  • calculations of Green's relations on a semigroup,
  • direct, semi-direct and bilateral semi-direct (or double, or Zappa) products of two semigroups.

Concrete Semigroups

There are utility functions for generating:

  • left- and right-zero semigroups,
  • the full transformation monoid on a set {1, ..., n},
  • the monoid of order-preserving transformations on {1, ..., n},
  • cyclig groups,
  • symmetric groups.

Releases

No releases published

Packages

No packages published

Languages