Plans on enumerating groupoids.
More...
Go to the source code of this file.
Detailed Description
Plans on enumerating groupoids.
 Todo:
 Connections
 Todo:
 Complete the implementation

Write simple tests. DONE

Move to dedicated module. DONE

Complete the implementation according to "XXX".

Write little helper functions for working with all_isotopismisomorphism_classes_actively_grd.
 Todo:
 All isomorphism types of small groupoids

We need representatives: Perhaps best the lexicographically smallest elements (using rowwise order).

For the basic properties we need counts and representatives.

We consider all combinations of the following basic properties:

commutativity

having a unit

being idempotent

having a null

having nontrivial automorphism group (this is not so common, but it can be read off trivially given a complete partitioning into isomorphism classes).

In module semigroups then these properties are explored for associative semigroups.

While in module Quasigroups these properties are explored for groupoids which are uniquely solvable (then having a null is being dropped).

And in module SemiLattices the basic condition is commutativity, idempotence and associativity together.

Isotopism is considered only for general groupoids and for general quasigroups (since from the above properties only unique solvability is an invariant under isotopism (but we should give examples for that)).

We need to study the literature, what is known about these numbers.

Currently we have hardcoded the four main properties and their combinations, since for them the total number of groupoids is easily computable.

For more properties we need a more general approach, perhaps using identifying strings for the properties, and a kind of database function.

We need also to build up catalogues.
Definition in file Enumeration.hpp.