In this chapter we set out some of the foundations of the mathematics described in the rest of the book. We begin by examining sets and the basic operations on them. This material will, at least in part, be familiar to many readers but if you do not feel entirely comfortable with set-theoretic notation and terminology you should work through the first section carefully. The second section discusses functions: a rigorous definition of ‘function’ is included and we present various elementary properties of functions that we will need. Relations are the topic of the third section. These include functions, but also encompass the important notions of partial order and equivalence relation.
The fourth section is a brief introduction to finite state machines.
Elementary set theory
The aim of this section is to familiarise readers with set-theoretic notation and terminology and also to point out that the set of all subsets of any given set forms a kind of algebraic structure under the usual set-theoretic operations.
A set is a collection of objects, known as its members or elements. The notation x ∈ X will be used to mean that x is an element of the set X, and x ∉ X means that x is not an element of X. We will tend to use upper case letters as names for sets and lower case letters for their elements.