Throughout this paper, I have tried to conform to the standard
mathematical terminology as closely as possible without obscuring
physical intuition. Unless explicitly specified, the usage is
standard. The mathematical structure definition given here differs
from the common one of e.g. [31] in two ways:
1. It allows multiple types (corresponding to the different sets
Si), much like different data types (Boolean, integer, real,
etc.) in a programming language, because this greatly simplifies
the definition of more complex structures cropping up
in physics.
2. It defines a mathematical structure by all its relations. This
means that one only needs to specify generators, a finite set
of relations that generate all others.
20 The reader preferring to start without assuming the definition
of a function can begin with Zermelo-Fraenkel set theory
alone and define relations as subsets of product sets of the type
Si1 ×Si2 ×...×Sik . Subsets are equivalent to Boolean functions:
one says that the relation R(a1, a2, ..., an) holds (and that the
Boolean function R(a1, a2, ..., an) is true) if (a1, a2, ..., an) 2 R,
false otherwise. Non-Boolean functions are definable by interpreting
a relation R as an Sik -valued function and writing
R(a1, a2, ..., an−1) = an if for any values of the first n − 1 variables,
there is one and only one value an of the last variable such
that the relation R(a1, a2, ..., an) is true.