Monday, July 8, 2019

Ontology of ternary relations

Having considered the concept of functional dimension as a means of classifying the different types of n-ary relations, we can consider the particular case of ternary relations. The notion of functional dimension is monotone so it provides an ordering of different classes of relations which can be used to build one another up. The simplest case is always the trivial case of a relation which contains no more then one element, which is used to build up the other classes.

This provides a basic upper ontology whose elements form a chain due to the monotone function to the total ordering. This classification is based upon the idea of the central importance of the notion of a function. When considering the notion of a function the first thing I consider is the different mapping patterns a function can take as well as the different kinds of functions between different partially ordered sets. There are functions from numbers like sequences, to numbers like distributions, to sets like multi-valued functions, as well as functions between orders like monotone functions, closure functions, etc. Besides this initial analysis though, our notions of functions can be extended in at least two ways: to product functions and to binary operations both of which are different.

Consider calculus, functions from a scalar to a vector and functions from a vector to a scalar are considerably different. Functions from a scalar to a vector, like the trajectories in kinematics equations act like product functions as different functions can be formed for each coordinate. So for example we could form separate functions like x(t), y(t), etc for the different coordinates and these could be differentiated separately using ordinary differentiation. On the other hand, a function taking multiple arguments would require partial differentiation. The sticking point is the number of arguments to the function (essentially the functional dimension).

In terms of ternary relations then we are considering the different types of relation based upon the number of arguments needed to express them as functions. The trivial case involves functions that take no arguments f : () -> (a,b,c) which are relations which have no more then one argument, then there are product functions f : (a) -> (b,c) which are defined by the product of two functions $f_1$ and $f_2$ which produce the first and second values of the function, then there are binary operations f : (a,b) -> c which take two arguments and which you are probably familiar with. Lastly there are all the other ternary relations.

Trivial functions:
Trivial functions f: () -> (a,b,c) have no more then one argument so they include {}, {(0,0,0)}, {(0,0,1)}, {(0,1,0)},{(1,0,0)},{(0,1,2)}, and other ternary relations isomorphic to them. There are only six possible isomorphism types in this class so it is absolutely trivial, but it is used to build up all the other ternary relations since its the simplest and smallest case.

Product functions:
Product functions f: (a) -> (b,c) are any relation which can be expressed as the product of two functions. A special case is a reversible binary operation f: (a) -> (b,c) which is also a binary operation (b,c) -> (a). These are one to one functions from some set to pairs. They reversibly deconstruct some data structure, like the reversible deconstruction of a multiset into its relative multiplicities distribution and its exponent. Reversible binary operations are of considerable interest in the theory of reversible functions. Another special case is product functions in which one of the two functions used in the product is reversible. If both of them are reversible then the relation is actually one to one to one. This is by generalization of the notion of one to one to ternary relations, so each slot determines all the others.

Binary operations:
Binary operations f : (a,b) -> (c) are an even more general class, which includes the product functions as well as numerous other operations. We already mentioned reversible binary operations, which are actually product functions single a value produces the others to reverse the operation. So the main types of operation of interest to us here are ones that cannot already be described by product functions. Probably the most important properties of operations are closure or being a magma and associativity. Both properties are used to define semigroups, which are especially important because they describe the composition of a collection of functions which transform some set. Numerous classes of semigroups like monoids, groups, commutative semigroups, semilattices, unital semilattices, abelian groups, etc make up the upper ontology of binary operations which is too extensive to list here.

General relations:
As we move to general classes of ternary relations I would like to move to closure operations on the class of ternary relations, which are classes associated with functions we can use to define larger ternary relations. Relations without any particular functional dependencies have no limit to how big they can get, so they can always be made bigger with closure operations. The first thing to notice is the different types of symmetry for ternary relations, like front symmetry, back symmetry, and outer symmetry which is similar to symmetry for binary relations but for projections of the ternary relations. Then there are cyclic closed ternary relations which are relations for which each rotation of a member is included. Cyclic orders are of this class well betweenness relations are outer symmetric.

No comments:

Post a Comment