**5. Naming functors and their properties**

Analysis of the proposed CM formalization suggests identifying the structure of CM models defined in the framework of type theory. The practice shows that an adequate approach in constructing such models is the category theory. At the same time, the model is built in the selected category using its objects and arrows. The objects are matched to the types used when constructing the CM, and arrows are matched to the nodes and links of the CM. Depending on the definition of a category, its objects can carry an additional structure within themselves. They can be put into line with the characteristics of the modeled domain.

Common constructions of the category theory can be used to introduce and process the CM constructions that are of interest from both a fundamental and a practical point of view. One of such constructions is the adjoint functor. It turns out that the conjugation scheme allows the transition from an "atomic" description of model objects, in which we distract from their internal structure to the description that takes into account such a structure. A back transition is also possible.

From a fundamental point of view, the mentioned feature provides the CM scaling, that is, folding the nested CM into a separate node and back deployment. From a practical point of view, this possibility corresponds to the definition of an abstract type of data within the framework of a programming system. In this case, the functors that implement conjugation provide a transition from the description of an abstract object or from the name of the object (which in the programming system corresponds to the address of the object in memory) to the representation of the object. This justifies their title as "naming" functors.

#### **5.1 Adjunction**

The traceability of the interpretation of various entries of an information object (CM or its fragment) requires constructing models of interpretation depending on the context. When the CM is placed in a programming environment (e.g., Java), the context is formed by the constructions chosen to represent the CM fragments, as well as the associated data. The context dependency can be traced basing on the use of the technique of variable domains, which are functors.

Practical implementation of the system supporting the work with CMs requires selecting a method of their representation by the programming structures, such as arrays or strings. A link to the filled-in fragment of the representing structure can be given as an index in the structure, which may be considered as a special naming structure. The work with CM necessitates a transition from the name of the CM fragment to its value and backward, i.e., naming and dereferencing the CM fragments. To ensure the completeness of the computational model, it must provide a transition from the naming constructs to the content of the representing constructions and back.

Because of this, it looks attractive to develop technology, (1) coordinating with the general structure of the computational model, i.e., presented in the form of a functor; (2) making possible to name structures and methods of working with

named structures; and (3) providing the ability to display on the structures of the programming system. Further on, it will be shown that in some cases the naming may be associated with the presenting CM's constructions in a categorically invariant manner. The corresponding categories contain structures of a certain type as objects, and the mappings between objects that preserve their structure serve as arrows. The construction of the required type model uses the concept of adjunction.

*Definition. Adjunction* between categories C and D is the four-tuple h i *F*, *G*, *φ*, *ψ* , where *F* is a functor C!D, *G* is a functor D!C,

$$\begin{array}{rcl} \mathcal{F} & & \\ \mathcal{L} & \Rightarrow & \mathcal{D}, \\ & G & & \end{array} \tag{20}$$

Now let us consider the constructions Dð Þ *Fc*, *d* and Cð Þ *c*, *Gd* from the definition of adjunction. Absolutely similar to the previous, they may be considered as object mappings of bifunctors Dð Þ *<sup>F</sup>*�, � and C �ð Þ , *<sup>G</sup>*� , acting from <sup>C</sup>*op* � D in *Set* in

Dð Þ *<sup>F</sup>*�, � : <sup>C</sup>*op* �D !*Fop*�*Id* <sup>D</sup>*op* �D! *Set*,

Dð Þ¼ *Fa*, *b* f g *f* ∈ *Ar*ð Þj D *f* : *Fa* ! *b*

*Fh Fa* ! *f b* ! *<sup>k</sup> b*<sup>0</sup>

Cð Þ¼ *a*, *Gb* f g *f* ∈ *Ar*ð Þj C *f* : *a* ! *Gb*

*Gb* ! *Gk Gb*<sup>0</sup>

It is indicated in the definition of adjunction that the mappings *φ* and *ψ* are natural transformations of the above defined functors (i.e., arrow in the category *Funct* <sup>C</sup>*op* ð Þ � D, *Set* ), and this finetunes the phrase "*<sup>φ</sup>* and *<sup>ψ</sup>* are natural for *<sup>c</sup>* and *<sup>d</sup>*."

↓Dð Þ *Fh*, *k* ↓Cð Þ *h*, *Gk*

*φc*0,*d*<sup>0</sup>

The arrow in the category <sup>C</sup>*op* � D is the pair of arrows h i *<sup>h</sup>*, *<sup>k</sup>* , where *<sup>h</sup>* : *<sup>c</sup>*<sup>0</sup> !

The values of the considered functors are ordinary sets; this is why the above written correlation binds ordinary functions on sets. Thanks to this it is possible to compare the values of functions on an arbitrary element of their definition, which is the function *f* ∈ Dð Þ *Fc*, *d* (i.e., *f* : *Fc* ! *d*∈ *Ar*ð Þ D ), i.e., to apply both parts of the

∈ *Ar*ð Þ D .

Cð Þ *c*, *Gd*

,*d*<sup>0</sup> <sup>∘</sup> Dð Þ *Fh*, *<sup>k</sup> <sup>f</sup>*

,*<sup>d</sup>*0ð Þ Dð Þ *Fh*, *k f*

,*<sup>d</sup>*0ð Þ *k* ∘*f* ∘ *Fh*

C *c* 0 , *Gd*<sup>0</sup>

Dð Þ¼ *Fh*, *<sup>k</sup> <sup>k</sup>* <sup>∘</sup>*<sup>f</sup>* <sup>∘</sup> *Fh*, (26)

Cð Þ¼ *<sup>h</sup>*, *Gk Gk* <sup>∘</sup>*<sup>f</sup>* <sup>∘</sup> *<sup>h</sup>*, (28)

, (27)

, (29)

,*d*<sup>0</sup> ∘ Dð Þ *Fh*, *k :* (31)

*:* (32)

(25)

(30)

C �ð Þ , *<sup>G</sup>*� : <sup>C</sup>*op* �D !*Id*�*<sup>G</sup>* <sup>C</sup>*op* �C! *Set:*

Totally these functors are set by the following way:

*Computational Model for the Construction of Cognitive Maps*

with the diagram (containing the arrows from *Ar*ð Þ D )

*Fa*<sup>0</sup> !

*a*<sup>0</sup> ! *h a* ! *f*

Dð Þ! *Fc*, *<sup>d</sup> <sup>φ</sup>c*,*<sup>d</sup>*

, *<sup>d</sup>*<sup>0</sup> !

Let us consider the diagrams that describe this naturality:

D *Fc*<sup>0</sup>

Cð Þ *h*, *Gk* ∘ *φ<sup>c</sup>*,*<sup>d</sup> <sup>f</sup>* <sup>¼</sup> *<sup>φ</sup><sup>c</sup>*<sup>0</sup>

Cð Þ *<sup>h</sup>*, *Gk <sup>φ</sup><sup>c</sup>*,*df* <sup>¼</sup> *<sup>φ</sup><sup>c</sup>*<sup>0</sup>

*Gk* ∘ *φ<sup>c</sup>*,*df* ∘ *h* ¼ *φ<sup>c</sup>*<sup>0</sup>

∈ *Ar*ð Þ D . We have

Cð Þ *h*, *Gk* ∘ *φ<sup>c</sup>*,*<sup>d</sup>* ¼ *φ<sup>c</sup>*<sup>0</sup>

accordance with the following rule:

*DOI: http://dx.doi.org/10.5772/intechopen.90173*

with the diagram (in *Ar*ð Þ C )

*c*∈ *Ar*ð Þ C and *k* : *d* ! *d*<sup>0</sup>

**155**

equality to this function. We get

where *h* : *a*<sup>0</sup> ! *a*∈ *Ar*ð Þ C and *k* : *b* ! *b*<sup>0</sup>

and

function *φ* (correspondingly *ψ*) to every pair of objects *c*∈ *Ob*ð Þ C , *d*∈ *Ob*ð Þ D puts in correspondence the mapping Dð Þ!C *Fc*, *d* ð Þ *c*, *Gd* (correspondingly Cð Þ!D *c*, *Gd* ð Þ *Fc*, *d* ), natural according to *c* and *d*, and in this case *φ* ∘ *ψ* ¼ 1, *ψ* ∘ *φ* ¼ 1.

*Remark.* So, *φ<sup>c</sup>*,*<sup>d</sup>* and *ψ<sup>c</sup>*,*<sup>d</sup>* set the bijection

$$\mathcal{D}(\text{Fc}, d) \cong \mathcal{C}(\mathfrak{c}, \text{Gd}), \tag{21}$$

which is natural in *c* and *d*.

The given definition needs to be explained. Mind that the natural transformation from the functor S : C!D into the functor *T* : C!D is the mapping *μ*, putting in correspondence with every object *a*∈ *Ob C*ð Þ the arrow *μ<sup>a</sup>* : *Sa* ! *Ta*∈ *Ar D*ð Þ in such a way that for each arrow *f* : *a* ! *b* from *Ar C*ð Þ, the diagram

$$\begin{array}{ccccc}\text{Sa} & \stackrel{\mu\_a}{\rightarrow} & \text{Ta} \\\\ \downarrow \text{Sf} & & \downarrow \text{Tf} \\\\ \text{Sb} & \stackrel{\mu\_b}{\rightarrow} & \text{Tb} \end{array} \tag{22}$$

commutates, i.e., *Tf* ∘ *μ<sup>a</sup>* ¼ *μ<sup>b</sup>* ∘ *Sf*.

Also mind that with the help of Cð Þ *a*, *b* , the set of arrows is designated as the arrows of category C with start in the object *a* and the end in the object *b* (under the "set" we understand the set in that model of set theory, in which the category C is defined). In such a way, C �ð Þ , � is the mapping of the pair of objects of the category C into the sets. This mapping is an object mapping of *bifunctor* (i.e., of a functor from two parameters), contravariant in the first argument and covariant in the second one. In full this bifunctor is defined as follows:

$$\begin{aligned} \mathcal{L}(a, b) &= \{ f \in Ar(\mathcal{C}) \, | \, f: a \to b \}, \\ \mathcal{L}(h, k) &= k \circ f \circ h. \end{aligned} \tag{23}$$

In accordance with the following diagram

$$a' \xrightarrow{h} a \xrightarrow{f} b \xrightarrow{k} b',\tag{24}$$

where *h* : *a*<sup>0</sup> ! *a*, *k* : *b* ! *b*<sup>0</sup> .

To give a formalized representation of this functor, it is convenient to pass over to the dual category <sup>C</sup>*op*. Then the functor defined above turns out to be a functor from <sup>C</sup>*op* �C!S*et*.

Now let us consider the constructions Dð Þ *Fc*, *d* and Cð Þ *c*, *Gd* from the definition of adjunction. Absolutely similar to the previous, they may be considered as object mappings of bifunctors Dð Þ *<sup>F</sup>*�, � and C �ð Þ , *<sup>G</sup>*� , acting from <sup>C</sup>*op* � D in *Set* in accordance with the following rule:

$$\begin{aligned} \mathcal{D}(F-,-): \mathcal{C}^{op} \times \mathcal{D} & \xrightarrow{F^{p} \times \text{Id}} \mathcal{D}^{op} \times \mathcal{D} \to \text{Set}, \\ \mathcal{C}(-,G-): \mathcal{C}^{op} \times \mathcal{D} & \xrightarrow{Id \times G} \mathcal{C}^{op} \times \mathcal{C} \to \text{Set}. \end{aligned} \tag{25}$$

Totally these functors are set by the following way:

$$\begin{aligned} \mathcal{D}(Fa, b) &= \{ f \in Ar(\mathcal{D}) \, | \, f: Fa \to b \text{ } \} \\ &\mathcal{D}(Fh, k) = k \circ f \circ Fh, \end{aligned} \tag{26}$$

with the diagram (containing the arrows from *Ar*ð Þ D )

$$\text{Fa'} \stackrel{\text{Fh}}{\rightarrow} \text{Fa} \stackrel{f}{\rightarrow} \text{b} \stackrel{k}{\rightarrow} \text{b'},\tag{27}$$

and

named structures; and (3) providing the ability to display on the structures of the programming system. Further on, it will be shown that in some cases the naming may be associated with the presenting CM's constructions in a categorically invariant manner. The corresponding categories contain structures of a certain type as objects, and the mappings between objects that preserve their structure serve as arrows. The construction of the required type model uses the concept of adjunction. *Definition. Adjunction* between categories C and D is the four-tuple h i *F*, *G*, *φ*, *ψ* ,

> *F* C ⇄ D, *G*

function *φ* (correspondingly *ψ*) to every pair of objects *c*∈ *Ob*ð Þ C , *d*∈ *Ob*ð Þ D

The given definition needs to be explained. Mind that the natural transformation from the functor S : C!D into the functor *T* : C!D is the mapping *μ*, putting in correspondence with every object *a*∈ *Ob C*ð Þ the arrow *μ<sup>a</sup>* : *Sa* ! *Ta*∈ *Ar D*ð Þ in such

*Ta*

*Tb*

*Sa* ! *μa*

*Sb* ! *μb*

↓*Sf* ↓*Tf*

Also mind that with the help of Cð Þ *a*, *b* , the set of arrows is designated as the arrows of category C with start in the object *a* and the end in the object *b* (under the "set" we understand the set in that model of set theory, in which the category C is defined). In such a way, C �ð Þ , � is the mapping of the pair of objects of the category C into the sets. This mapping is an object mapping of *bifunctor* (i.e., of a functor from two parameters), contravariant in the first argument and covariant in the

Cð Þ¼ *a*, *b* f g *f* ∈ *Ar*ð Þj C *f* : *a* ! *b* ,

To give a formalized representation of this functor, it is convenient to pass over to the dual category <sup>C</sup>*op*. Then the functor defined above turns out to be a functor

*a*<sup>0</sup> ! *h a* ! *f b* ! *<sup>k</sup> b*<sup>0</sup>

.

Cð Þ¼ *<sup>h</sup>*, *<sup>k</sup> <sup>k</sup>* <sup>∘</sup>*<sup>f</sup>* <sup>∘</sup> *<sup>h</sup>:* (23)

, (24)

Dð ÞffiC *Fc*, *d* ð Þ *c*, *Gd* , (21)

puts in correspondence the mapping Dð Þ!C *Fc*, *d* ð Þ *c*, *Gd* (correspondingly Cð Þ!D *c*, *Gd* ð Þ *Fc*, *d* ), natural according to *c* and *d*, and in this case *φ* ∘ *ψ* ¼ 1,

(20)

(22)

where *F* is a functor C!D, *G* is a functor D!C,

*Remark.* So, *φ<sup>c</sup>*,*<sup>d</sup>* and *ψ<sup>c</sup>*,*<sup>d</sup>* set the bijection

a way that for each arrow *f* : *a* ! *b* from *Ar C*ð Þ, the diagram

which is natural in *c* and *d*.

*Cognitive and Intermedial Semiotics*

commutates, i.e., *Tf* ∘ *μ<sup>a</sup>* ¼ *μ<sup>b</sup>* ∘ *Sf*.

second one. In full this bifunctor is defined as follows:

In accordance with the following diagram

where *h* : *a*<sup>0</sup> ! *a*, *k* : *b* ! *b*<sup>0</sup>

from <sup>C</sup>*op* �C!S*et*.

**154**

*ψ* ∘ *φ* ¼ 1.

$$\begin{aligned} \mathcal{C}(a, Gb) &= \{ f \in Ar(\mathcal{C}) | f : a \to Gb \} \\ \mathcal{C}(h, Gk) &= Gk \circ f \circ h, \end{aligned} \tag{28}$$

with the diagram (in *Ar*ð Þ C )

$$a' \xrightarrow{h} a \xrightarrow{f} \text{G}b \xrightarrow{\text{G}k} \text{G}b',\tag{29}$$

where *h* : *a*<sup>0</sup> ! *a*∈ *Ar*ð Þ C and *k* : *b* ! *b*<sup>0</sup> ∈ *Ar*ð Þ D .

It is indicated in the definition of adjunction that the mappings *φ* and *ψ* are natural transformations of the above defined functors (i.e., arrow in the category *Funct* <sup>C</sup>*op* ð Þ � D, *Set* ), and this finetunes the phrase "*<sup>φ</sup>* and *<sup>ψ</sup>* are natural for *<sup>c</sup>* and *<sup>d</sup>*." Let us consider the diagrams that describe this naturality:

$$\begin{array}{ccc}\mathcal{D}(\mathsf{F}c,d) & \stackrel{\mathsf{op}\_{cd}}{\rightarrow} & \mathcal{C}(c,\mathsf{G}d) \\ \downarrow \mathcal{D}(\mathsf{F}h,k) & & \downarrow \mathcal{C}(h,\mathsf{G}k) \\ \mathcal{D}(\mathsf{F}c',d') & \stackrel{\mathsf{op}\_{c',d'}}{\rightarrow} & \mathcal{C}(c',\mathsf{G}d') \end{array} \tag{30}$$

The arrow in the category <sup>C</sup>*op* � D is the pair of arrows h i *<sup>h</sup>*, *<sup>k</sup>* , where *<sup>h</sup>* : *<sup>c</sup>*<sup>0</sup> ! *c*∈ *Ar*ð Þ C and *k* : *d* ! *d*<sup>0</sup> ∈ *Ar*ð Þ D . We have

$$
\mathcal{C}(h, \mathbf{G}k) \circ \boldsymbol{\varrho}\_{c,d} = \boldsymbol{\varrho}\_{c',d} \circ \mathcal{D}(\mathbf{F}h, k). \tag{31}
$$

The values of the considered functors are ordinary sets; this is why the above written correlation binds ordinary functions on sets. Thanks to this it is possible to compare the values of functions on an arbitrary element of their definition, which is the function *f* ∈ Dð Þ *Fc*, *d* (i.e., *f* : *Fc* ! *d*∈ *Ar*ð Þ D ), i.e., to apply both parts of the equality to this function. We get

$$\begin{aligned} \left(\mathcal{C}(h, \mathcal{G}k) \circ \rho\_{c,d}\right) f &= \left(\rho\_{c',d'} \circ \mathcal{D}(Fh, k)\right) f \\ \mathcal{C}(h, \mathcal{G}k) \left(\rho\_{c,d} f\right) &= \rho\_{c',d'} (\mathcal{D}(Fh, k) f) \quad . \\ \mathcal{G}k \circ \rho\_{c,d} f \circ h &= \rho\_{c',d'} (k \circ f \circ Fh) \end{aligned} \tag{32}$$

Schematically the action *φ* may be shown as follows:

$$\begin{array}{ccccccccc}Ar(\mathcal{D}): & \varrho\_{c',d'}(\quad & \text{Fc}' & \stackrel{\mathit{fh}}{\longrightarrow} & \text{Fc} & \stackrel{f}{\longrightarrow} & d & \stackrel{k}{\longrightarrow} & d' & \text{ } \\\\ Ar(\mathcal{C}): & & & \text{c'} & \stackrel{h}{\longrightarrow} & \text{c} & \stackrel{\mathit{\rho\_{c}f}}{\stackrel{\mathit{\dot{\mathsf{E}}}}{\longrightarrow}} & \mathsf{Gd} & \stackrel{\mathit{Gr}}{\stackrel{\mathit{\dot{\mathsf{E}}}}{\longrightarrow}} & \mathsf{Gd}'. \end{array} \tag{33}$$

spaces and arrows are linear mappings between them. We will consider not only finite-dimensional but also infinite-dimensional spaces. This practically means that we do not limit the dimension of the represented CM. In this situation we assume that the elements of the infinite-dimensional linear space are finite linear combinations of the vectors of the space with coefficients from the field *K* (in accordance with the fact that we do not specify on the space any topology and, thuswise, convergence). In this scenario, obviously, the axioms of the linear vector space turn

Let us consider the functor *G* : V*ectK* ! *Set*, which associates with each vector

To make it clearer, let us consider the vector space *B* and suggest that the vectors

*bi* <sup>∈</sup>*B*<sup>0</sup> <sup>⊂</sup>*<sup>B</sup>kibi*, where *k*∈ *K* and *B*<sup>0</sup> are finite. As a result of the action of the functor *G*

*Gg*ð Þ¼ ⌜*v*⌝ ⌜*g v*ð Þ⌝*:* (39)

⊂ *A* it continues formally according to the linearity:

1 � *ai* ¼ 1 � *ai* ¼ *ai:* (41)

*kif a*ð Þ*<sup>i</sup> :* (40)

*ai* <sup>∈</sup> *<sup>A</sup>*0*kiai*, where

*ai* <sup>∈</sup> *<sup>A</sup>*<sup>0</sup> <sup>⊂</sup> *<sup>A</sup>kiai*,

, the space *B* is transformed into the set *GB* consisting of the same elements as the underlying set of *B*. The vector *v*, considered as an element of *GB*, will be written in the form ⌜*v*⌝, where the angle brackets ⌜ … ⌝ show that we consider the object as having no internal structure (i.e., and actually form the name of the corresponding

The considered functor has the left adjoint *F* : S*et* ! V*ectK*. The functor *F* for every set *A* forms vector space, in which the elements of the initial set *a*∈ *A* are the

linear operator, which acts on the basic vectors of the space *FA* (i.e., on the elements of the set *A*) in the same way as the function *f* (i.e., transforms *a*∈*FA* to *f a*ð Þ∈*FB*),

1

<sup>A</sup> <sup>¼</sup> <sup>X</sup> *ai* ∈ *A*<sup>0</sup>

To establish the adjunction it is necessary to specify *φ* and *ψ* and after it to check

*kiai*

It is easy to check that the given definition really specifies the functor.

their naturalness. Since *φ* : V*ectK*ð Þ!S *FA*, *B et A*ð Þ , *GB* , we need to consider the arrow *f* : *FA* ! *B* and put into correspondence with it the arrow *φf* : *A* ! *GB*. It's

and it also contains, in particular, such linear combinations, where *A*<sup>0</sup> ¼ f g *ai* and

Such elements can be identified with elements of the set *A*. Since *f* is given on all elements of the set *FA*, it is also set on the elements identified with elements of the set *A*, and it puts into correspondence with them some elements of the set *B*. But *φf* must be specified on the elements of the set *A* and associate them with some elements of

easy to do due to *FA* containing all linear combinations of the type P

X *ai* ∈f g *ai*

⊂ *A* are finite. The function *f* : *A* ! *B* is mapped by the functor *F* into

space of its underlying set, i.e., the set of vectors of this space, considered as nonfactorable (structureless) objects. Obviously, *G* is a functor; it is the so-called neglecting, erasing, or forgetful functor, which is so named because it forgets the

*bi* form a basis in it. Then each vector of the space *<sup>B</sup>* can be expressed as *<sup>v</sup>* <sup>¼</sup> <sup>P</sup>

object or, more precisely, an expression describing this object). The arrows *g* ∈ *Ar*ð Þ V*ectK* are transferred to "the same" arrows, considered on the sets, i.e.,

basis and are considered as their formal finite linear combinations P

*Ff* X *ai* ∈ *A*<sup>0</sup>

0 @

structure of objects of the initial category or its part.

*Computational Model for the Construction of Cognitive Maps*

*DOI: http://dx.doi.org/10.5772/intechopen.90173*

out to be fulfilled.

*ki* ∈*K* and *A*<sup>0</sup>

**157**

and on linear combinations *a*∈ *A*<sup>0</sup>

the corresponding *ki* ¼ 1. Then we can write

The drawn ratio is equivalent to the combination of two of its private cases:

$$\mathcal{G}k \circ \rho\_{c,d} f = \rho\_{c',d'}(k \circ f), \qquad \rho\_{c,d} f \circ h = \rho\_{c',d'}(f \circ Fh), \tag{34}$$

and to work with which is somehow easier than with the initial ration as each of them contains only one additional arrow.

Absolutely similar the condition of naturality for *ψ* is expressed as follows:

$$\begin{array}{ll} \mathcal{C}(c, Gd) & \stackrel{\Psi\_{cd}}{\rightarrow} & \mathcal{D}(Fc, d) \\ \downarrow \mathcal{C}(h, Gk) & & \downarrow \mathcal{D}(Fh, k) \\ \mathcal{C}(c', Gd') & \stackrel{\Psi\_{c'd'}}{\rightarrow} & \mathcal{D}(Fc', d') \end{array} \tag{35}$$

or

$$
\mathcal{D}(\mathcal{F}h,k) \circ \psi\_{c,d} = \psi\_{c',d'} \circ \mathcal{C}(h,Gk). \tag{36}
$$

Selecting the arrow *g* ∈Cð Þ *c*, *Gd* (i.e., *f* : *c* ! *Gd* ∈ *Ar*ð Þ C ), we get

$$\begin{aligned} k \circ \boldsymbol{\nu}\_{\boldsymbol{c},d} \mathbf{g} \circ \mathrm{Fh} &= \boldsymbol{\nu}\_{\boldsymbol{c'},d'} (\mathrm{Gk} \circ \mathbf{g} \circ \boldsymbol{h}),\\ k \circ \boldsymbol{\nu}\_{\boldsymbol{c},d} \mathbf{g} &= \boldsymbol{\nu}\_{\boldsymbol{c'},d'} (\mathrm{Gk} \circ \mathbf{g}), \qquad \boldsymbol{\nu}\_{\boldsymbol{c},d} \mathbf{g} \circ \mathrm{Fh} = \boldsymbol{\nu}\_{\boldsymbol{c'},d'} (\boldsymbol{f} \circ \boldsymbol{h}), \end{aligned} \tag{37}$$

schematically

$$\begin{array}{ccccccccc}Ar(\mathcal{C}): & \Psi\_{c',d'}(\quad & \mathcal{c'} & \xrightarrow{h} & \mathcal{c} & \xrightarrow{\mathcal{G}} & \mathcal{G}d & \xrightarrow{\mathcal{G}h} & \mathcal{G}d' & \text{} \\ Ar(\mathcal{D}): & & & & & & \mathcal{F}c' & \xrightarrow{\mathcal{F}h} & \mathcal{F}c & \xrightarrow{\Psi\_{c,\mathcal{G}}} & d & \xrightarrow{h} & d'. \end{array} \tag{38}$$

In case of adjunction, the functor *F* is named *left adjoint* to the functor *G*, and *G* is *right adjoint* to the functor *F*. To make the remembering easier, note that in the bijection Dð ÞffiC *Fc*, *d* ð Þ *c*, *Gd* , the functor *F* is applied to the argument in the left position and *G* is applied to the argument in the right position.

In the given definition the category, *Set* plays a special role as a category, in which the sets of arrows are defined for C and D. This restriction can be overcome: to define a category, another category can be used as a basis, and this category should be additionally conditioned.

#### **5.2 Samples of naming constructions**

Let us consider some examples of naming constructions based on adjoint functor.

#### *5.2.1 Arrays (vectors)*

One of the standard representing constructions in practical programming languages for complex structures of data, including CMs or their fragments, is an array or vector. The bunch of possible vectors forms a linear space.

Let us consider a common structure of linear space. Let *K* be a field and V*ectK* be the category of linear (vector) spaces over the field *K*, whose objects are vector

*Computational Model for the Construction of Cognitive Maps DOI: http://dx.doi.org/10.5772/intechopen.90173*

Schematically the action *φ* may be shown as follows:

,*d*0ð *Fc*<sup>0</sup> !

<sup>0</sup> ! *h*

*Fh Fc* !

The drawn ratio is equivalent to the combination of two of its private cases:

Absolutely similar the condition of naturality for *ψ* is expressed as follows:

↓Cð Þ *h*, *Gk* ↓Dð Þ *Fh*, *k*

*ψc*0,*d*<sup>0</sup>

Cð Þ! *<sup>c</sup>*, *Gd <sup>ψ</sup>c*,*<sup>d</sup>*

, *Gd*<sup>0</sup> !

Dð Þ *Fh*, *k* ∘ *ψ<sup>c</sup>*,*<sup>d</sup>* ¼ *ψ<sup>c</sup>*<sup>0</sup>

Selecting the arrow *g* ∈Cð Þ *c*, *Gd* (i.e., *f* : *c* ! *Gd* ∈ *Ar*ð Þ C ), we get

*k* ∘ *ψ<sup>c</sup>*,*dg* ∘ *Fh* ¼ *ψ<sup>c</sup>*<sup>0</sup>

<sup>0</sup> ! *h*

,*<sup>d</sup>*0ð *c*

position and *G* is applied to the argument in the right position.

*Ar*ð Þ D : *Fc*<sup>0</sup> !

C *c* 0 *f*

*c* ! *φc*,*df*

,*d*0ð Þ *k* ∘*f* , *φc*,*<sup>d</sup> f* ∘ *h* ¼ *φc*<sup>0</sup>

and to work with which is somehow easier than with the initial ration as each of

Dð Þ *Fc*, *d*

D *Fc*<sup>0</sup> , *d*<sup>0</sup>

,*<sup>d</sup>*0ð Þ *Gk* ∘ *g* ∘ *h* ,

*Gd* !

*d* !

,*<sup>d</sup>*0ð Þ *Gk* ∘ *g* , *ψ<sup>c</sup>*,*dg* ∘ *Fh* ¼ *ψ<sup>c</sup>*<sup>0</sup>

*c* ! *g*

*ψc*,*dg*

*Fh Fc* !

In case of adjunction, the functor *F* is named *left adjoint* to the functor *G*, and *G* is *right adjoint* to the functor *F*. To make the remembering easier, note that in the bijection Dð ÞffiC *Fc*, *d* ð Þ *c*, *Gd* , the functor *F* is applied to the argument in the left

In the given definition the category, *Set* plays a special role as a category, in which the sets of arrows are defined for C and D. This restriction can be overcome: to define a category, another category can be used as a basis, and this category

Let us consider some examples of naming constructions based on adjoint functor.

Let us consider a common structure of linear space. Let *K* be a field and V*ectK* be the category of linear (vector) spaces over the field *K*, whose objects are vector

One of the standard representing constructions in practical programming languages for complex structures of data, including CMs or their fragments, is an

array or vector. The bunch of possible vectors forms a linear space.

*d* !

*Gd* !

*<sup>k</sup> <sup>d</sup>*<sup>0</sup> <sup>Þ</sup>

,*d*<sup>0</sup> ∘ Cð Þ *h*, *Gk :* (36)

*Gk Gd*<sup>0</sup> <sup>Þ</sup>

*<sup>k</sup> d*<sup>0</sup> *:*

,*<sup>d</sup>*0ð Þ *<sup>f</sup>* <sup>∘</sup> *<sup>h</sup>* , (37)

,*d*0ð Þ *f* ∘ *Fh* , (34)

(33)

(35)

(38)

*Gk Gd*<sup>0</sup> *:*

*Ar*ð Þ D : *φc*<sup>0</sup>

*Cognitive and Intermedial Semiotics*

*Ar*ð Þ C : *c*

*Gk* ∘ *φc*,*<sup>d</sup> f* ¼ *φc*<sup>0</sup>

them contains only one additional arrow.

*k* ∘ *ψ<sup>c</sup>*,*dg* ¼ *ψ<sup>c</sup>*<sup>0</sup>

*Ar*ð Þ C : *ψ<sup>c</sup>*<sup>0</sup>

should be additionally conditioned.

**5.2 Samples of naming constructions**

or

schematically

*5.2.1 Arrays (vectors)*

**156**

spaces and arrows are linear mappings between them. We will consider not only finite-dimensional but also infinite-dimensional spaces. This practically means that we do not limit the dimension of the represented CM. In this situation we assume that the elements of the infinite-dimensional linear space are finite linear combinations of the vectors of the space with coefficients from the field *K* (in accordance with the fact that we do not specify on the space any topology and, thuswise, convergence). In this scenario, obviously, the axioms of the linear vector space turn out to be fulfilled.

Let us consider the functor *G* : V*ectK* ! *Set*, which associates with each vector space of its underlying set, i.e., the set of vectors of this space, considered as nonfactorable (structureless) objects. Obviously, *G* is a functor; it is the so-called neglecting, erasing, or forgetful functor, which is so named because it forgets the structure of objects of the initial category or its part.

To make it clearer, let us consider the vector space *B* and suggest that the vectors *bi* form a basis in it. Then each vector of the space *<sup>B</sup>* can be expressed as *<sup>v</sup>* <sup>¼</sup> <sup>P</sup> *bi* <sup>∈</sup>*B*<sup>0</sup> <sup>⊂</sup>*<sup>B</sup>kibi*, where *k*∈ *K* and *B*<sup>0</sup> are finite. As a result of the action of the functor *G*

, the space *B* is transformed into the set *GB* consisting of the same elements as the underlying set of *B*. The vector *v*, considered as an element of *GB*, will be written in the form ⌜*v*⌝, where the angle brackets ⌜ … ⌝ show that we consider the object as having no internal structure (i.e., and actually form the name of the corresponding object or, more precisely, an expression describing this object). The arrows *g* ∈ *Ar*ð Þ V*ectK* are transferred to "the same" arrows, considered on the sets, i.e.,

*Gg*ð Þ¼ ⌜*v*⌝ ⌜*g v*ð Þ⌝*:* (39)

The considered functor has the left adjoint *F* : S*et* ! V*ectK*. The functor *F* for every set *A* forms vector space, in which the elements of the initial set *a*∈ *A* are the basis and are considered as their formal finite linear combinations P *ai* <sup>∈</sup> *<sup>A</sup>*0*kiai*, where *ki* ∈*K* and *A*<sup>0</sup> ⊂ *A* are finite. The function *f* : *A* ! *B* is mapped by the functor *F* into linear operator, which acts on the basic vectors of the space *FA* (i.e., on the elements of the set *A*) in the same way as the function *f* (i.e., transforms *a*∈*FA* to *f a*ð Þ∈*FB*), and on linear combinations *a*∈ *A*<sup>0</sup> ⊂ *A* it continues formally according to the linearity:

$$F^f\left(\sum\_{a\_i \in A'} k\_i a\_i\right) = \sum\_{a\_i \in A'} k\_{\vec{U}} f(a\_i). \tag{40}$$

It is easy to check that the given definition really specifies the functor.

To establish the adjunction it is necessary to specify *φ* and *ψ* and after it to check their naturalness. Since *φ* : V*ectK*ð Þ!S *FA*, *B et A*ð Þ , *GB* , we need to consider the arrow *f* : *FA* ! *B* and put into correspondence with it the arrow *φf* : *A* ! *GB*. It's easy to do due to *FA* containing all linear combinations of the type P *ai* <sup>∈</sup> *<sup>A</sup>*<sup>0</sup> <sup>⊂</sup> *<sup>A</sup>kiai*, and it also contains, in particular, such linear combinations, where *A*<sup>0</sup> ¼ f g *ai* and the corresponding *ki* ¼ 1. Then we can write

$$\sum\_{a\_i \in \{a\_i\}} \mathbf{1} \cdot a\_i = \mathbf{1} \cdot a\_i = a\_i. \tag{41}$$

Such elements can be identified with elements of the set *A*. Since *f* is given on all elements of the set *FA*, it is also set on the elements identified with elements of the set *A*, and it puts into correspondence with them some elements of the set *B*. But *φf* must be specified on the elements of the set *A* and associate them with some elements of

the set *GB*. It is easy to see what these elements are: they must correspond to the initial elements of *B* under the correspondence given by the functor *G*. Formally

$$(qf)(a) = \square f(a)\square,\tag{42}$$

Now let *k* : *B* ! *B*<sup>0</sup>

. Consequently,

and *k* : *B* ! *B*<sup>0</sup>

*A*<sup>0</sup> ! *GB*<sup>0</sup>

and

**159**

, then *Gk* : *GB* ! *GB*<sup>0</sup>

*A* ! *g*

*A* ! *g* ∗

*kiai*

and compute on it the value of the arrows that form the naturality diagram:

*ψ*ð Þ *Gk* ∘ *g* ∘ *h* ðÞ¼ *t*

<sup>¼</sup> <sup>X</sup> *ai* ∈ *A*<sup>0</sup>

<sup>¼</sup> <sup>X</sup> *ai* ∈ *A*<sup>0</sup>

> 0 @

> 0 @

<sup>¼</sup> *<sup>k</sup>* <sup>X</sup> *ai* ∈ *A*<sup>0</sup>

<sup>¼</sup> <sup>X</sup> *ai* ∈ *A*<sup>0</sup>

0 @

ð Þ *k* ∘ *ψg* ∘ *Fh* ðÞ¼ *t*

<sup>¼</sup> ð Þ *<sup>k</sup>* <sup>∘</sup> *<sup>ψ</sup><sup>g</sup>* <sup>∘</sup> *Fh* <sup>X</sup>

<sup>¼</sup> *<sup>k</sup> <sup>ψ</sup>g Fh* <sup>X</sup>

0 @

<sup>¼</sup> *<sup>k</sup> <sup>ψ</sup><sup>g</sup>* <sup>X</sup>

0 @

<sup>¼</sup> *<sup>ψ</sup>*ð Þ *Gk* <sup>∘</sup> *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* <sup>X</sup>

1

ð Þ *<sup>ψ</sup><sup>g</sup>* <sup>X</sup> *ai* ∈ *A*<sup>0</sup>

0 @

and this may be illustrated by the diagram

*Computational Model for the Construction of Cognitive Maps*

*DOI: http://dx.doi.org/10.5772/intechopen.90173*

space *B*. It may be determined in such a way

, where *A*, *A*<sup>0</sup>

; this is why *ψg*<sup>0</sup> : *FA*<sup>0</sup> ! *B*<sup>0</sup>

ð Þ *Gk* <sup>∘</sup> *<sup>g</sup>* ð Þ¼ *<sup>a</sup>* ⌜ð Þ *Gk* <sup>∘</sup> *<sup>g</sup>* <sup>∗</sup> ð Þ *<sup>a</sup>* ⌝. But ð Þ *Gk* <sup>∘</sup> *<sup>g</sup>* ð Þ¼ *<sup>a</sup> Gk g a* ð Þ¼ ð Þ *Gk* ⌜*<sup>g</sup>* <sup>∗</sup> ð Þ¼ ð Þ *<sup>a</sup>* ⌝ ⌜*k g* <sup>∗</sup> ð Þ ð Þ *<sup>a</sup>* ⌝

*GB* !

*B* !

Now we are ready to define the arrow *ψg* : *FA* ! *B* with the values in the vector

<sup>A</sup> <sup>¼</sup> <sup>X</sup> *ai* ∈ *A*<sup>0</sup>

Let us check the naturalness of the*ψ*. Once again we'll consider the arrows *h* : *A*<sup>0</sup> ! *A*

0 @

*ki* � *k g* <sup>∗</sup> ð Þ ð Þ *h a*ð Þ*<sup>i</sup>*

0 @

0 @

*ai* ∈ *A*<sup>0</sup>

*ai* ∈ *A*<sup>0</sup>

*ai* ∈ *A*<sup>0</sup>

*ki* � *<sup>g</sup>* <sup>∗</sup> ð Þ *h a*ð Þ*<sup>i</sup>*

*ki* � *k g* <sup>∗</sup> ð Þ ð Þ *h a*ð Þ*<sup>i</sup> :*

*ki* � *h a*ð Þ*<sup>i</sup>*

*kiai*

*kiai*

1 A ¼

1 A

1 A

1 A ¼

1 A

1 A ¼

1 A ¼

*ai* ∈ *A*<sup>0</sup>

*ki* � ð Þ *Gk* <sup>∘</sup> *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* <sup>∗</sup> ð Þ¼ *ai*

*kiai*

∥ ↑⌜⌝ ↑⌜⌝

*Gk GB*<sup>0</sup>

*<sup>k</sup> B*<sup>0</sup> *:*

∈ *Ob*ð Þ S*et* and *B*, *B*<sup>0</sup> ∈ *Ob*ð Þ V*ectK* . We have *g*<sup>0</sup> ¼ *Gk* ∘ *g* ∘ *h* :

. Let us consider the element *<sup>t</sup>* <sup>¼</sup> <sup>P</sup>

1 A ¼

. According to the definition,

ð Þ *Gk* <sup>∘</sup> *<sup>g</sup>* <sup>∗</sup> <sup>¼</sup> *<sup>k</sup>* <sup>∘</sup> *<sup>g</sup>* <sup>∗</sup> , (48)

*kig* <sup>∗</sup> ð Þ ð Þ *ai :* (50)

(49)

*ai* <sup>∈</sup> *<sup>A</sup>*0*kiai* ∈*FA*<sup>0</sup>

(51)

(52)

where *a*∈ *A*.

Let us check the naturalness of *φ*. For this purpose we consider the arrows *h* : *A*<sup>0</sup> ! *A* and *k* : *B* ! *B*<sup>0</sup> , where *A*, *A*<sup>0</sup> ∈ *Ob Set* ð Þ and *B*, *B*<sup>0</sup> ∈ *Ob Vect* ð Þ *<sup>K</sup>* . We have *f* <sup>0</sup> ¼ *k* ∘*f* ∘ *Fh* : *FA*<sup>0</sup> ! *B*<sup>0</sup> , this is why *φf* <sup>0</sup> : *A*<sup>0</sup> ! *GB*<sup>0</sup> . Two arrows are equal in the category *Set* if their values are equal on every element of their domain. Let us consider the element*s*∈ *A*<sup>0</sup> and compute on it the values of the arrows forming the naturality diagram:

$$\begin{aligned} \varrho(\boldsymbol{k}\circ\boldsymbol{f}\circ\boldsymbol{F}\boldsymbol{h})(\boldsymbol{s}) &= \\ \boldsymbol{\phantom{\rule{0pt}{0}}} &= \ulcorner(\boldsymbol{k}\circ\boldsymbol{f}\circ\boldsymbol{F}\boldsymbol{h})(\boldsymbol{s})\urcorner = \\ &= \ulcorner\boldsymbol{k}(\boldsymbol{f}(\boldsymbol{F}\boldsymbol{h}(\boldsymbol{s})))\urcorner = \\ &= \ulcorner\boldsymbol{k}(\boldsymbol{f}(\boldsymbol{h}(\boldsymbol{s})))\urcorner \end{aligned} \tag{43}$$

and

$$\begin{aligned} (\mathsf{Gk} \circ q \mathcal{f} \circ h)(s) &= \\ \mathsf{G} \circ ((q \mathcal{f})(h(s))) &= \\ \mathsf{G} \circ (\mathsf{F}f(h(s)) \, ^\uparrow) &= \\ \mathsf{G} \circ (f(h(s))) \, ^\uparrow . \end{aligned} \tag{44}$$

Since the values coincide for an arbitrary *s*, the corresponding arrows also coincide. Thus, the naturalness of *φ* is proven.

Now let us define *ψ* : S*et A*ð Þ!V , *GB ectK*ð Þ *FA*, *B* . We'll consider the arrow *g* : *A* ! *GB*. The value of this function for any *a*∈ *A* can be represented as ⌜*b*⌝ for some *b*∈*B*. Since the mapping *λx:*⌜*x*⌝ is one-to-one, there is a single function that can be associated with the function *<sup>g</sup>*; this is the function *<sup>g</sup>* <sup>∗</sup> : *<sup>A</sup>* ! *<sup>B</sup>*, for which

$$\mathbf{g}(\mathfrak{a}) = \mathsf{T}\mathfrak{g}^\*(\mathfrak{a})\mathsf{T}.\tag{45}$$

The function *g* <sup>∗</sup> in some specified sense "makes the analysis" of the element *a*, giving the permit to pass over from "structureless object" ⌜*b*⌝ (the element of the set *GB*) to the "structured object" *b* (the element of the vector space *B*).

We need the behavior *<sup>g</sup>* <sup>∗</sup> related to the composition. Let *<sup>h</sup>* : *<sup>A</sup>*<sup>0</sup> ! *<sup>A</sup>*. Then according to the definition, ð Þ *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* ð Þ¼ *<sup>a</sup>* ⌜ð Þ *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* <sup>∗</sup> ð Þ *<sup>a</sup>* ⌝. Furthermore, ð Þ *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* ð Þ¼ *<sup>a</sup> gha* ð Þ¼ ð Þ ⌜ *<sup>g</sup>* <sup>∗</sup> <sup>ð</sup> ð Þ *h a*ð Þ ⌝. Consequently,

$$(\mathfrak{g}\circ\mathfrak{h})^{\*} = \mathfrak{g}^{\*}\circ\mathfrak{h}.\tag{46}$$

The situation is cleared somehow by the diagram

$$\begin{array}{ccccccccc} A' & \stackrel{h}{\rightarrow} & A & \stackrel{g}{\rightarrow} & GB & & \\ \downarrow (\text{g} \circ h)^{\*} & & & \downarrow \text{g}^{\*} & & \uparrow \text{ \textquotedbl{} \textquotedbl{}} & & \\ B & = & B & = & B, & & \end{array} \tag{47}$$

where ⌜⌝ is a function *λx:*⌜*x*⌝ : *B* ! *GB*.

*Computational Model for the Construction of Cognitive Maps DOI: http://dx.doi.org/10.5772/intechopen.90173*

Now let *k* : *B* ! *B*<sup>0</sup> , then *Gk* : *GB* ! *GB*<sup>0</sup> . According to the definition, ð Þ *Gk* <sup>∘</sup> *<sup>g</sup>* ð Þ¼ *<sup>a</sup>* ⌜ð Þ *Gk* <sup>∘</sup> *<sup>g</sup>* <sup>∗</sup> ð Þ *<sup>a</sup>* ⌝. But ð Þ *Gk* <sup>∘</sup> *<sup>g</sup>* ð Þ¼ *<sup>a</sup> Gk g a* ð Þ¼ ð Þ *Gk* ⌜*<sup>g</sup>* <sup>∗</sup> ð Þ¼ ð Þ *<sup>a</sup>* ⌝ ⌜*k g* <sup>∗</sup> ð Þ ð Þ *<sup>a</sup>* ⌝

. Consequently,

the set *GB*. It is easy to see what these elements are: they must correspond to the initial

Let us check the naturalness of *φ*. For this purpose we consider the arrows *h* : *A*<sup>0</sup> ! *A*

ð Þ *φf* ð Þ¼ *a* ⌜*f a*ð Þ⌝, (42)

∈ *Ob Vect* ð Þ *<sup>K</sup>* . We have *f*

. Two arrows are equal in the category *Set* if their

*g a*ð Þ¼ ⌜*<sup>g</sup>* <sup>∗</sup> ð Þ *<sup>a</sup>* ⌝*:* (45)

ð Þ *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* <sup>∗</sup> <sup>¼</sup> *<sup>g</sup>* <sup>∗</sup> <sup>∘</sup> *<sup>h</sup>:* (46)

*GB*

<sup>0</sup> ¼ *k* ∘*f* ∘ *Fh* :

and

(43)

(44)

(47)

elements of *B* under the correspondence given by the functor *G*. Formally

∈ *Ob Set* ð Þ and *B*, *B*<sup>0</sup>

compute on it the values of the arrows forming the naturality diagram:

values are equal on every element of their domain. Let us consider the element*s*∈ *A*<sup>0</sup>

*φ*ð Þ *k* ∘*f* ∘ *Fh* ðÞ¼ *s*

¼ ⌜*k f hs* ð Þ ð Þ ð Þ ⌝

ð Þ *Gk* ∘ *φf* ∘ *h* ðÞ¼ *s*

¼ ⌜*k f hs* ð Þ ð Þ ð Þ ⌝*:*

Since the values coincide for an arbitrary *s*, the corresponding arrows also

associated with the function *<sup>g</sup>*; this is the function *<sup>g</sup>* <sup>∗</sup> : *<sup>A</sup>* ! *<sup>B</sup>*, for which

*GB*) to the "structured object" *b* (the element of the vector space *B*).

*A*<sup>0</sup> !

The situation is cleared somehow by the diagram

where ⌜⌝ is a function *λx:*⌜*x*⌝ : *B* ! *GB*.

**158**

Now let us define *ψ* : S*et A*ð Þ!V , *GB ectK*ð Þ *FA*, *B* . We'll consider the arrow *g* : *A* ! *GB*. The value of this function for any *a*∈ *A* can be represented as ⌜*b*⌝ for some *b*∈*B*. Since the mapping *λx:*⌜*x*⌝ is one-to-one, there is a single function that can be

The function *g* <sup>∗</sup> in some specified sense "makes the analysis" of the element *a*, giving the permit to pass over from "structureless object" ⌜*b*⌝ (the element of the set

*<sup>h</sup> <sup>A</sup>* !

<sup>↓</sup>ð Þ *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* <sup>∗</sup> <sup>↓</sup>*<sup>g</sup>* <sup>∗</sup> <sup>↑</sup>⌜⌝ *B* ¼ *B* ¼ *B*,

*g*

We need the behavior *<sup>g</sup>* <sup>∗</sup> related to the composition. Let *<sup>h</sup>* : *<sup>A</sup>*<sup>0</sup> ! *<sup>A</sup>*. Then according to the definition, ð Þ *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* ð Þ¼ *<sup>a</sup>* ⌜ð Þ *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* <sup>∗</sup> ð Þ *<sup>a</sup>* ⌝. Furthermore, ð Þ *<sup>g</sup>* <sup>∘</sup> *<sup>h</sup>* ð Þ¼ *<sup>a</sup>*

¼ *Gk*ð Þ¼ ð Þ *φf* ð Þ *h s*ð Þ ¼ *Gk*ð Þ¼ ⌜*f hs* ð Þ ð Þ ⌝

¼ ⌜ð Þ *k* ∘*f* ∘ *Fh* ð Þ*s* ⌝ ¼ ¼ ⌜*k f Fh s* ð Þ ð Þ ð Þ ⌝ ¼

<sup>0</sup> : *A*<sup>0</sup> ! *GB*<sup>0</sup>

where *a*∈ *A*.

, where *A*, *A*<sup>0</sup>

coincide. Thus, the naturalness of *φ* is proven.

*gha* ð Þ¼ ð Þ ⌜ *<sup>g</sup>* <sup>∗</sup> <sup>ð</sup> ð Þ *h a*ð Þ ⌝. Consequently,

, this is why *φf*

*Cognitive and Intermedial Semiotics*

and *k* : *B* ! *B*<sup>0</sup>

*FA*<sup>0</sup> ! *B*<sup>0</sup>

and

$$(\mathbf{G}k \circ \mathbf{g})^{\*} = k \circ \mathbf{g}^{\*},\tag{48}$$

and this may be illustrated by the diagram

$$\begin{array}{ccccccccc} A & \xrightarrow{g} & GB & \xrightarrow{Gk} & GB'\\ \parallel & & \uparrow\sqcap & & \uparrow\sqcap\\ A & \xrightarrow{g} & B & \xrightarrow{k} & B'. \end{array} \tag{49}$$

Now we are ready to define the arrow *ψg* : *FA* ! *B* with the values in the vector space *B*. It may be determined in such a way

$$(\text{\textbullet g})\left(\sum\_{a\_i \in A'} k\_i a\_i\right) = \sum\_{a\_i \in A'} (k\_i \text{g}^\*(a\_i)).\tag{50}$$

Let us check the naturalness of the*ψ*. Once again we'll consider the arrows *h* : *A*<sup>0</sup> ! *A* and *k* : *B* ! *B*<sup>0</sup> , where *A*, *A*<sup>0</sup> ∈ *Ob*ð Þ S*et* and *B*, *B*<sup>0</sup> ∈ *Ob*ð Þ V*ectK* . We have *g*<sup>0</sup> ¼ *Gk* ∘ *g* ∘ *h* : *A*<sup>0</sup> ! *GB*<sup>0</sup> ; this is why *ψg*<sup>0</sup> : *FA*<sup>0</sup> ! *B*<sup>0</sup> . Let us consider the element *<sup>t</sup>* <sup>¼</sup> <sup>P</sup> *ai* <sup>∈</sup> *<sup>A</sup>*0*kiai* ∈*FA*<sup>0</sup> and compute on it the value of the arrows that form the naturality diagram:

$$\begin{aligned} \psi(Gk \circ \mathbf{g} \circ h)(t) &= \\ \quad = \psi(Gk \circ \mathbf{g} \circ h) \left(\sum\_{a\_i \in A'} k\_i a\_i\right) = \\ \quad = \sum\_{a\_i \in A'} k\_i \cdot (Gk \circ \mathbf{g} \circ h)^\*(a\_i) = \\ \quad = \sum\_{a\_i \in A'} k\_i \cdot k(\mathbf{g}^\* \left(h(a\_i)\right)) \end{aligned} \tag{51}$$

and

$$\begin{split} & (k \circ \eta \otimes \operatorname{Fh})(t) = \\ & = (k \circ \eta \otimes \operatorname{Fh})\left(\sum\_{a\_i \in A'} k\_i a\_i\right) = \\ & = k \left(\operatorname{\mathfrak{wg}}\left(\operatorname{Fh}\left(\sum\_{a\_i \in A'} k\_i a\_i\right)\right)\right) = \\ & = k \left(\operatorname{\mathfrak{wg}}\left(\sum\_{a\_i \in A'} k\_i \cdot h(a\_i)\right)\right) = \\ & = k \left(\sum\_{a\_i \in A'} k\_i \cdot \operatorname{g}^\*\left(h(a\_i)\right)\right) = \\ & = \sum\_{a\_i \in A'} k\_i \cdot k(\operatorname{g}^\*\left(h(a\_i)\right)). \end{split} \tag{52}$$

The values coincide for arbitrary *t*, and this proves the naturality of *ψ*. This example is important because of three reasons:

1.The construction of the vector space is one of the oldest constructions for data representation and at the same time one of the simplest well-known algebraic constructions, and it is an example of a typical algebraic system (underlying set and a signature given by a set of axioms); therefore the construction of an adjoint functor demonstrates some typical common features of such functors.

element *GM*, corresponding to the element *m* of the initial monoid *M*. Like in the

This functor has left adjoint *F* : S*et* ! ℳ*on*, which is defined as follows. For the set *A*, the underlying set of the monoid *FA* is the set of finite sequences h i *a*1, … , *an* of the elements *ai* ∈ *A*, including the empty sequence hi. The monoid operation is

h i *a*1, … , *an* � h i *an*þ1, … , *an*þ*<sup>m</sup>* ¼ h i *a*1, … , *an*, *an*þ1, … , *an*þ*<sup>m</sup>* , (54)

*Ff a* ð Þ¼ h i 1, … , *an* h i *f a*ð Þ<sup>1</sup> , … , *f a*ð Þ*<sup>n</sup> :* (55)

ð Þ *φf* ð Þ¼ *a* ⌜*f a* ð Þ h i ⌝*:* (56)

; this is why *φf*

*g a*ð Þ¼ ⌜*<sup>g</sup>* <sup>∗</sup> ð Þ *<sup>a</sup>* ⌝*:* (59)

∈ *Ob*ð Þ S*et* and

<sup>0</sup> : *A*<sup>0</sup> ! *GM*<sup>0</sup>

.

(57)

(58)

, where *A*, *A*<sup>0</sup>

and the identity element of the monoid *FA* is hi. It is easily checked that the

For the function *f* : *A* ! *B*, the action of the functor *F* is specified as follows:

For testing the adjunction, it needs to specify *φ* and *ψ* and verify that the

ℳ*on FA* ð Þ!S , *M et A*ð Þ , *GM* , let us consider the arrow *f* : *FA* ! *M* and put in correspondence with it the arrow *φf* : *A* ! *GM*. Now we consider the values of the arrow *f* on *FA* elements of the form h i *a* , i.e., single-element sequences. We put

Let us check the naturality of the transformation defined by this way. We

<sup>0</sup> ¼ *k* ∘*f* ∘ *Fh* : *FA*<sup>0</sup> ! *M*<sup>0</sup>

Let us consider the element *s*∈ *A*<sup>0</sup> and compute on it the values of the arrows that

*φ*ð Þ *k* ∘*f* ∘ *Fh* ðÞ¼ *s*

ð Þ *Gk* ∘ *φf* ∘ *h* ðÞ¼ *s* ¼ *Gk*ð Þ¼ ð Þ *φf* ð Þ *h s*ð Þ ¼ *Gk*ð Þ¼ ⌜*f hs* ð Þ h i ð Þ ⌝ ¼ ⌜*kf hs* ð Þ ð Þ h i ð Þ ⌝*:*

Now we'll specify *ψ* : S*et A*ð Þ! , *GM* ℳ*on FA* ð Þ , *M* . Let us consider the arrow *g* :

*A* ! *GM*. Similar to the previous example with the function *g*, it is possible to

associate the single function *<sup>g</sup>* <sup>∗</sup> : *<sup>A</sup>* ! *<sup>M</sup>*, for which

¼ ⌜ð Þ *k* ∘*f* ∘ *Fh* ð Þ h i*s* ⌝ ¼ ¼ ⌜*k f Fh s* ð Þ ð Þ ð Þ h i ⌝ ¼ ¼ ⌜*kf hs* ð Þ ð Þ h i ð Þ ⌝

conditions in the definition of conjoint functors are fulfilled. To set *φ* :

*Gg*ð Þ¼ ⌜*m*⌝ ⌜*g m*ð Þ⌝ (53)

previous example, we have

defined by

for the arrow *g* between the monoids.

*DOI: http://dx.doi.org/10.5772/intechopen.90173*

*Computational Model for the Construction of Cognitive Maps*

indicated construction correctly specifies the monoid.

It is easy to note that *F* is really a functor.

consider the arrows *h* : *A*<sup>0</sup> ! *A* and *k* : *M* ! *M*<sup>0</sup>

*M*, *M*<sup>0</sup> ∈ *Ob*ð Þ ℳ*on* . We have *f*

form the naturality diagram:

and

**161**


The above shown example, in particular, demonstrates that the adjunction does not formalize in any sense the idea of mutually inverse functors. We see that for a finite-dimensional space *B* over an infinite field *K*, the set *GB* is infinite, and, consequently, the space *FGB* is infinite-dimensional, i. e., it is not isomorphic to the initial one. On the contrary, the adjunction acts as a mechanism for assigning a given structure with an additional structure (in our example—any set with a vector space structure) and operations on this additional structure, connecting it with the original one.

Taking into account the foregoing, the above given example demonstrates that conjunctions can be used to describe abstract data types (in our example, to describe an abstract vector). In the example, the mapping *φ* demonstrates encapsulation, i.e., hiding the internal structure of the object, and *ψ* provides the definition of operations on the encapsulated type of data.

In general case the functor specifies the correspondence of objects of one category with objects of another and does not suggest the presence of any arrows between these objects. However, in the given example, the fact that the vector space is defined as a set with an additional structure makes it possible to consider the function *g* <sup>∗</sup> on the set with values in a vector space, as well as the inverse function *λx:*⌜*x*⌝. This construction is not valid in the general case.

#### *5.2.2 Monoids*

Let us consider another structure used to represent CMs—strings. The strings can be used to name CM's elements or bind additional textual information to CM. It appears that it is possible to formalize naming procedures for strings based on the category of monoids. Let us show this.

Let ℳ*on* be the category of monoids. Mind that a monoid is a triple *M* ¼ h i *M*, � ,*e* , where *M* is the underlying set, the dot (�) is the binary operation on the set *M*, and *e*∈ *M* is the identity element of the monoid. Then the objects of category ℳ*on* are the monoids, and the arrows are the mappings keeping the monoid structure.

Let us consider the neglecting functor *G* : ℳ*on* ! S*et*, which associates each underlying set with its monoid and to the mapping of the monoids to the corresponding mapping of the sets. Similar to the previous example, we'll mark ⌜*m*⌝ element *GM*, corresponding to the element *m* of the initial monoid *M*. Like in the previous example, we have

$$\mathbf{Gg}(^{\tau}m^{\gamma}) = \mathbf{^{\tau}g}(m)^{\gamma} \tag{53}$$

for the arrow *g* between the monoids.

The values coincide for arbitrary *t*, and this proves the naturality of *ψ*.

2.The category of vector spaces, as distinguished, for example, from the

construction of the attachment is clearly seen in this example.

1.The construction of the vector space is one of the oldest constructions for data representation and at the same time one of the simplest well-known algebraic constructions, and it is an example of a typical algebraic system (underlying set and a signature given by a set of axioms); therefore the construction of an adjoint functor demonstrates some typical common features of such functors.

category of monoids, hardly uses mechanisms specific to abstract data types (such as a queue or a stack), except for the proper neglecting functor inducing nesting of named objects of the corresponding categories; thanks to this the

3.The vector spaces are well studied; this allows without a long introduction to use constructions of considerable generality, which must be specially

The above shown example, in particular, demonstrates that the adjunction does not formalize in any sense the idea of mutually inverse functors. We see that for a finite-dimensional space *B* over an infinite field *K*, the set *GB* is infinite, and, consequently, the space *FGB* is infinite-dimensional, i. e., it is not isomorphic to the initial one. On the contrary, the adjunction acts as a mechanism for assigning a given structure with an additional structure (in our example—any set with a vector space structure) and operations on this additional structure, connecting it with the

Taking into account the foregoing, the above given example demonstrates that

describe an abstract vector). In the example, the mapping *φ* demonstrates encapsulation, i.e., hiding the internal structure of the object, and *ψ* provides the definition

In general case the functor specifies the correspondence of objects of one cate-

Let us consider another structure used to represent CMs—strings. The strings can be used to name CM's elements or bind additional textual information to CM. It appears that it is possible to formalize naming procedures for strings based on the

Let ℳ*on* be the category of monoids. Mind that a monoid is a triple *M* ¼ h i *M*, � ,*e* , where *M* is the underlying set, the dot (�) is the binary operation on the set *M*, and *e*∈ *M* is the identity element of the monoid. Then the objects of category ℳ*on* are the monoids, and the arrows are the mappings keeping the monoid

Let us consider the neglecting functor *G* : ℳ*on* ! S*et*, which associates each

corresponding mapping of the sets. Similar to the previous example, we'll mark ⌜*m*⌝

underlying set with its monoid and to the mapping of the monoids to the

conjunctions can be used to describe abstract data types (in our example, to

gory with objects of another and does not suggest the presence of any arrows between these objects. However, in the given example, the fact that the vector space is defined as a set with an additional structure makes it possible to consider the function *g* <sup>∗</sup> on the set with values in a vector space, as well as the inverse function

This example is important because of three reasons:

*Cognitive and Intermedial Semiotics*

constructed for other categories.

of operations on the encapsulated type of data.

category of monoids. Let us show this.

*λx:*⌜*x*⌝. This construction is not valid in the general case.

original one.

*5.2.2 Monoids*

structure.

**160**

This functor has left adjoint *F* : S*et* ! ℳ*on*, which is defined as follows. For the set *A*, the underlying set of the monoid *FA* is the set of finite sequences h i *a*1, … , *an* of the elements *ai* ∈ *A*, including the empty sequence hi. The monoid operation is defined by

$$
\langle a\_1, \dots, a\_n \rangle \cdot \langle a\_{n+1}, \dots, a\_{n+m} \rangle = \langle a\_1, \dots, a\_n, a\_{n+1}, \dots, a\_{n+m} \rangle,\tag{54}
$$

and the identity element of the monoid *FA* is hi. It is easily checked that the indicated construction correctly specifies the monoid.

For the function *f* : *A* ! *B*, the action of the functor *F* is specified as follows:

$$F\_f^\sharp(\langle a\_1, \dots, a\_n \rangle) = \langle f(a\_1), \dots, f(a\_n) \rangle. \tag{55}$$

It is easy to note that *F* is really a functor.

For testing the adjunction, it needs to specify *φ* and *ψ* and verify that the conditions in the definition of conjoint functors are fulfilled. To set *φ* : ℳ*on FA* ð Þ!S , *M et A*ð Þ , *GM* , let us consider the arrow *f* : *FA* ! *M* and put in correspondence with it the arrow *φf* : *A* ! *GM*. Now we consider the values of the arrow *f* on *FA* elements of the form h i *a* , i.e., single-element sequences. We put

$$(qf)(a) = \text{"}f(\langle a \rangle)\text{"}.\tag{56}$$

Let us check the naturality of the transformation defined by this way. We consider the arrows *h* : *A*<sup>0</sup> ! *A* and *k* : *M* ! *M*<sup>0</sup> , where *A*, *A*<sup>0</sup> ∈ *Ob*ð Þ S*et* and *M*, *M*<sup>0</sup> ∈ *Ob*ð Þ ℳ*on* . We have *f* <sup>0</sup> ¼ *k* ∘*f* ∘ *Fh* : *FA*<sup>0</sup> ! *M*<sup>0</sup> ; this is why *φf* <sup>0</sup> : *A*<sup>0</sup> ! *GM*<sup>0</sup> . Let us consider the element *s*∈ *A*<sup>0</sup> and compute on it the values of the arrows that form the naturality diagram:

$$\begin{aligned} \, & \, \rho (\mathbf{k} \circ f \circ \mathbf{F} h)(\mathbf{s}) = \\ & = \, \, \tau (\mathbf{k} \circ f \circ \mathbf{F} h)(\langle \mathbf{s} \rangle) \, ^\gamma = \\ & = \, \, \tau (f (\mathbf{F} h(\langle \mathbf{s} \rangle))) \, ^\gamma = \\ & = \, \, \tau (f (\langle h(\mathbf{s} \rangle))) \, ^\gamma \end{aligned} \tag{57}$$

and

$$\begin{aligned} (\mathsf{Gk} \circ \mathit{qf} \circ \mathit{h})(s) &= \\ \mathsf{Gk}((\mathsf{qf})(h(s))) &= \\ \mathsf{Gk}(\mathsf{f}f(\langle h(s)\rangle)^{\mathsf{T}}) &= \\ &= \mathsf{Fk}(f(\langle h(s)\rangle))^{\mathsf{T}}.\end{aligned} \tag{58}$$

Now we'll specify *ψ* : S*et A*ð Þ! , *GM* ℳ*on FA* ð Þ , *M* . Let us consider the arrow *g* : *A* ! *GM*. Similar to the previous example with the function *g*, it is possible to associate the single function *<sup>g</sup>* <sup>∗</sup> : *<sup>A</sup>* ! *<sup>M</sup>*, for which

$$\mathbf{g}(\mathfrak{a}) = \mathsf{T}\mathfrak{g}^\*(\mathfrak{a})\mathfrak{T}.\tag{59}$$

Likewise the previous example, it is possible to establish the properties *g* <sup>∗</sup> related to the compositions

$$\left(\mathbf{g}\circ\boldsymbol{h}\right)^{\*} = \mathbf{g}^{\*}\circ\boldsymbol{h} \tag{60}$$

**6. Conclusions**

subject area.

nodes and the decomposition of nodes.

*Computational Model for the Construction of Cognitive Maps*

*DOI: http://dx.doi.org/10.5772/intechopen.90173*

in a hierarchical relationship. Due to:

are not placed or fixed by error

as a special type of semantic networks.

logic.

**163**

nature to the models.

The chapter considered a variant of solving the problem to store the data in a web environment and provide an access to the data based on their semantics. The semantics of data may be referred both to ensuring that the information complies with the put restrictions and to the traceability of nature of the problems that are solved by the users of different classes. The data is assumed to describe a certain

To represent the semantic nature of the data in the work, a representation in the form of a semantic network was used. The semantic network was considered as a set of marked nodes and marked links connecting them. The chapter considered the ways to access the nodes of the network, providing both the omission of irrelevant

The tools of describing users and their means of access to data that takes into account the specifics of the tasks to be solved must combine enough power to distinguish the relevant elements of the description and simplicity. It makes it possible to practically use the descriptions without excessive detailing, traditionally leading to an increase in the volume and complexity of the description. The work

The chapter determines the CMs as hierarchically organized sets of nodes connected by unlabeled links. CMs can also contain links between nodes that are not

3.The possibility that links are fixed in the later stages of map development and

The cognitive maps cannot be considered as semantic networks. However, it is possible to propose matching procedures that will make it possible to consider CMs

To determine the language of the description of the subjects and subjective points of view on the data, the work used a variant of intensional logic language. The essential feature of the language is the possibility to construct expressions that are indexable during interpretation, which makes it possible to study and use the dependence of expressions on a parameter. A number of methods for constructing CMs are distinguished, each of which is associated with a formula of intensional

The semantics of intensional logic is constructed basing on recursively defined intensions. The inclusion of lambda expressions in the language and the definition of the corresponding semantic construction provide the computational nature of semantics. The interpretation of quantifiers and operators as special types of applications (applications of functions to the argument) makes it possible to determine all constructions of the model as applicative ones and attributes a computational

The constructed semantics makes it possible to express constructions in the form

of CMs; these constructions describe the subject area from the point of view of experts. The chapter shows the possibility of such an expression with the example of the homotopy theory of types. Ever basic construction of the theory of types is accompanied by its presentation in the form of a cognitive map. The use of depen-

dent type theory provides a subjective description of the subject area.

1.The CM's syntax which differs from the semantic network syntax

used cognitive maps to describe subjective views on the domain.

2.The possibility of late fixation of typed restrictions

and

$$(Gk \circ \mathbf{g})^{\*} = k \circ \mathbf{g}^{\*},\tag{61}$$

where *h* : *A*<sup>0</sup> ! *A* and *k* : *M* ! *M*<sup>0</sup> . Now

$$\mathfrak{g}\left(\mathfrak{yg}\right)\langle a\_1,\ldots,a\_n\rangle = \mathfrak{g}^\*\left(a\_1\right)\cdot\ldots\cdot\mathfrak{g}^\*\left(a\_n\right) = \prod\_i \mathfrak{g}^\*\left(a\_i\right).\tag{62}$$

Let us check the naturality of *ψ*. Once again we consider the arrows *h* : *A*<sup>0</sup> ! *A* and *k* : *M* ! *M*<sup>0</sup> , where *A*, *A*<sup>0</sup> ∈ *Ob*ð Þ S*et* and *B*, *B*<sup>0</sup> ∈ *Ob*ð Þ ℳ*on* . We have *g*<sup>0</sup> ¼ *Gk* ∘ *g* ∘ *h* : *A*<sup>0</sup> ! *GM*<sup>0</sup> ; this is why *ψg*<sup>0</sup> : *FA*<sup>0</sup> ! *M*<sup>0</sup> . Let us consider the element *t* ¼ h i *a*1, … , *an* ∈ *FA*<sup>0</sup> and compute on it the values of the arrows that form the naturality diagram:

$$\begin{aligned} &\,\,\mu(\boldsymbol{G}k\circ\boldsymbol{g}\circ\boldsymbol{h})(t) = \\ &=\mu(\boldsymbol{G}k\circ\boldsymbol{g}\circ\boldsymbol{h})(\langle a\_1,\ldots,a\_n\rangle) =\\ &=\prod\_i(\boldsymbol{G}k\circ\boldsymbol{g}\circ\boldsymbol{h})^\*(a\_i) =\\ &=\prod\_i(k\circ\boldsymbol{g}^\*\circ\boldsymbol{h})(a\_i) =\\ &=\prod\_i\boldsymbol{k}(\boldsymbol{g}^\*\left(\boldsymbol{h}(a\_i)\right))\\ \end{aligned} \tag{63}$$

and

$$\begin{aligned} &(k \circ \# \text{g} \circ \text{Fh})(t) = \\ &= (k \circ \text{yg} \circ \text{Fh})(\langle a\_1, \dots, a\_n \rangle) = \\ &= k(\text{yg}(\text{Fh}(\langle a\_1, \dots, a\_n \rangle))) = \\ &= k(\text{yg}(\langle h(a\_1), \dots, h(a\_n) \rangle)) = \\ &= k\left(\prod\_i \text{g}^\*(h(a\_i))\right) = \\ &= \prod\_i k(\text{g}^\* \ (h(a\_i))) .\end{aligned} \tag{64}$$

The naturality of *ψ* is proven by the results coincidence.

Comparing this example with the previous one, it is seen that the first example is indeed formally simpler, since it does not require the construction of sequences of elements. The sequences in this case can be considered as representing constructions that ensure the mapping of *Mon* to *Set*, meeting the requirements formulated at the beginning of the item. Indeed, (1) the formed constructions have a functorial nature, (2) the functions that provide naming and dereferencing are explicitly constructed, and (3) due to choosing the basic categories (V*ect* or ℳ*on*, respectively), the mapping of structures are ensured in the construction of the supporting programming environment. In this case the adjoint functors can be considered as a variant of the CM's representation technique by means of a practical programming system.
