(in this lecture, we will learn the basic maths that is needed for our first model of computation; this material will be examinable in the December exam)
What is most fundamental feature shared by all models of computation?
All models of computation, I would say, must have a set
This is sometimes called Abstract Reduction System.[1] Other names that may be used for the same mathematical structure include graph, dynamical system, transition system, automaton, โฆ [2]
Definition: An abstract reduction system (ARS) is a set
This doesnt look very interesting at first sight. Just a relation on a set? What can we do with this? Certainly not all binary relations are models of computation, so we will be interested in the following in properties of binary relations that are interesting for relations that can be thought of as modelling some form of one-step comptuations.
First note that the elements of
Second, there are a number of important properties that we can express about ARSs in general. We already have seen the notion of a normal form, which is defined purely in terms of
Terminology: If
The examples below are not necessarily meant to illustrate the idea of an ARS as a model of computation. Rather they serve at illustrating what is captured by the definitions as they are. While it is not too much of an exaggeration to say that all models of computations are ARSs, the notion of an ARS is too abstract to make sure that all ARSs are models of computation. We will later refine ARSs to TRSs and then to lambda-calculus to get to a narrower class of mathematical models which can be considered satisfactory answers to the question "What is computation?".
A is the set of finite lists (aka words) over
A is the set of multisets[3] over
Langton's Ant. Exercise: Can you formalise what
In the next lecture we will see that even on the abstract level of ARSs, there is a bit of interesting theory that helps to clarify what happens in the examples.
Notation: We write
When we looked at equational reasoning as in high-school algebra, we studied how equational reasoning progresses by term rewriting. This involved pattern matching in order to determine which rule (or equation) can be applied to any given term. An ARS
Transition systems and automata usually have a set of labels (the alphabet) and a relation
Intuitively, multisets are sets in which an element can appear multiple times. So while the sets