gdctsmall.jpg (30673 bytes)

Main Page
Introduction to Graphical Database
for Category Theory(GDCT)

GDCT was first developed during May-August 1999 at Mount Allison University by Jeremy Bradbury and Robert Rosebrugh with support from an NSERC USRA. Ian Rutherford and Robert Rosebrugh continued development during the summers of 1999-2000 and 2000-2001, again with support from NSERC USRA's. Matt Graves (2001-2003) and Jesse Tweedle (2003-6) finished off the project.

This is a Java application. It allows for the creation, editing, and storage of finitely presented categories. Categories can be opened from and saved to local (text) files or loaded from a specified server. Once a category file is in memory it can be selected for a three dimensional display of its underlying graph. This display can be manipulated and a chosen shape saved.

There are several tools available to study a category:

  • Make Confluent - applies the Knuth-Bendix algorithm
  • Equality of Composities - are paths in the underlying graph equal arrows?
  • Make Dual
  • Isomorphism - are two objects isomorphic?
  • Initial Object - is an object initial?
  • Coqualizer - is the given path a coequalizer of a pair? Does a pair have a coequalizer?
  • Epimorphism - is a given path an epimorphism?
  • Pushout - does a span have a pushout?
  • Sum - is a cospan a sum diagram?
  • Teminal Object - is an object terminal?
  • Equalizer - is the given path an equalizer of a pair? Does a pair have an equalizer?
  • Monomorphism - is a given path a monomorphism?
  • Product - is an object the product of two others?
  • Pullback - does a cospan have a pullback?
  • Create Product - create the product category of two specified categories
  • Create Sum - create the sum category of two specified categories
  • Partial Order - is a category a partial order?

The display of categories is based on the graph classes developed at Auburn University for Visualizing Graphs with Java (VGJ), a tool for graph drawing and graph layout. The original program was heavily modified for displaying categories. It can be found at

Functors between finitely presented categories can also be created and stored. Functors in memory display their domain and codomain categories, and their action is shown by an animated display. Also, Functors are now able to be viewed as diagrams.

Some of the algorithms used in GDCT were originally developed in A Database of Categories, a C program written by Ryan Gunther and Michael Fleming with supervision by Robert Rosebrugh, and Category Theory Database Tools, written by Jeremy Bradbury with supervision by Robert Rosebrugh.

Page Design by Jeremy Bradbury
Last Modified: February 20th, 2006 by Jesse Tweedle