Fer-Jan de Vries
In brief, my research interests lie in the wider area of theory and semantics of computation,
language and logic.
-
Computation:
We work on
theory and applications of term rewriting systems and lambda
calculi.
A chapter summarising
the basis of our current work has appeared in the book "Term
Rewriting Systems". It summarises joint work with Jan Willem Klop, Richard Kennaway, Ronan Sleep and Vincent van Oostrom. That now almosty 10 year old book
contains a nice general description of term rewriting:
Term rewriting systems developed out of
mathematical logic and are an important part of
theoretical computer science. They consist of
sequences of discrete transformation steps where
one term is replaced with another and have
applications in many areas, from functional
programming to automatic theorem proving and
computer algebra.
[Terese, 2003]
In particular we work with infinite rewriting systems, that explicitly
deal with infinite computations and infinite terms. We believe that
infinite computations are meaningful (eg., think of calculating the
decimal expansion of the square root of 2) and therefore should be incorporated
in the computational paradigm that one studies. Infinite rewriting gives
a semantics for lazy computation (eg. stream computation) and can be of help in the study of reactive systems.
Extending a finite rewrite system into an infinite rewrite system so
that a property like confluence is preserved is a non-trivial
process. In our approach we first identify a set U of what we call
meaningless terms that may be identified to a newly added symbol
bottom. One may think of meaningless terms as terms that are unfinished, in the sense that any part of them can still be rewritten
and no part can already be printed in an attempt to output at least
partial information of the final outcome.
Interestingly, it turns out that there are many different choices for
such a set U of meaningless terms, as long as they satisfy a number of sufficient conditions. In the particular case of lambda
calculus we can now construct a great variety of different complete infinite
extensions of finite lambda calculus. Each of them gives rise to a model of
the lambda calculus. Most of these models are new and properties of
these models can be rather
surprising in comparison to the classic models.
The original set of proposed conditions that such sets U had to satisfy were only sufficient for producing complete infinite bottom extensions of finite lambda calculus. That was OK at the time, as the conditions covered the handful of models that were orginally known. Those other new models, however, beg the question for a sufficent and complete set of conditions.
-
Recently (RTA2011) we have succeeded to give for the untyped lambda
calculus a necessary and sufficient set of axioms, by weakening the
axiom of overlap. As a result we obtain a complete lattice of
meaningless sets, and a corresponding lattice of models for the lambda
calculus.
- This lattice is not-distributive (WOLLIC11). The counterexample
can be translated into a counterexample of distributivity in the well-studied lattice of lambda theories. In contrast to the counterexample of Salibra, which lives at the top, our counterexample lives in the bottom of that lattice.
-
A similar necessary and sufficient conditions for term rewriting systems is still work in progress.
In the RTA2012 paper we looked at the classic system of Combinatory Logic (CL). This is like lambda calculus an early and still relevant prototype programming language. Just applying the known theory to this special case leads to new information for CL.
Eg we find that there are uncountably many different meaningless sets, with a lattice structure not unsimilar but more complex than that of lambda calculus. Each of these sets gives each rise to a model of CL, which is a combinatory algebra. Surprisingly, not a handful but uncountable many of them are not an lambda algebra. We also show that the unsolvables are the largest meaningless set that gives rise to a consistent model of CL.
Though we are able to weaken the axioms somewhat, this paper falls short of giving a necessary and sufficient set of conditions. The reason is that for TRSs the notions of hypercollapsing and rootactive term is not equivalent. With a counterexample we show that rootactiveness is now not a necessary condition for normalisation, as it was in the case of lambda calculus. The precise necessary condition in case of CL and TRSs in general is work of ongoing research.
-
When extending a rewrite system with infinite computation and terms, one finds that some of the new terms can be bad behaved in the sense of not being productive (think of ongoing computation without ongoing printing of output.) Typing can can be helpful to select well-behaved terms. We apply typing with this aim to infinite rewriting.
In our recent ICP2012 paper we use ideas from infinite rewriting and pure type systems to generalise Krishnaswami and Benton's domain specific language (LICS2011) for writing reactive programs. Theirs is a simply typed lambda calculus extended with corecursion on streams and a type
constructor for delays. We extend it to pure type systems (eg. COQ can be formulated as one) with an explicit fixed point operator. We show that terms typable in this system are strongly normalising, possibly to infinite normal forms.
- Gabbay and Pitts proved that lambda-terms up to alpha-equivalence constitute an initial algebra for a certain endofunctor on
the category of nominal sets. We show in a CMCS2012 paper that the terms of the infinitary
lambda-calculus form the final coalgebra for the same functor. This allows us to give a corecursion principle for alpha-equivalence classes of
finite and infinite terms. As an application, we give corecursive definitions of substitution and of infinite normal forms (Bohm, Levy-Longo
and Berarducci trees).
Language: In the past, with Jan van Eijck we have worked on two topics in the border area of
logic and computational linguistics: dynamic semantics and update logic.
Logic: When I was a student in the Logic Group of
Dirk van Dalen at the University of Utrecht I worked on
constructive mathematics and toposes. A neat generalised higher order Godel/Friedman
translation of intuitionistic type theory into
classical type theory was one of the outcomes.
|
|