  This thesis concentrates on the development and application of rewriting and
Groebner basis methods to a range of combinatorial problems.
  Chapter Two contains the most important result, which is the application of
Knuth-Bendix procedures to Kan extensions, showing how rewriting provides a
useful method for attempting to solve a variety of combinatorial problems which
can be phrased in terms of Kan extensions.
  Chapter Three shows that the standard Knuth-Bendix algorithm is step-for-step
a special case of Buchberger's algorithm. The one-sided cases and higher
dimensions are considered.
  Chapter Four relates rewrite systems, Groebner bases and automata. Automata
which only accept irreducibles, and automata which output reduced forms are
discussed for presentations of Kan extensions. Reduction machines for rewrite
systems are identified with standard output automata and the reduction machines
devised for algebras are expressed as Petri nets.
  Chapter Five uses the completion of a group rewriting system to
algorithmically determine a contracting homotopy necessary in order to compute
the set of generators for the module of identities among relations using the
covering groupoid methods devised by Brown and Razak Salleh. Reducing the
resulting set of submodule generators is identified as a Groebner basis
problem. Algorithms are implemented in GAP3.
