Project CategoryTheory homepage

## Introduction

Life becomes too trivial. Now, General relativity and Quantum mechanics are not extraordinary things. These theories are rather an everyday engineering tool. For example, the usage of Computational chemistry enables us construct molecules like puzzles. However, very interesting physical theories are being developed now. Modern Superstring theory and M-theory are very exciting and complicated. Even scientists have no hope of practical applications for them now. Rather, they would like to understand the sense of these theories. This article is devoted to software that would be of help to advanced scientists.

## Background

Modern physics uses lots of kinds of objects from different branches of math (see picture above). The Category theory provides interoperability between them. It is very abstract, and not all mathematicians recognize it. It is even called as Abstract nonsense. But it is no longer too abstract when my software uses its theorems. Moreover, I've found that any software devoted to advanced math should be based on the Category theory. It is clear that I've not included all branches of math into my software. It is a business for the whole of my life. Now, my software includes braches of math that are applicable for Abstract algebra and Algebraic topology. These brunches are being more and more used in advanced physics. Here is a short review. Full documentation of the software is sited on the Project Category Theory homepage. Here, I'll exhibit some samples.

## Objects and morphisms

The key notions of Category Theory are objects and morphisms. At the framework, they are represented by squares and arrows. It is shown below:

This picture represents three objects **A**, **B**, and **C**, and two morphisms **r** and **x**. Another key notion is the composition of morphisms. If we *Shift + Left Click* on **r** and **x **, then they shall be selected. Then, the *Composition* option of the main menu creates a composition of **r** and **x:**

Another feature of the Category theory is commutative diagrams. You can check commutativity by selecting *Wizards/Commutative checking* option of the main menu. The result looks like:

This diagram is not commutative. So this software implements the base ingredients of the Category theory: object, morphism, composition, and commutative diagram.

## Implemented kinds of objects

This software now implements objects of the following categories:

- Finite sets;
- Finitely generated Abel groups ( - modules);
- Finite dimension vector spaces over simple fields and ;
- Finitely generated algebra over these fields.

Properties of these objects and morphisms may be edited by right clicking on the corresponding square. Contents of these editors is clear. For example, the editor of properties of Abel groups is presented in the following picture:

It is defined by a number of generators and relations between them. The editor of morphsisms between - vector spaces looks like:

## Functors

The notion of category is indeed an auxiliary one. Essential properties of the Category Theory are related to functors. This software implements the following kinds of functors:

Finite sets;

- Hom
_{A}(M, -);
- Hom
_{A}(-, M);
- Ext
_{A}(M, -);
- Ext
_{A}(-, M);
- Tor
_{A}(M, -);
- ;

where A is or or , and **F** is a simple field. Let us consider a user interface for the construction of functors. It is is presented in the following picture:

We would like to calculate the functor of the following diagram there M is an Abel group **Z + Z/12Z**. We link this group with the component. Then, we open a property editor and click the *Perform functor from selected* button. This action results in the calculation of the functor:

## Limits and colimits

Limits and colimits is an essential part of the Category theory. I've used some theorems about limits and colimits during the development of this software. Finite limits and colimits may be created using the . We put this component to the desktop and select a diagram.

The property editor of **Dgm** is presented in the following picture:

Click the *Create limit* button, and it results in the creation of a limit:

Selection of arrows from objects of the diagram and a *Create arrow to limit* click results in the creation of a unique arrow to limit:

Operations with colimits are similar to the limit ones.

## Formula editor of objects

Another powerful tool is a formula editor of objects. It is presented in the following picture:

This editor enables us to create new objects from old ones using formulas. To use it, you should select the *Wizards/Editor of objects* main menu option. If you have entered a formula, click *Accept*. Then link the variables of the formula with objects of desktop (right combo boxes). Click *Accept*, and it results in the creation of an `undef`

object that corresponds to the formula.

## Other features

This software contains lots of other features that are reflected in the documentation. Here is a list of them:

## Points of interest

The scale and number of stars are impressive. However, the calculation of Herzsprung-Rassel Diagram (Part 2) of 100,000,000 or more stars takes a few of seconds. I had had an attempt at calculating the tensor product of two commutative algebras with four generators and two relations. This operation took 71 hours. Indeed, the scale of stars is negligibly small if it is compared with the scale of Human Mind.