The Groupoids package provides functions for computation with finite
groupoids and their morphisms.
The first part is concerned with the standard constructions for
connected groupoids, and for groupoids with more than one component.
Groupoid morphisms are also implemented, and recent work includes the
implementation of automorphisms of a finite, connected groupoid: by
permutation of the objects; by automorphism of the root group; and by
choice of rays to each object. The automorphism group of such a
groupoid is also computed, together with an isomorphism of a quotient of
permutation groups.
The second part implements graphs of groups and graphs of groupoids. A
graph of groups is a directed graph with a group at each vertex and with
isomorphisms between subgroups on each arc. This construction enables
normal form computations for free products with amalgamation, and for
HNN extensions, when the vertex groups come with their own rewriting
systems.