In the primary line of work, we have studied the expressive power of cons-free higher-order term rewriting systems with varying restrictions, but always allowing for non-deterministic choice. This has led to a range of new insights, some of them highly surprising. The key results:
* Cons-free first-order term rewriting, limited to Kth-order systems, characterises ETIME^K. In contrast, it was known that cons-free first-order functional programs of order K characterise EXPTIME^{K-1}. Thus, this characterisation of a new series of classes not covered by earlier work was quite unexpected, and provides interesting insights on the role of an evaluation strategy in the expressive power of a language.
* Cons-free first-order term rewriting with call-by-value evaluation characterises PTIME: essentially, if no functional data is considered, then non-determinism does not add any expressiveness. This is in line with earlier results on functional programming with a non-deterministic choice operator.
* Cons-free higher-order term rewriting with call-by-value revaluation characterises ELEMENTARY, for any type order above 1. Essentially, if even minimal functional data is considered, non-determinism allows for a construction that makes the expressiveness of cons-free term rewriting shoot up dramatically. This result, which extends to functional programming with a non-deterministic choice construction, is highly surprising: previously, it was assumed that -- like in the first order -- expressiveness would not be affected by merely adding non-deterministic choice. It also provides an exciting new view on the way non-determinism and higher types fit together which are likely to transfer to other approaches in implicit complexity, especially where higher-order logics are concerned.
Beyond this, we have developed more robust proof methods for reasoning about cons-free programs and term rewriting systems, demonstrated how cons-free term rewriting can provide a new diagonalisation-based proof that EXPTIME^K always differs from EXPTIME^{K+1}, and explored the expressive power of alternative changes such as product types and explicit lambda-abstraction.
In the secondary line of work, we have built on earlier studies to define a practically relevant notion of complexity for conditional term rewriting, along with transformation-based techniques to analyse this complexity. This can be used for the analysis of advanced declarative programming languages like Maude. We have also completed the theoretical basis to use term rewriting for equivalence analysis of imperative programs. Although this work only seeks to lay a foundation for such verification, it already provides enough proving power to handle equivalence problems beyond the previous state-of-the-art. We have also made alterations to the theoretical core of the HACS compiler generator, and discussed the consequences in a meeting with a mixture of people from business (primarily IBM and TwoSigma) and academia.
All results have been disseminated through multiple talks at workshops, conferences and seminars, as well as many personal discussions with other researchers in the field. Due to the highly theoretical nature of most of the work, communication within academia has been the primary form of dissemination.