A Maths_function is a Mapping that is between two instances of Maths_space (domain and range) and that indicates each Maths_value within the domain has a relationship with exactly one Maths_value within the range.
A Maths_function is also a Maths_value because it may be a member of a set of instances of Maths_function.
NOTE - For efficiency Maths_value is a TYPE rather than and ENTITY in the EXPRESS. Hence Maths_function is referenced by Maths_value rather than a SUBTYPE of Maths_value.
EXAMPLE - A Tabular_function, that is a symmetric 3´3 matrix, is:
a Maths_value in the space of such matrices; and
a Maths_function that has the matrix subscript space as its domain and the reals as its range.
NOTE - A Maths_value within the range can have a relationship with any number of instances of Maths_value within the domain.
EXPRESS specification:
*) ENTITY Maths_function SUBTYPE OF (Mapping); domain : Maths_space; range : Maths_space; END_ENTITY; (*
Attributes:
domain The Maths_space with members that each have a relationship with one member of the range.
range The Maths_space with members that can each have a relationship with any number of members of the domain.