Next Article in Journal
Generalized Harmonically Convex Fuzzy-Number-Valued Mappings and Fuzzy Riemann–Liouville Fractional Integral Inequalities
Previous Article in Journal
Collaborative Decision Model for Allocating Intensive Care Units Beds with Scarce Resources in Health Systems: A Portfolio Based Approach under Expected Utility Theory and Bayesian Decision Analysis
Previous Article in Special Issue
Three-Dimensional Force Decouping-Sensing Soft Sensor with Topological Elastomer
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Internal Categorical Structures and Their Applications

by
Nelson Martins-Ferreira
Politécnico de Leiria, 2411-901 Leiria, Portugal
Mathematics 2023, 11(3), 660; https://doi.org/10.3390/math11030660
Submission received: 17 October 2022 / Revised: 5 December 2022 / Accepted: 26 December 2022 / Published: 28 January 2023
(This article belongs to the Special Issue Mathematical Structures and Their Applications)

Abstract

:
While surveying some internal categorical structures and their applications, it is shown that triangulations and internal groupoids can be unified as two different instances of the same common structure, namely a multi-link. A brief survey includes the categories of directed graphs, reflexive graphs, links, multi-links, triangulations, trigraphs, multiplicative graphs, groupoids, pregroupoids, internal categories, kites, directed kites and multiplicative kites. Most concepts are well-known, and all of them have appeared in print at least once. For example, a multiplicative directed kite has been used as a common generalization for an internal category and a pregroupoid. The scope of the notion of centralization for equivalence relations is widened into the context of digraphs while providing a new characterization of internal groupoids.

1. Introduction

Every surface can be triangulated, thus giving rise to a triangulated surface consisting of a collection of vertices, i.e., points lying on the surface, together with a collection of triangles indexed over the selected vertices. Moreover, a start-neighbourhood is formed (see display (2) below) every time we fix a vertex and consider the collection of triangles incident to it. If we denote by V the set of vertices and by T the set of triangles, then a triangulation consists of three maps from T to V, say a , b , c : T V satisfying the star-neighbourhood property. If the surface is embeddable in some n-dimensional space E, then we have a further mapping g : V E , providing a geometrical realisation for the otherwise abstract vertices in V. Furthermore, when the surface is orientable, we have the maps a , b , c given in a specific order, say ( a , b , c ) , and hence each element t T can be interpreted as an oriented triangle with vertices ( a ( t ) , b ( t ) , c ( t ) ) , as illustrated.
Mathematics 11 00660 i001
This means that the structure of a triangulation is a trigraph, displayed as
Mathematics 11 00660 i002
such that for every element v V , the collection of all elements t T that are incident to v is finite, can be ordered as t 0 , , t n , and forms a star-neighbourhood as illustrated in the following display.
Mathematics 11 00660 i003
On the other hand, an internal groupoid is an internal category in which every arrow is invertible. An internal category is a particular instance of a multiplicative graph whose structure can be presented as a diagram of the form
Mathematics 11 00660 i004
in which ( C 1 , C 0 , d , e , c ) is a reflexive graph (see Section 2.2), some squares derived from diagram (3) are commutative squares, whereas some other squares are required to be pullback squares (see Section 2.7 and Section 4.5). In spite of the dissimilarity between an internal groupoid and a triangulation, there is one further type of categorical structure that can have both cases as particular instances.
Multi-links have been introduced in the context of additive manufacturing and 3D-printing and are mathematical objects consisting of a set A, called the set of indexes, a collection of endomaps α i : A A , called the transition maps, a geometric realization map g from the set of indexes A into some appropriate space E. The endomaps may be subject to some conditions, which further specialize the structure into particular cases. The structure of a multi-link may thus be pictured as
Mathematics 11 00660 i005
with the collection of endomaps α i ranging over some indexing set (see Section 3.4).
At first glance, there is no obvious interactions between the three categorical structures just presented. Yet, a triangulation as well as an internal groupoid are two particular instances of a multi-link. This is somehow surprising; indeed, one of the most common presentations of an internal groupoid is as a reflexive graph ( C 1 , C 0 , d , e , c ) together with a composition law m : C 2 C 1 , while being assumed that the object C 2 is obtained by taking the pullback of the domain morphism d along the codomain morphism c, hence being canonically equipped with the two canonical projections π 1 , π 2 : C 2 C 1 .
It turns out that a triangulation can be transformed into a multi-link
Mathematics 11 00660 i006
such that
θ 3 = 1 A θ 2 = φ θ φ g φ = g
and moreover, in order to have the star-neighbourhood property displayed in (2), one should add the requirement that φ is an isomorphism (further details in Section 3.5.3, see also [1]).
Similarly, an internal groupoid with inversion morphism i : C 1 C 1 (Definition 3) together with
Mathematics 11 00660 i007
extracted from diagram (3) can be transformed into a multi-link as
Mathematics 11 00660 i008
such that
θ 2 = 1 A = φ 2
θ φ θ = φ θ φ .
In this case, the object A is precisely C 2 , and E is the same as C 1 . The morphism g is just m, and the two morphisms θ and φ are uniquely determined by the following conditions:
π 2 θ = m , m θ = π 2 , π 1 θ = i π 1 π 2 φ = m , m φ = π 1 , π 1 φ = i π 1 .
The structure of a groupoid is recovered from the multi-link structure ( A , B , g , θ , φ ) by considering the trigraph
Mathematics 11 00660 i009
in which the two pairs of morphisms ( g , g θ ) and ( g , g φ ) are contractible in the sense of Beck (see [2] p. 150). This topic will be further developed in a future work.
One point to be made in this paper is the importance of considering categorical structures that can be defined in any category, even without assuming the existence of any limits or colimits (this level of generality has also been considered in [3,4]).
We will be interested in a concrete particular example of a category to replace the category of sets and maps, which does not admit all products nor pullbacks and yet should be considered as an essential category from the point of view of the theory of computation (see, e.g., [5]). It presents a model for finite mathematical high level computational systems such as Octave or Matlab. This category can thus be used in the development of new computational methods and algorithms at the level of abstract categorical structures. We will use the number 256 and denote by Sub 256 the category whose objects are all sets, whereas the morphisms are those maps f : A B that are bijections as soon as the cardinality of A is greater than 2 256 . Of course, any other power of 2 or even any other finite number other than 2 256 would serve as well. The reason why we have chosen 2 256 is to have quaternions as 4-tuples of 64-bit floating point numbers [6]. Clearly, this category does not have all pullbacks for in general a pullback diagram would require the existence of a set with cardinality greater than 2 256 together with the canonical projections which would not be necessarily bijections.
This paper is divided into three parts (table of contents at the end). In the first part, we briefly survey the well-know categories of morphisms, spans, reflexive graphs, internal categories and internal groupoids. We also consider the not so well-known categories of multiplicative graphs in the sense of G. Janelidze [7], of pregroupoids in the sense of A. Kock [8] and multiplicative kites in the sense of T. Van der Linden and the author [9]. A new concept of split extension that can be defined in any category is suggested in Section 2.1. The second part of the paper (Section 3) surveys the notion of multi-link as well as its applications to 3D-printing. At the end (Section 4), we extend the notion of centralizing relations from the context of equivalence relations to the more general context of digraphs and apply it in a new characterization of internal groupoids (see also [10,11]).

2. Elementary Internal Categorical Structures

It is usual while working with internal categorical structures to consider a category C with pullbacks and equalizers and say that all the structures and diagrams are internal to C . In this paper, we consider a category C with no further assumptions. In particular, pullbacks may not exist for all pairs of morphisms. Instead, it is a property of a cospan, i.e., two morphisms sharing the same codomain, whether the pullback exists.
Most categorical structures are nothing but functor categories. However, we observe that most papers have the necessity to explicitly formulate the structures that they need. One purpose of this paper is to serve as a reference for terminology. For that reason, I have tried to make every choice as natural as possible.

2.1. Morphisms, Pullbacks and Split-Extensions

One of the most used yet most trivial categorical structures is the category Mor ( C ) whose objects are morphisms in the category C and whose morphisms are the commutative squares. An object in Mor ( C ) is simply denoted by the name of the arrow, say u Mor ( C ) , and if we need to specify its domain or codomain, we use the notation dom ( u ) or cod ( u ) , respectively. If u and v are two objects in Mor ( C ) , then an arrow from u to v is represented as an ordered pair ( f 1 , f 2 ) , which may be displayed as
Mathematics 11 00660 i010
If needed, the in-line notation can be used as ( f 1 , f 2 ) : u v and it will always mean that the square (8) is commutative, that is, f 2 u = v f 1 . Examples will be provided along the rest of the paper.
When a commutative square is a pullback square, we will say that the square is Cartesian. Since we are not assuming the category C to have all pullbacks, it will be a property of a cospan
Mathematics 11 00660 i011
the existence of a span
Mathematics 11 00660 i012
such that the square
Mathematics 11 00660 i013
is commutative and Cartesian.
We may thus consider the class of Cartesian cospans. The category of cospans is obtained in a dual way as the category Span ( C ) and similarly we may consider a subcategory of it by specifying any class of cospans (see Section 2.2).
In the category of abelian groups, there is an equivalence of categories between the category of internal groupoids and the category of morphisms. In general, for any pointed category with binary coproducts, its morphisms can be interpreted as internal categories of a special type as it is illustrated, for example, in [12].
Before continuing, we would like to suggest a generalization of split extension, which can be defined in any category (see also [13]). It is based on the new notions of joint and patch, which were used in [14,15] with slightly different meanings.
A joint is a cospan that is Cartesian (let us say with Cartesian square as the one displayed below)
Mathematics 11 00660 i014
and has the property that for every morphism p : A B with p s = 1 B there exists at most one morphism p ¯ : X T such that p ¯ t X = 1 T and t B p ¯ = p k . In a joint ( k , s ) with a morphism p as above, we will always denote by p ¯ when such p ¯ exists.
A patch is a joint ( k , s ) together with a morphism p such that p ¯ exists.
A fine patch is a patch ( k , s , p ) in which the commutative square
Mathematics 11 00660 i015
is Cartesian. It is clear that a fine patch is a generalization for the notion of split extension in an arbitrary category C .
Most material in the following sections is from [16].

2.2. Reflexive Graphs and Spans

A reflexive graph is a diagram of the shape
Mathematics 11 00660 i016
in which the condition d e = 1 C 0 = c e holds true. It can be represented as a five-tuple ( C 1 , C 0 , d , e , c ) . A morphism between reflexive graphs, say form ( C 1 , C 0 , d , e , c ) to ( C 1 , C 0 , d , e , c ) , is a pair of morphisms f = ( f 1 , f 0 ) , displayed as
Mathematics 11 00660 i017
and such that d f 1 = f 0 d , c f 1 = f 0 c and f 1 e = e f 0 . The category of reflexive graphs is denoted RG ( C ) .
A span is a diagram of the shape
Mathematics 11 00660 i018
with no further conditions. It is represented as ( D , D 0 , D 1 , d , c ) , or as ( D , d , c ) when D 0 and D 1 are understood from the context, or even simply as a pair ( d , c ) . Even though the objects D 0 and D 1 may be omitted for simplicity, it is clear that a morphism of spans is a triple of morphisms, making the resulting squares commutative. The category of spans is denoted Span ( C ) . There is an obvious functor RG ( C ) Span ( C ) assigning the span ( C 1 , C 0 , C 0 , d , c ) to every reflexive graph ( C 1 , C 0 , d , e , c ) . Any class M of spans in C can be seen as a full subcategory M Span ( C ) . For the sake of consistency, we will write Span ( C , M ) to denote the full subcategory of Span ( C ) determined by the spans in the class M . Similarly, we obtain RG ( C , M ) as the full subcategory of RG ( C ) whose span part is in M ; in other words, it can be seen as a pullback in the category of categories and functors.
Mathematics 11 00660 i019
There are several reasons why one may be interested in taking a class of spans M instead of the category Span ( C ) itself and then take only those reflexive graphs whose span ( d , c ) is in M . Indeed, one is often forced to restrict the attention to a suitable class of well-behaved spans (or co-spans). Concrete applications can be found, for example, in [16].

2.3. Multiplicative Graphs and Reflexive Graphs

The category of multiplicative graphs internal to C was introduced by G. Janelidze in [7] and will be denoted as MG ( C ) . A multiplicative graph can be seen as a category in which multiplication (or composition) may not be associative and it has applications in categorical Galois theory [17]. Its objects are the diagrams in C of the form
Mathematics 11 00660 i020
in which ( C 1 , C 0 , d , e , c ) is a reflexive graph,
m e 1 = 1 C 1 = m e 2
d m = d π 2
c m = c π 1 ,
the square
Mathematics 11 00660 i021
is a pullback square and the maps e 1 , e 2 are uniquely determined as e 1 = 1 C 1 , e d and e 2 = e c , 1 C 1 .
A multiplicative graph, displayed as in diagram (15), will be referred to as a six-tuple ( C 1 , C 0 , d , e , c , m ) . Although the canonical morphisms from the pullback π 1 , π 2 as well as the induced morphisms e 1 , e 2 into the pullback are implicit, they are part of the structure since we are not assuming the category C to have pullbacks. On the other hand, they are unique (up to an isomorphism) as soon as they exist.
Morphisms are triples f = ( f 2 , f 1 , f 0 ) in which ( f 1 , f 0 ) is a morphism of reflexive graphs and f 2 = f 1 × f 0 f 1 is such that f 1 m = m f 2 , f 2 e 2 = e 2 f 1 and f 2 e 1 = e 1 f 1 . When convenient, we refer to a morphism of multiplicative graphs as f : C C and it should be clear that f = ( f 2 , f 1 , f 0 ) , C = ( C 1 , C 0 , d , e , c , m ) and C = ( C 1 , C 0 , d , e , c , m ) .
There is an obvious forgetful functor from the category of multiplicative graphs, MG ( C ) , to the category of reflexive graphs, RG ( C ) . This functor will be denoted by R. Any class M of spans gives rise not only to a category RG ( C , M ) but also to a category MG ( C , M ) . This construction can be obtained as a pullback diagram in Cat
Mathematics 11 00660 i022
so that the functor R M is nothing but the restriction of R to the class M . The functor R is to be interpreted as extracting from a multiplicative graph C = ( C 1 , C 0 , d , e , c , m ) its underlying reflexive graph R ( C 1 , C 0 , d , e , c , m ) = ( C 1 , C 0 , d , e , c ) .

2.4. The Kernel Pair Construction

The following categorical transformation is useful in many situations and it is known as the kernel pair construction, providing a way of transforming a span into a reflexive graph.
Let ( D , d , c ) be a span. The kernel pair construction is obtained by combining the kernel pairs of the morphisms d and c with the pullback of its projections and induced injections as illustrated.
Mathematics 11 00660 i023
When C is the category of sets and maps, we may think of an element in D as an arrow whose domain and codomain are drawn from different sets. In other words an element x D is displayed as
Mathematics 11 00660 i024
In view of this interpretation, the elements in D ( d ) are the pairs ( x , y ) , x , y D , such that d ( x ) = d ( y ) and they may be pictured as
Mathematics 11 00660 i025
or in a simpler form as
Mathematics 11 00660 i026
Similarly, a pair ( y , z ) D ( c ) is pictured as
Mathematics 11 00660 i027
and it follows that the elements in D ( d , c ) are the triples ( x , y , z ) such that d ( x ) = d ( y ) and c ( y ) = c ( z ) , which may be pictured as
Mathematics 11 00660 i028
In other words, when C is the category of sets and maps we have:
d 1 ( x , y ) = x d 2 ( x , y ) = y c 1 ( y , z ) = y c 2 ( y , z ) = z Δ ( y ) = ( y , y ) p 1 ( x , y , z ) = ( x , y ) p 2 ( x , y , z ) = ( y , z ) e 1 ( x , y ) = ( x , y , y ) e 2 ( y , z ) = ( y , y , z ) .
The kernel pair construction gives rise to a functor
K : Span ( C ) RG ( C ) ,
with K ( D , d , c ) = ( D ( d , c ) , D , d 1 p 1 , Δ , Δ , c 2 p 2 ) . See [9] for further information on the kernel pair construction.

2.5. Stability under Pullbacks

Under the assumption that the class M is stable under pullbacks, the functor K restricts to
K M : Span ( C , M ) RG ( C , M ) .
An alternative way of obtaining the kernel pair construction, if in the presence of binary products, is to take the following pullback
Mathematics 11 00660 i029
.
The requirement asking that M is pullback stable means precisely that for every span ( D , d , c ) in M and for every two morphisms u : U D 0 and v : V D 1 , the span ( B , d , c ) obtained by taking pullbacks as shown in the following picture,
Mathematics 11 00660 i030
is still in M .
The kernel pair construction for relations plays an important role in the theory of Mal’tsev categories, see for instance [18], where it first appears in the form of the pullback (20).

2.6. Pregroupoids

A pregroupid internal to a category C was introduced by A. Kock (see [8] for its original definition and motivation where, in addition to the conditions stated below, associativity is also required) and consists of a span
Mathematics 11 00660 i031
together with a pregroupoid structure. A pregroupoid structure is a morphism p : D ( d , c ) D , such that
p e 1 = d 1 and p e 2 = c 2 ,
d p = d c 2 p 2 and c p = c d 1 p 1 .
The object D ( d , c ) is obtained together with the maps
d 1 , d 2 , c 1 , c 2 , p 1 , p 2 , e 1 , e 2
by means of the kernel pair construction, as explained in the previous subsection. In set-theoretical terms, the object D ( d , c ) consists on those triples ( x , y , z ) of arrows in D for which d ( x ) = d ( y ) and c ( y ) = c ( z ) , so that the two conditions (21) are
p ( x , y , y ) = x , p ( y , y , z ) = z
while the two conditions (22) become
d p ( x , y , z ) = d ( z ) , c p ( x , y , z ) = c ( x ) .
In this way, we form the category of pregroupoids with its span part drawn from the class M . It is denoted as PreGrpd ( C , M ) .

2.7. Internal Categories and Internal Groupoids

An internal category is a multiplicative graph in which the multiplication is associative (see Section 4.5). The category of internal categories to C is denoted Cat ( C ) . A groupoid is an internal category in which every morphism is invertible. Internally, it can be seen as an associative multiplicative graph in which the square
Mathematics 11 00660 i032
is a pullback (see [19], see also Section 4.5). The category of internal groupoids internal to C is denoted Grpd ( C ) . In a similar manner as before, we define the categories Cat ( C , M ) and Grpd ( C , M ) of internal categories and internal groupoids in C with respect to a class M of spans.

2.8. Multiplicative Kites

The notion of a kite was first considered in [20] as an admissibility diagram. It was then considered in [9] as a kite. Its main purpose is to generalize the structure of a groupoid and a pregroupoid so that it can be used as a setting where it is possible to transform a groupoid into a pregroupoid and vice versa.
A kite, internal to C , is a diagram of the form
Mathematics 11 00660 i033
with f r = 1 B = g s , α r = β = γ s .
A directed kite is a kite together with a span ( D , D 0 , D 1 , d , c ) such that d α = d β f , c β g = c γ .
Once again, if the span part of a kite is required to be in M then it is an object in the category DiKite ( C , M ) , where the morphisms are the natural transformations between such diagrams.
When pullbacks of split epimorphisms are available, each diagram such as (24) induces a diagram
Mathematics 11 00660 i034
in which the double diamond is a double split epimorphism (or a split square). The morphisms e 1 , e 2 are determined as e 1 = 1 A , s f and e 2 = r g , 1 C .
A multiplication on a kite is a morphism m : A × B C D such that d m = d γ π 2 , c m = c α π 1 , m e 1 = α and m e 2 = γ .
The forgetful functor from the category of multiplicative kites into the category of directed kites, with direction (i.e., the span part) drawn from the class M will be considered. This functor helps in understanding a directed kite as a structure with the property of having at least one multiplication, making it a multiplicative directed kite. This functor simply forgets the multiplicative structure.
Mathematics 11 00660 i035

2.9. Relevant Examples of Directed Kites

List of examples of directed kites as particular cases obtained from the structures that have been surveyed so far with remarks on the condition for it to be a multiplicative kite:
  • If ( C 1 , C 0 , d , e , c ) is a reflexive graph, then the following diagram is a directed kite:
    Mathematics 11 00660 i036
    This directed kite is multiplicative if and only if the reflexive graph is a multiplicative graph.
  • If ( C 1 , C 0 , d , e , c , m ) is a multiplicative graph, then the following diagram is a directed kite:
    Mathematics 11 00660 i037
    This directed kite has a unique multiplicative structure if and only if the multiplicative graph is associative (i.e., an internal category).
  • If ( C 1 , C 0 , d , e , c , m ) is an associative multiplicative graph (an internal category), then the following diagram is a directed kite:
    Mathematics 11 00660 i038
    This directed kite is multiplicative if and only if the internal category is an internal groupoid (see [20]).
  • If ( f 1 , f 0 ) : ( C 1 , C 0 , d , e , c ) ( C 1 , C 0 , d , e , c ) is a morphism of reflexive graphs, then the following diagram is a directed kite:
    Mathematics 11 00660 i039
    If the morphism of reflexive graphs can be extended to a morphism of multiplicative reflexive graphs, then the induced directed kite represented in the diagram above is multiplicative.
  • If ( D , D 0 , D 1 , d , c ) is a span, then the kernel pair construction gives a directed kite as follows:
    Mathematics 11 00660 i040
    This yields a reflection between the category of directed kites and the category of spans.
    Mathematics 11 00660 i041
    A directed kite goes to its direction span, a span goes to the directed kite displayed above. Moreover, the span ( D , d , c ) is a pregroupoid if and only if its associated directed kite is multiplicative.
  • A split square is a diagram of the shape
    Mathematics 11 00660 i042
    such that f r = 1 B = g s , p 2 e 2 = 1 C , p 1 e 1 = 1 A , p 2 e 1 = s f , p 1 e 2 = r g and g p 2 = f p 1 .
    Any split square as (31) gives rise to a directed kite as illustrated.
    Mathematics 11 00660 i043
    In [16], it is shown that the existence of a multiplicative structure on the directed kites such as (32) has an important classifying property for Mal’tsev-like categories which generalizes the concept of orthogonality between a span and a co-span as considered in [21].
We will now see a different kind of mathematical structure which has been obtained as a result of investigations on 3D-printing and additive manufacturing.

3. The Categorical Structure of a Link and a Multi-Link

The notion of a multi-link was introduced in [22] as a tool for the encoding and systematization of new and more efficient algorithms in the aim of 3D-printing.

3.1. Motivation from Computer Science and 3D-Printing

From the point of view of storage in a computer’s memory, the notion of a two-dimensional matrix, with lines and columns, does not make much sense. At least, it does not make much more sense than an arbitrary n-dimensional matrix. In practice, what is really stored in the computer’s memory disk is an array, and the most efficient arrays are the linear ones. In spite of everything that has been said during the last two or three decades about formal file systems, the non-structured ones are still the ones that are preferred. This explains, for example, why the STL file format is still so common nowadays.
The structure of a multi-link has been proposed as a structure, which on the one hand can be stored as a linear array of information, while, on the other hand, it can be used to encode highly non-trivial structures such as surfaces and their properties. These properties may be decomposed into logical, functional and geometrical information and they cover most of the whole spectrum of processes that are involved in 3D-printing (see [22]).
Indeed, the mathematical structure of multi-link was motivated by a long series of experiments with mathematical structures and their properties, namely the ones that are related with efficiency and encoding of information. See for example [23,24,25,26] and the references therein. Here, we have also seen a new application for multi-links, namely the possibility of encoding not only a triangulation (or any surface discretized in non-triangular nor regular faces), but also the surprising capability of describing internal groupoids (see introduction).
First, we motivate the very special case of a link, which can be seen as an abstraction for the notion of a curve (appropriate for computational purposes) and then, by generalizing it in several different ways, we obtain the notion of multi-link. This basic notion was the result of a long period of maturation, and its main characteristic is the fact that it is suitable for the encoding of n-dimensional matrices as simple linear arrays. The key ingredient is the observation that the transition maps from ( i , j ) to ( i + 1 , j ) and ( i , j + 1 ) can be seen as two permutable maps from the set of linearized indexes into itself. We give some details on this passage which are essentially repeated from [22].
From Section 3.4 onwards, we concentrate our attention on the abstract notion of a multi-link by observing that it has several useful and important particular cases. Indeed, as we will see, each one has its purpose and can be applied into a very specific situation for 3D-printing.
At the end of the section, we give a detailed description on the iso-slice algorithm, as well as an application to the generation of cooling and refrigerating channels in a mould. This will came later on; for the moment, let us concentrate our attention on links, first, and then on multi-links, as a mathematical abstract structure.

3.2. A Link as an Abstraction of a Planar Curve

A classical planar curve is usually defined as a continuous map from the unit interval [ 0 , 1 ] into the field of complex numbers. From the point of view of analysis, this is a perfectly reasonable concept and it naturally extends to curves in the 3D-space. One simply substitutes the field of complex numbers by the euclidean three space, and it is then just one more step to move to the n-dimensional vector field R n . However, from the point of view of computation, this is not really a good definition and many attempts have been made to find a better alternative. Several variations can be considered and each one of them has its own advantages and disadvantages. Here, we consider one which seems to be good for the purposes of encoding contour level curves, the ones that are obtained from the slicing of triangulated surfaces, and their applications into the area of 3D-printing and direct digital manufacturing. The notion that we propose as an abstraction for a curve is called a link. It has arisen by observing that a curve, if approximated by a piecewise-linear sequence of directed edges, is a particular case of a directed graph. A directed graph is a mathematical object consisting of a set of vertices, a set of edges and two parallel maps that assign a vertex to an edge, namely its source and target. It turns out that some directed graphs, namely the ones that are obtained by taking an approximation to a curve, share the characteristic property of having a linking map. This linking map associates to each edge a successor edge along the direction of the curve. In this way, we have arrived at the abstract notion of a link. This notion is intended to be a computational model for a classical curve.
A link is a mathematical object which consists of a set, together with an endomap and a map into a geometrical algebra (the notion of a geometrical algebra has a precise meaning in mathematics; however, the reader not familiar with it may safely assume that it is simply a vector space, and for the purpose of this paper, R n will be enough), as illustrated
Mathematics 11 00660 i044
This notion is thus interpreted as a generalized curve in R n as follows. The curve is a piecewise linear sequence of segments; each segment in the curve is determined by an indexing element in the set of indexes A, and it is geometrically realised as the vector in R n whose endpoints are
g ( a ) g φ ( a ) .
This means that each segment in the curve is indexed by an element in A, in fact we will sometimes picture the segment as a labelled edge in a directed graph
g ( a ) a g φ ( a ) .
The set A is called the set of indexes, the map φ is called the successor, or transition map (it tells to each index, which is considered as the origin of the edge, what is its successor—the successor is at the same time the endpoint of its predecessor and the starting point of the edge of which it is the index of), this idea can be illustrated as follows:
Mathematics 11 00660 i045
For further examples, the reader is referred to [27].

3.3. Moving from an Array to a Matrix While Keeping It Linear

If we would try to generalize the notion of a link as an abstraction for a curve as a new abstract entity which would serve as a good model for a surface, we would easily be led to a structure of the form
Mathematics 11 00660 i046
However, as soon as we try to interpret it as a surface, we soon realize that φ ( x , y ) = ( φ 1 ( x , y ) , φ 2 ( x , y ) ) should be of the form
Mathematics 11 00660 i047
In other words, it should consist of two independent maps φ 1 : X X and φ 2 : Y Y , together with the realization (or geometrical) map
Mathematics 11 00660 i048
The role of φ 1 and φ 2 is to determine the behaviour of the transitions along the x-direction and the y-direction. Note that these directions are only abstract and they should not be confused with the directions of R n .
Let us see a concrete example. Suppose we are interested in modelling the cylinder
C = { ( x , y , z ) R 3 x 2 + y 2 = 1 , 0 z 1 } ,
so that we could make an approximation, say, X = { 1 , 2 , 3 , , 360 } , Y = { 0 , 1 } and define φ 1 : X X , φ 2 : Y Y and g : X × Y R 3 as follows: φ 1 ( x ) = x + 1 if x < 360 and φ 1 ( 360 ) = 1 ; φ 2 ( 0 ) = φ 2 ( 1 ) = 1 ; and
g ( u , v ) = cos 2 π u 360 , sin 2 π u 360 , v .
As remarked before, the crucial point here is to observe that we may exchange the set X × Y with another set, which is bijective to it, say A, and the endomap φ : X × Y X × Y with two endomaps α , β : A A that are permutable, i.e., α β = β α . In this way, we form squares indexed by the elements of A as illustrated
Mathematics 11 00660 i049
If the set X has n X elements, and the set Y has n Y elements, then we can take the set A to be the set { 1 , 2 , 3 , , n X n Y } and the well known bijection which transforms pairs of indexes ( i , j ) into linear indexes a = i · n X + j .

3.4. The Structure of a Multi-Link

The notion of a multi-link is a natural generalization of the notion of link and it is motivated by the concrete examples of a square-link (such as the one above), a double-link (which is a structure that models arbitrary surfaces) and several others that where designed for more specific purposes, such as contour filling algorithms or generating voxelized porous in 3-dimensional physical objects. A multi-link thus arises as the need to encode and organize a large amount of information in the form of data and algorithms that are relevant to the process of 3D-printing.
A multi-link is a mathematical object displayed as
Mathematics 11 00660 i050
in which A is an arbitrary object, E is some structured object such as a geometrical algebra and i I and j J are arbitrary indexing sets. The maps p j are required to be surjections. Furthermore, some conditions may be required on the structure such as commutativity between the arrows involved. For example, if I = J then it is reasonable to assume p j = p j α j and think of the projections p j as being the connected components for the orbits of the respective α j .
The family of maps ( α i ) is considered to be the topological part of the multi-link, the map g is the geometrical part, while the family of projections ( p j ) is considered to be the logical or functional part of the structure. This is because in most of the examples the projection maps are simply assigning some functional behaviour to the edges, like colour properties or materials or other kinds of physical interpretation.
In the following subsections, we present some details on useful structures that can be seen as particular cases of multi-links.

3.5. Particular Cases as Examples of Multi-Links

3.5.1. Coloured Link

A coloured link is a link with a surjective map into some set C, of colours, in other words, it is of the form
Mathematics 11 00660 i051
such that c α = c .
It is interpreted as a link in which every edge has a certain colour associated to it, and moreover, the edges in the same component (in the sense of orbits of α ) have the same colour, but different components may have different colours.

3.5.2. A Square-Link

A square link was considered above, and it can be seen as a special case of a multi-link with two endomaps but without projection maps. The two endomaps, say α and β , are permutable, that is, α β = β α . If we take the example of the cylinder from above and use the bijection
ϕ : X × Y A
from the Cartesian product of X = { 1 , , 360 } and Y = { 0 , 1 } into A = { 1 , , 720 } , which is defined by ϕ ( i , j ) = i + j 360 , then, in order to give the structure of a square-link it remains to specify the maps α , β : A A and g : A R 3 . In this case, we put α ( 360 ) = 1 , α ( 720 ) = 361 and α ( x ) = x + 1 in the other cases. For the map β we have β ( x ) = 360 + x if x 360 and β ( x ) = x for all the other values of x A . The map g is now defined as
g ( x ) = cos 2 π x 360 , sin 2 π x 360 , 0
when x is less or equal to 360 and
g ( x ) = cos 2 π ( x 360 ) 360 , sin 2 π ( x 360 ) 360 , 1
for the cases when x is greater than 360.

3.5.3. A Triangulation

The structure of a triangulation has been studied in [1] and it is an important example of a multi-link.
The structure of a triangulation generalizes the one of a directed graph. It consists of two sets (vertices and triangles) and three parallel maps between them, as displayed
Mathematics 11 00660 i052
An element t T is interpreted as a triangle as illustrated in (1).
In [1], the observation that those triangulations which are obtained as the boundary of a physical object in 3D space are the ones with the property that every vertex has a start-neighbourhood (as illustrated in (2)) has been used to transform a triangulation into a multi-link which at the time was merely a convenient way of encoding information.
The procedure works as follows. For practical reasons we substitute R 3 with the Cayley algebra of quaternions H , see [28]. In [1], it is shown that the triangulations
Mathematics 11 00660 i053
in which every vertex has a star-neighbourhood, are equivalent (i.e., encode the same information) to a multi-link of the form
Mathematics 11 00660 i054
such that
θ 3 = 1 A
θ 2 = φ θ φ
g φ = g .
Moreover, in order to have the star-neighbourhood property displayed in (2), φ has to be an isomorphism.
Having a structure such as (34) with the star-neighbourhood property for each of its vertices, in order to obtain a structure such as (35), we define:
A = T × { 0 , 1 , 2 } θ ( t , i ) = ( t , i + 1 mod 3 ) g ( t , i ) = a ( t ) if i = 0 b ( t ) if i = 1 c ( t ) if i = 2
and
φ ( t , i ) = ( t i , j ( t , i ) )
with t i , i = 0 , 1 , 2 as illustrated
Mathematics 11 00660 i055
and j ( t , i ) given as
j ( t , 0 ) = 0 if a ( t 0 ) = a ( t ) 1 if b ( t 0 ) = a ( t ) 2 if c ( t 0 ) = a ( t ) j ( t , 1 ) = 0 if a ( t 1 ) = b ( t ) 1 if b ( t 1 ) = b ( t ) 2 if c ( t 1 ) = b ( t ) j ( t , 2 ) = 0 if a ( t 2 ) = c ( t ) 1 if b ( t 2 ) = c ( t ) 2 if c ( t 2 ) = c ( t )
Conversely, if having a structure such as (35) with its three conditions, then we define a triangulation as follows. The triangles T are obtained by identifying the orbits of θ , via the coequalizer of the pair of morphisms ( 1 A , θ ) . Observe that this particular coequalizer exists in the category Sub 256 , even though its kernel relation may fail to exist. The vertices are obtained by identifying the orbits of φ , via the coequalizer of the pair ( 1 A , φ ) . Let us denote the two coequalizers, respectively, as p : A T and q : A V . The complete structure, with a = q s , b = q θ s and c = q θ 2 s (where s is any section for p) is displayed as
Mathematics 11 00660 i056
with g ¯ the unique map such that g = g ¯ q .

3.5.4. A Double-Link

The notion of a double-link serves to encode, in its most general form, the concept of a surface. Here, we will only give the definition and the simple example of the tetrahedron. Further examples and the study of its main properties are the matter of future work. All platonic solids can be found in [29] as double-links.
A double-link is an instance of a multi-link which can be displayed as
Mathematics 11 00660 i057
such that
α β α β = 1 A β α β α = 1 A f α = f v β = v .
The example of a tetrahedron, due to its simplicity, can be used as an illustration. The following picture, which shows the planar graph representation of a tetrahedron (with the usual directed edges replaced by oriented squares that are build up from the labels α and β ), is used to deduce a concrete example of a double-link, as follows.
Mathematics 11 00660 i058
Take A to be the set { a 1 , , a 12 } and let the endomaps α and β be defined by the labels indicated in the planar graph representation, that is α ( a 1 ) = a 12 , β ( a 1 ) = a 2 , etc. The projection map f is the quotient over the orbits of α , thus giving the faces of the tetrahedron. The projection map v is the quotient over the orbits of β , thus giving the set of vertices. The map g is any realization map from A to any space.
Note that a triangulation is a particular instance of a double-link. Indeed, we observe θ φ θ φ = θ θ 2 = θ 3 = 1 A and φ θ φ θ = θ 2 θ = θ 3 = 1 A .

3.5.5. A Cubic-Link

A cubic link is a straightforward generalization of a square-link and it is useful in modelling volumes with porous structures as illustrated in [30].
A cubic link is a structure
Mathematics 11 00660 i059
such that α β = β α , α γ = γ α and γ β = β γ . It is interpreted as a collection of voxels of a cubic shape. In the same way as a square-link models a surface which is generated by a square patch along two abstract directions, a cubic link can be used to generate a 3D-manifold, which is generated by a collection of cubes attached along three different abstract directions, say α , β , γ , as illustrated.
Mathematics 11 00660 i060

3.5.6. A N-Cube-Link

Once again, a straightforward generalization of a cubic-link is obtained if instead of three abstract directions we consider any finite number n, thus obtaining
Mathematics 11 00660 i061
where G is any geometrical algebra (or more simply a vector space), and the α i are permutable in the sense that α i α j = α j α i for any i , j in { 1 , 2 , , n } . These structures arise, for example, in the construction of n-dimensional volumes with porous structures in its interior and it has several applications in 3D-printing.

3.5.7. A Contour Filling Curve

The paper [31] describes a procedure on how to generate sweep trajectories for planar regions that are encoded by its boundary and obtained by slicing a three-dimensional body.
The details that motivate this structure are referred to [31]. Here, we simply recall the structure, which is an instance of a multi-link. It consists on a diagram of sets and maps, as illustrated,
Mathematics 11 00660 i062
such that
r 2 = s 2 = g 2 = 1 E q r = q s = q p g = p .
It is illustrated with appropriate pictures in [22,31] in which the role of the maps r , s , g is clear.

3.5.8. A Square Patch

A square patch is an intermediate level between a square-link and a double-link. It is the analogue to a triangulation except that it is made out of squares rather than triangles. The generalization from a triangulation is not difficult to obtain and we omit the details. As an instance of a multi-link, it is described as follows.
Mathematics 11 00660 i063
such that
θ 4 = 1 A
θ 3 = φ θ φ
g φ = g .
The orbits of θ are interpreted as (square) faces while the orbits of φ are interpreted as vertices.

3.6. The Iso-Slice Algorithm

In this subsection, we give the necessary details for an implementation of an algorithm that efficiently computes level iso-contours. The contours are the ones obtained by slicing a triangulated surface in the euclidean 3D-space with respect to an iso-surface of a given level.
The algorithm may be decomposed in the following steps:
  • Consider a triangulation as input
    Mathematics 11 00660 i064
  • Transform the triangulation into a double-link as explained before (see also [1]). This gives a structure of the form
    Mathematics 11 00660 i065
    with the meaning that the orbits of α are the faces (elements in F) and the orbits of β are the vertices (elements in V).
  • Suppose there is given a family of iso-surfaces in 3D-space, let us say defined by a map
    F : R 3 R
    which intuitively may be thought of as assigning to every point in space a certain height; the main example is F ( x , y , z ) = z , giving planar slices along the z-direction, but F ( x , y , z ) = x 2 + y 2 or F ( x , y , z ) = x 2 + y 2 + z 2 are also possible and give, respectively, cylinders and spheres; in general, we have arbitrary maps perhaps with a specific meaning. Nevertheless, the algorithm works the same way for every map.
  • Transform the structure of double link of item 2 in the structure of a coloured link by considering φ = β α , h = F g and forgetting the projection map v. This produces
    Mathematics 11 00660 i066
    and the map h is intuitively the height of each point in A relative to the iso-level-surface F of item 3;
  • For each contour level r R do:
    (a)
    Obtain the subset of A in the coloured link of item 4 defined as:
    A r = { a A h ( a ) r < h φ ( a ) }
    (b)
    Consider the directed graph whose edges are the elements in A r as well as the vertices; the domain map is the identity map and the codomain map is φ = β α , this will produce a picture which may be interpreted as
    Mathematics 11 00660 i067
    in which we suppose a and a to be in A r . This means that r R is a height laying between h ( a ) and h β α ( a ) as well as between h ( a ) and h β α ( a ) . The idea is to connect a and a and in order to do so it suffices to identify the orbits of α via f. This procedure creates a directed graph.
    (c)
    Construct the directed graph
    Mathematics 11 00660 i068
    from the subset L : A r A (item 5(a)) to the set of faces F (item 4), with d = f L and c = f φ L = f β α L . This graph is obtained by applying the quotient map f to the graph considered in item 5(b).
    (d)
    Link the digraph of item 5(c), that is, find φ r : A r A r such that d φ r = c . This is a general process, and it can be performed in a unique way, provided the faces are geometrically convex. Indeed, let Mathematics 11 00660 i108 be an arbitrary directed graph, it has a symmetry, that is, there exists a bijective map φ : E E such that d φ = c if and only if the incoming edges are in bijection with the out-coming ones for every vertex in V. In our case, if the faces are convex then they will either not be intersected by the iso-surface level r or they are intersected exactly in two different edges (in the picture displayed at item 5(b), this was assumed to happen at the edges starting at the indexes a and a ).
    (e)
    Construct the link structure
    Mathematics 11 00660 i069
    with g r ( a ) = g ( a ) + t r ( g φ ( a ) g ( a ) ) where
    t r = r h ( a ) h φ ( a ) h ( a ) ,
    recall that φ = β α and h = F g , come from item 4.
  • Collect all the link structures ( A r , φ r , g r ) for all the contours r R in which we may be interested in and return this information as output.

3.7. A Concrete Example of Application

An example of application for the iso-slicing algorithm is the following. Suppose it is given a solid body object of which we want to produce a mould with refrigeration channels as this is a recurrent problem in the mould industry. This means that if S R 3 is the solid of our interest, then we consider the region of space S ¯ = R 3 S . Moreover, suppose we wish to make some channels along the surface area of the boundary of S ¯ , while keeping the channels on the interior of the region. Furthermore, in order to simplify the process, let us assume that these channels are generated by planar curves parallel to the xy-plane. To do so, we need to determine how the ratio distance between two consecutive layers should be defined so that the cooling temperature is isotropic along the surface metric. One way to do that is to use the previous procedure: the iso-slice algorithm. Its key aspect being the possibility to define the height function F : R 3 R . In that case, the high function is interpreted as the distance measured along the surface between the points in a lower level and the corresponding ones in the upper level immediately above it. Below, we give some details on how this procedure can be implemented.
Suppose ( T , V , a , b , c , x , y , z ) is a triangulation such as the one given on item 1 of Section 5, which is considered to be an approximation to a surface defined by the boundary of S = c l o s u r e ( i n t e r i o r ( S ) ) R 3 . We are interested in generating contour levels along the iso-surfaces, which are geodesics along a direction perpendicular to the xy-plane. These contour paths will give us the generators for the cooling channels. In order to do that, we observe the following steps:
  • Obtain a square-link from the given triangulation:
    (a)
    Find an appropriate set of contours equally spaced that can serve as a good approximation to the given triangulation;
    (b)
    For each one of the contour levels identified on the previous item, execute the slicing algorithm with F ( x , y , z ) = z ;
    (c)
    Re-sample the number of points obtained in each set of indexes from the final link (as in item 5(2) from the iso-slice algorithm) so that they all have the same number of points;
    (d)
    Construct a square-link by letting A be the union of all A r , assuming that we have chosen say, r { r 0 , r 1 , , r n } R and that each A r has, say, m = 100 elements. This is done by letting the map α to be given by the collection of φ r and β to be the identify on each point in the level r i with the closest one on the level r i + 1 . This does not necessarily give a structure for a surface which is homeomorphic to the initially given one, but it is equivalent from the point of view of the generation of the cooling channels.
  • Having a square link ( A , α , β , g ) as defined in SubSection 3.5.2, we now define the iso-surface family F : A R iteratively as follows (consider the bijection ϕ : A X × Y with the sets X = { 0 , 1 , , n } and Y = { 1 , , m } ). The base points, that is the ones in the level r 0 , are all zero F ( x , 0 ) = 0 ; all the points at the same level will have the same value under F; suppose we have F ( x , y ) given, then we define F ( x , y + 1 ) as the formula
    F ( x , y ) + g ϕ 1 ( x , y ) g ϕ 1 ( x , y + 1 )
  • Use the iso-slicing algorithm with the new height value F.
  • The end result of this procedure gives a family of contour levels parallel to the xy-direction which are isotropic along the geodesic paths measured on the surface.
Having the contour trajectories enveloping the original surface in a way which is isotropic concerning the refrigeration distribution of heat along the geodesic distances on the surface, we can then choose a cross-section for the channels and generate the final structure as a square-patch.

4. Internal Groupoids and a Centralization of Digraphs

In this section, the notion of centralization of equivalence relations is extended to digraphs and it is seen how to apply it in characterizing internal categories and groupoids. The concrete category Sub 256 is analysed while illustrating the relevance for a centralization of digraphs as a generalization to the case of equivalence relations. Some techniques used here were inspired in the work on Mal’tsev categories [32,33,34].

4.1. Generalizing the Centralization of Equivalence Relations

We are now going to extend the notion of centralizing relation (usually stated between two equivalence relations) to the more general case of two directed graphs (see also [11]).
Let C be a category with no assumptions on the existence of any kind of limits or colimits. A directed graph is simply a structure with two ordered parallel arrows, displayed as
Mathematics 11 00660 i070
The first arrow is the domain and the second one the codomain (in a display such as (44) the order is found from left to right following the direction of the arrows). This means, for example, that if we picture the same graph as above in a vertical display, it must necessarily be of the form
Mathematics 11 00660 i071
Given two directed graphs over the same object, say
Mathematics 11 00660 i072
with the first one displayed horizontally and the second one displayed vertically,
Mathematics 11 00660 i073
we consider the following conditions:
  • (G1) There exists a span Mathematics 11 00660 i074 such that
    Mathematics 11 00660 i075
    is a pullback square;
  • (G2) Condition (G1) holds and there exists a morphism α : D C such that
    Mathematics 11 00660 i076
    is a pullback square;
  • (G3) Condition (G1) holds and there exists a morphism β : D A such that
    Mathematics 11 00660 i077
    is a pullback square;
  • (G4) Conditions (G1)–(G3) hold and moreover d α = c β .
  • (G5) Conditions (G1)–(G3) hold and moreover
    Mathematics 11 00660 i078
    is a pullback square.
Following the particular case when ( d , c ) and ( d , c ) are relations, we will say that the two directed graphs ( d , c ) and ( d , c ) centralize each other when condition (G5) holds (see [11] and its references).
Let us now investigate in more detail the example of the category Sub 256 . As remarked before, this category does not have pullbacks for all morphisms; however, it has other interesting categorical properties, such as coequalizers.

4.2. A Lemma on Pullbacks

Let A be a category with pullbacks and a terminal object (denoted by 1). Moreover, suppose that every morphism f : A B , in A , induces a decomposition of its domain
A b : 1 B Π ( f , b )
as a coproduct of pullbacks of f along b, for every b : 1 B , as displayed.
Mathematics 11 00660 i079
We will be interested in subcategories B of A with the following two properties:
  • (B1) If f is an isomorphism in A , then it is a morphism in B ;
  • (B2) If both f h and f are morphisms in B , then h is also a morphism in B .
The example that we have in mind is the following one, which is important in the study of algorithms and other data structures in programming languages such as Matlab.
The category B = Sub 256 is the subcategory of A = Set which has all sets as its objects while a map
f : X Y
is a morphism in Sub 256 whenever the following property is satisfied:
If X has more than 2 256 elements then f is a bijection .
Proposition 1.
Let A be a category with pullbacks, a terminal object and satisfying the property displayed in (51), with B a subcategory of A satisfying the two properties (B1) and (B2) above. Consider a diagram in B of the form
Mathematics 11 00660 i080
If the morphism π 2 ( f , g ) : Π ( f , g ) C is in B , then the following conditions are equivalent:
(a) 
There exists k : Π ( f , g ) A , in B , such that the square
Mathematics 11 00660 i081
is a pullback square;
(b) 
For every y : 1 C in A ,
Π ( f , g y ) Π ( f , h y ) .
Proof. 
Let us prove ( a ) ( b ) . The existence of k, in B , induces a morphism φ : Π ( f , g ) Π ( f , h ) , in A , such that the square
Mathematics 11 00660 i082
commutes and moreover φ is an isomorphism (simply because (53) is a pullback square). Hence, the isomorphism φ restricts itself to an isomorphism φ y , for every y : 1 C in A , as illustrated:
Mathematics 11 00660 i083
Conversely, having an isomorphism in A , φ y : Π ( f , g y ) Π ( f , h y ) , for every morphism y : 1 C , we observe that the diagram
Mathematics 11 00660 i084
commutes. Indeed, as illustrated in the diagram below, we observe that
( f , g ) π 1 ( π 2 ( f , g ) , y ) = y π 2 ( π 2 ( f , g ) , y ) = y ! = y π 2 ( π 2 ( f , h ) , y ) = π 2 ( f , g ) π 1 ( π 2 ( f , h ) , y ) .
Mathematics 11 00660 i085
The above diagram is of course a diagram in A , and now, by the property (51), we have
Π ( f , g ) y π 1 ( π 2 ( f , g ) , y ) Π ( f , h ) y π 1 ( π 2 ( f , h ) , y )
and hence, the family of isomorphisms φ y y : 1 C induces an isomorphism φ : Π ( f , g ) Π ( f , h ) such that the square (55) commutes. Finally, we obtain the desired morphism k : Π ( f , g ) A by putting k = π 1 ( f , h ) φ , and this makes the square (53) a commutative square. It is also a pullback square in A because φ is an isomorphism. It remains to prove that it is a pullback square in B . First, we observe that, because of (B1), π 2 φ 1 is in B , hence π 2 ( f , h ) is in B , now (because of (B2)) we also have π 1 ( f , h ) in B . This means that k = π 1 ( f , h ) φ is in B , which also implies that the square (53) is a pullback in B . □

4.3. Centralizing Relations in Sub256

In the concrete subcategory Sub 256 of the category Set , conditions ( G 1 ) ( G 5 ) above can be expressed as a bijection between the sets of incoming and out-coming edges relative to the digraphs involved. An explicit formulation is given in the following proposition, in which we consider the more general case of a category A with a subcategory B as already considered in Section 4.2.
Proposition 2.
Let A be a category with pullbacks, a terminal object and satisfying the property displayed in (51), with B a subcategory of A satisfying the two properties (B1) and (B2) above. Given two directed graphs over the same object displayed as (46) in B , we have that ( G 1 ) ( G 5 ) are equivalent, respectively, to:
  • (G1) The morphism π 2 ( d , c ) : Π ( d , c ) A is a morphism in B ;
  • (G2) For every x : 1 A in A ,
    Π ( d x , c ) Π ( c x , c ) .
  • (G3) For every y : 1 C in A ,
    Π ( d , c y ) Π ( d , d y ) .
  • (G4) For every x : 1 A and every y : 1 C in A , there are isomorphisms α x and β y making the following two diagrams commutative.
    Mathematics 11 00660 i086
    Mathematics 11 00660 i109
  • (G5) For every x : 1 A and every y : 1 C in A ,
    Π ( d x , c ) Π ( c x , c ) , Π ( d , c y ) Π ( d , d y ) , Π ( d x , d ) Π ( c x , d ) , Π ( c , c y ) Π ( c , d y ) .
Proof. 
Obviously, ( G 1 ) implies ( G 1 ) , while its converse follows from the fact that B has the property ( B 2 ) . The equivalence between ( G 3 ) and ( G 3 ) is an immediate consequence of Proposition 1, while the case ( G 2 ) ( G 2 ) is similarly obtained by swapping the horizontal and vertical directions, mutatis mutantis. □
The following picture is useful in interpreting the two diagrams displayed in ( G 4 ) .
Mathematics 11 00660 i087
The conditions ( G 1 ) ( G 5 ) are independent of each other, as we can see in the following examples.
Consider two directed graphs in Sub 256 as displayed in (46) and observe:
  • If A = A = { 1 , , 2 128 + 1 } and B = { 1 } , then the property ( G 1 ) does not hold since Π ( d , c ) = A × A , which has a cardinality greater than 2 256 , and hence only the bijections can have it as a domain (because of condition (52)); in particular, the canonical projections π 1 , π 2 : A × A A are not in Sub 256 .
  • For the remaining items, consider the set B = { 1 , 2 , 3 , 4 , 5 } and the arrows labelled as i = ( 2 , 1 ) , j = ( 3 , 1 ) , k = ( 4 , 2 ) and l = ( 4 , 5 ) , which are pictured as
    Mathematics 11 00660 i088
    and where the maps d and d will always be the first projection while the maps c and c will always be the second projection.
  • Take A = { i } and A = { k } to see that we have only ( G 1 ) , but not ( G 2 ) neither ( G 3 ) .
  • Take A = { i } and A = { j , k } and observe that ( G 2 ) holds, but not ( G 3 ) .
  • Take A = { i , l } and A = { k } and observe that ( G 3 ) holds, but not ( G 2 ) .
  • Take A = { i , l } and A = { j , k } and observe that both ( G 2 ) and ( G 3 ) hold, but not G 4 .

4.4. Trigraphs and Pre-Multiplicative Graphs

As we have seen, a trigraph is a generalization of a directed graph in the sense that it is a structure with three ordered parallel arrows, displayed as
Mathematics 11 00660 i089
Let us consider a pre-multiplicative graph as a diagram of the form
Mathematics 11 00660 i090
such that the square
Mathematics 11 00660 i091
is a pullback square. It is an underlying structure of a multiplicative graph (see Section 2.3). We will say that the trigraph ( π 1 , m , π 2 ) is the multiplicative structure of the pre-multiplicative graph (65). When the digraph ( d , c ) is reflexive, say with a reflexivity morphism e : C 0 C 1 such that d e = 1 C 0 = c e , represented as
Mathematics 11 00660 i092
then we speak of a reflexive and pre-multiplicative graph whose multiplicative structure has splitings e 1 , e 2 : C 1 C 2 , displayed as
Mathematics 11 00660 i093
such that π 2 e 2 = 1 C 1 , π 1 e 1 = 1 C 1 , π 1 e 2 = e c and π 2 e 1 = e d .
We will be interested in several specializations on the notion of a (reflexive and) pre-multiplicative graph.
Definition 1.
A reflexive and pre-multiplicative graph, such as the one displayed above, is said to be unital when m e 1 = 1 C 1 = m e 2 .
Definition 2.
A pre-multiplicative graph, such as (65), is said to be
1. 
Transitive when d m = d π 2 and c m = c π 1 ;
2. 
Pre-associative when the pair of digraphs ( π 2 , m ) and ( m , π 1 ) has the properties (G2) and (G3);
3 
Associative when the pair of digraphs ( π 2 , m ) and ( m , π 1 ) has the property (G4);
4 
Symmetric when the pair of digraphs ( π 2 , m ) and ( m , π 1 ) has the property (G5).
Observe that a reflexive, unital and transititve pre-multiplicative graph is the same as a multiplicative graph (Section 2.3).

4.5. Internal Categories and Internal Groupoids Revisited

Let C be an arbitrary category and consider a diagram in C of the shape
Mathematics 11 00660 i094
satisfying the following conditions
d e = 1 C 0 = c e
d π 1 = c π 2
d π 2 = d m , c m = c π 1
m e 1 = 1 C 1 = m e 2
π 2 e 2 = 1 C 1 = π 1 e 1
π 2 e 1 = e d , π 1 e 2 = e c
π 2 p 1 = π 1 p 2
π 2 m 1 = m p 2
π 1 m 2 = m p 1
π 2 m 2 = π 2 p 2 , π 1 m 1 = π 1 p 1
m m 1 = m m 2 .
Definition 3.
An internal category in C is a diagram such as (69), satisfying conditions (70) to (80), such that the two commutative squares
Mathematics 11 00660 i095
are pullback squares. Furthermore, it is an internal groupoid if there exists a morphism i : C 1 C 1 such that d i = c , c i = d , m i 1 = e c and m i 2 = e d . The morphisms i 1 and i 2 are uniquely determined by the properties π 1 i 1 = 1 C 1 = π 2 i 2 and π 1 i 2 = i = π 2 i 1 .
We can easily prove the following well-known assertions (see [19]).
Proposition 3.
Let C be a category. Given an internal category in C , such as in Definition 3, we have:
1. 
the two squares
Mathematics 11 00660 i096
are pullback squares.
2. 
The following conditions are equivalent:
(a) 
The category is an internal groupoid.
(b) 
The commutative square
Mathematics 11 00660 i097
is a pullback square;
(c) 
The commutative square
Mathematics 11 00660 i098
is a pullback square;
(d) 
The commutative square
Mathematics 11 00660 i099
is a pullback square;
(e) 
The commutative square
Mathematics 11 00660 i100
is a pullback square.
(f) 
The commutative square
Mathematics 11 00660 i101
is a pullback square.
Remark that when the category C has pullbacks of split epimorphisms along split epimorphisms, an internal category is completely determined by a diagram
Mathematics 11 00660 i102
together with an isomorphism φ : C 2 Π ( d , c ) , from C 2 into the pullback of the split epimorphism d along the split spimorphism c, which we will always denote by Π ( d , c ) .
Indeed, having φ , in order to get a diagram such as (69) we define:
e 1 = φ 1 1 , e d e 2 = φ 1 e c , 1 m 1 = 1 × m m 2 = m × 1
while the rest of the structure is obtained by considering the two pullback squares of (81), and hence we have
π 1 = π 1 ( d , c ) π 2 = π 2 ( d , c ) C 3 = Π ( π 2 , π 1 ) p 1 = π 1 ( π 2 , π 1 ) p 2 = π 2 ( π 2 , π 1 ) .
Note that we are consistently using the following notation for a pullback square whenever it is assumed to be obtained in a canonical way, for an arbitrary category.
Mathematics 11 00660 i103
We can now relate the notions on internal category and internal groupoid with the ones of pre-multiplicative graph and its variations.
Proposition 4.
Every internal category is a reflexive and pre-multiplicative graph, which is unital, transitive and associative. The converse is also true.
Proposition 5.
Every internal groupoid is a reflexive and pre-multiplicative graph which is unital, transitive and symmetric. The converse is also true.
We are now going to characterize a structure of a trigraph which can be obtained as the multiplicative structure of an internal category or internal groupoid. For the sake of completeness, we consider the intermediate notions of transitive, unital and reflexive pre-multiplicative graphs too.
Recall once more that a trigraph is simply an ordered triple of parallel morphisms ( f , g , h ) , displayed as
Mathematics 11 00660 i104
Our concern is to determine if the trigraph ( f , g , h ) is the multiplicative structure of an internal category or an internal groupoid. An obvious necessary condition is the existence of two splitings r , s : B A such that f r = 1 B = h s and h r f = f s h . We call such a structure a reflexive trigraph and represent it by a five-tuple ( f , r , g , s , h ) , displayed as
Mathematics 11 00660 i105
Before stating the results characterizing those reflexive trigraphs that are multiplicative structures, we need one more concept. A span
Mathematics 11 00660 i106
is said to be an exact span if there exists a commutative square
Mathematics 11 00660 i107
which is at the same time a pushout square and a pullback square.
Theorem 1.
Let C be a category and T = ( f , r , g , s , h ) a reflexive trigraph on it. The following conditions are equivalent:
1. 
T is the multiplicative structure of a reflexive and pre-multiplicative graph.
2. 
The span ( h , f ) is an exact span.
Theorem 2.
Let C be a category and T = ( f , r , g , s , h ) a reflexive trigraph on it. The following conditions are equivalent:
1. 
T is the multiplicative structure of a unital, reflexive and pre-multiplicative graph.
2. 
The span ( h , f ) is an exact span and g r = 1 B = g s .
Theorem 3.
Let C be a category and T = ( f , r , g , s , h ) a reflexive trigraph on it. The following conditions are equivalent:
1. 
T is the multiplicative structure of a transitive, unital, reflexive and pre-multiplicative graph (i.e., a multiplicative graph).
2. 
The span ( h , f ) is an exact span, g r = 1 B = g s , f s f = f s g and h r h = h r g .
3. 
The span ( h , f ) is an exact span and g r = 1 B = g s ; moreover, the trigraph ( f , g , h ) is pre-associative and the two conditions f α = f π 2 and h β = h π 1 are satisfied with α, β, π 1 and π 2 uniquely determined (up to a unique isomorphism) as in conditions (G1), (G2) and (G3).
Theorem 4.
Let C be a category and T = ( f , r , g , s , h ) a reflexive trigraph on it. The following conditions are equivalent:
1. 
T is the multiplicative structure of an internal category.
2. 
The span ( h , f ) is an exact span, g r = 1 B = g s , f s f = f s g , h r h = h r g and the triangulation ( f , g , h ) has the property (G4).
In fact, we should better say that the pair of graphs ( f , g ) and ( g , h ) has the property (G4).
Theorem 5.
Let C be a category and T = ( f , r , g , s , h ) a reflexive triangulation on it. The following conditions are equivalent:
1. 
T is the multiplicative structure of an internal groupoid.
2. 
The span ( h , f ) is an exact span, g r = 1 B = g s , f s f = f s g , h r h = h r g and the triangulation ( f , g , h ) has the property (G5).

5. Conclusions

Although there are some new results, namely the classification of internal groupoids as centralizing digraphs (work presented in [35]), this is mainly a survey paper.
All the procedures and processes of Section 3 have been implemented in a computer system and proved to be efficient and robust. Indeed, the fact that some concrete data is modelled as a categorical structure has the advantage of completely characterizing the input data, the output data, as well as the routines and procedures which are involved in its transformations and manipulations.

Funding

This research was funded by Fundação para a Ciência e a Tecnologia FCT/MCTES (PIDDAC) through the following Projects: Associate Laboratory ARISE LA/P/–0112/2020; UIDP/04044/2020; UIDB/04–044/2020; PAMI–ROTEIRO/0328/2013 (Nº 022158); MATIS (CEN–TRO-01-0145-FEDER-000014 - 3362); CENTRO-01-0247-FEDER-069665; POCI-01-0247-FEDER-069603; POCI-01-0247-FEDER-039958; CENTRO-01-0247-FEDER-039969; POCI-01-0247-FEDER-039863; POCI-01-0247-FEDER-024533; Generative. Thermodynamic; by CDRSP and ESTG from the Polytechnic Institute of Leiria.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Martins-Ferreira, N. On the structure of a triangulation. Scripta-Ingenia 2015, 5, 22–23. [Google Scholar]
  2. Mac Lane, S. Categories for the Working Mathematician; Springer-Verlag: New York, NY, USA, 1998. [Google Scholar]
  3. Borceux, F.; Janelidze, G.; Kelly, G.M. Commentationes Mathematicae Universitatis Carolinae. Intern. Object Actions 2005, 46, 235–255. [Google Scholar]
  4. Bourn, D.; Janelidze, G. Protomodularity, descent, and semidirect products. Theory Appl. Categ. 1998, 4, 37–46. [Google Scholar]
  5. Adámek, J.; Herrlich, H.; Strecker, G.E. Abstract and Concrete Categories—The Joy of Cats; Dover Publications: Mineola, NY, USA, 2009. [Google Scholar]
  6. Voight, J. Quaternion Algebras. In Graduate Texts in Mathematics; Springer: Berlin/Heidelberg, Germany, 2021; Volume 288. [Google Scholar]
  7. Janelidze, G. Internal Crossed Modules. Georgian Math. J. 2003, 10, 99–114. [Google Scholar] [CrossRef]
  8. Kock, A. Fibre Bundles in General Categories. J. Pure Appl. Algebra 1989, 56, 233–245. [Google Scholar] [CrossRef] [Green Version]
  9. Martins-Ferreira, N.; der Linden, T.V. Categories vs. groupoids via generalised Mal’tsev properties. Cah. Topol. Géom. Différ. Catég. 2014, 55, 83–112. [Google Scholar]
  10. Bourn, D.; Gran, M. Centrality and connectors in Maltsev categories. Algebra Universalis 2002, 48, 309–331. [Google Scholar] [CrossRef]
  11. Cigoli, A.S.; Mantovani, S. Action accessibility via centralizers. J. Pure Appl. Algebra 2012, 216, 1852–1865. [Google Scholar] [CrossRef] [Green Version]
  12. Martins-Ferreira, N. Internal precategories relative to split epimorphisms. Scripta-Ingenia 2016, 6, 10–25. [Google Scholar]
  13. Bourn, D. Mal’cev categories and fibration of pointed objects. Appl. Categ. Struct. 1996, 4, 307–327. [Google Scholar] [CrossRef]
  14. Gray, J.R.A.; Martins-Ferreira, N. New exactness conditions involving split cubes in protomodular categories. Theory Appl. Categ. 2018, 33, 1031–1058. [Google Scholar]
  15. Martins-Ferreira, N. Crossed modules and Whitehead sequences. J. Homotopy Relat. Struct. 2016, 11, 893–921. [Google Scholar] [CrossRef] [Green Version]
  16. Martins-Ferreira, N. A Unified Classification Theorem for Mal’tsev-Like Categories. Appl. Categ. Struct. 2020, 28, 323–338. [Google Scholar] [CrossRef]
  17. Janelidze, G. Precategories and Galois Theory; Lecture Notes in Mathematics; Springer-Verlag: New York, NY, USA, 1991; Volume 1488, pp. 157–173. [Google Scholar]
  18. Carboni, A.; Pedicchio, M.C.; Pirovano, N. Internal graphs and internal groupoids in Mal’cev categories. CMS Conf. Proc. 1992, 13, 97–110. [Google Scholar]
  19. Borceux, F.; Bourn, D. Mal’cev, Protomodular, Homological and Semi-Abelian Categories; Springer: Berlin/Heidelberg, Germany, 2004; Volume 566. [Google Scholar]
  20. Martins-Ferreira, N. Weakly Mal’cev categories. Theory Appl. Categ. 2008, 21, 91–117. [Google Scholar]
  21. Janelidze, Z.; Martins-Ferreira, N. Weakly Mal’cev categories and strong relations. Theory Appl. Categ. 2017, 27, 65–79. [Google Scholar]
  22. Martins-Ferreira, N. The notion of multi-link, its applications and examples. Scripta-Ingenia 2016, 7, 14–21. [Google Scholar]
  23. Alves, N.; Bartolo, P.; Martins-Ferreira, N.; Gaspar, M.B.; Mateus, A. BioFab toolbox Software tools for biofabrication. In High Value Manufacturing: Advanced Research in Virtual and Rapid Prototyping; CRC Press: Boca Raton, FL, USA, 2013; pp. 483–487. [Google Scholar]
  24. Gaspar, M.B.; Martins-Ferreira, N. A procedure for computing the symmetric difference of regions defined by polygonal curves. J. Symb. Comput. 2014, 61–62, 53–65. [Google Scholar] [CrossRef]
  25. Gaspar, M.; Martins-Ferreira, N. Optimization of toolpath trajectories on arbitrary surfaces. Scripta-Ingenia 2014, 3, 9–13. [Google Scholar]
  26. Gaspar, M.B.; Martins-Ferreira, N. Robust STL processing for extrusion-based manufacturing. In Innovative Developments in Virtual and Physical Prototyping, Proceedings of the 5th International Conference on Advanced Research in Virtual and Rapid Prototyping, Leiria, Portugal, 28 September–1 October 2011; CRC PRESS: Boca Raton, FL, USA, 2011; pp. 273–278. [Google Scholar]
  27. Gaspar, M.; Martins-Ferreira, N. Finite Orbit decomposition of endomaps. Scripta-Ingenia 2014, 3, 23–26. [Google Scholar]
  28. Martins-Ferreira, N. The quaternion algebra. Scripta-Ingenia 2015, 4, 1–2. [Google Scholar]
  29. Gaspar, M.; Leite, M.; Martins-Ferreira, N.; Panda, B.N. Computer construction of Platonic Solids. Scripta-Ingenia 2015, 4, 6–11. [Google Scholar]
  30. Martins-Ferreira, N.; Woodfield, T.; Lim, K. A Tool for the Generation of 3D-Voxelized-Mesh-Grid Gyroid Surfaces in the Aim of SkelGen; GTLab(SkelGen-2); CDRSP-IPLeiria Technical Report; CDRSP-IPleiria: Marinha Grande, Portugal, 2016; Volume 71. [Google Scholar]
  31. Gaspar, M.B.; Martins-Ferreira, N. Continuous Sweep Strategies for Filling Arbitrary Regions in the Plane (Portuguese). In Proceedings of the Boletim da SPM— Encontro Nacional da SPM 2010, Leiria, Portugal, 8–10 July 2011; pp. 72–78. [Google Scholar]
  32. Carboni, A.; Kelly, G.M.; Pedicchio, M.C. Some remarks on Maltsev and Goursat categories. Appl. Categ. Struct. 1993, 1, 385–421. [Google Scholar] [CrossRef]
  33. Carboni, A.; Lambek, J.; Pedicchio, M.C. Diagram chasing in Mal’cev categories. J. Pure Appl. Algebra 1991, 69, 271–284. [Google Scholar] [CrossRef]
  34. Pedicchio, M.C. Maltsev categories and Maltsev operations. J. Pure Appl. Algebra 1995, 98, 67–71. [Google Scholar] [CrossRef]
  35. Martins-Ferreira, N. On the multiplicative structure of internal categories and internal groupoids (Poster). In Proceedings of the 3rd Workshop on Categorical Algebra: Recent Developments and Future Perspectives (CatAlg2015), Gargnano, Italy, 26–30 April 2015. [Google Scholar]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Martins-Ferreira, N. Internal Categorical Structures and Their Applications. Mathematics 2023, 11, 660. https://doi.org/10.3390/math11030660

AMA Style

Martins-Ferreira N. Internal Categorical Structures and Their Applications. Mathematics. 2023; 11(3):660. https://doi.org/10.3390/math11030660

Chicago/Turabian Style

Martins-Ferreira, Nelson. 2023. "Internal Categorical Structures and Their Applications" Mathematics 11, no. 3: 660. https://doi.org/10.3390/math11030660

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop