The "category of extensible structures" is the category of all sets in a universe regarded as extensible structures and the functions between their base sets, see df-estrc.

Since we consider only "small categories" (i.e. categories whose objects and morphisms are actually sets and not proper classes), the objects of the category (i.e. the base set of the category regarded as extensible structure) are all sets in a universe , which can be an arbitrary set, see estrcbas. Generally, we will take to be a weak universe or Grothendieck universe, because these sets have closure properties as good as the real thing. If a set is not a real extensible structure, it is regarded as extensible structure with an empty base set. Because of bascnvimaeqv we do not need to restrict the universe to sets which "have a base". The morphisms (or arrows) between two objects, i.e. sets from the universe, are the mappings between their base sets, see estrchomfval, whereas the composition is the ordinary composition of functions, see estrccofval and estrcco.

It is shown that the category of extensible structures is actually a category, see estrccat with the identity function as identity arrow, see estrcid.

In the following, some background information about the category of extensible structures is given, taken from the discussion in Github issue #1507 (see https://github.com/metamath/set.mm/issues/1507):

At the beginning, the categories of non-unital rings and unital
rings were defined separately (as unordered triples of ordereds
pairs, see dfrngc2 and dfringc2, but with special compositions). With
this definitions, however, theorem rngcresringcat could not be proven,
because the compositions were not compatible. Unfortunately, no precise
definition of the composition within the category of rings could be found in
the literature. In section 3.3 EXAMPLES, paragraph (2) of [Adamek] p. 22,
however, a definition is given for "Grp", the category of groups: "The
following constructs; i.e., categories of structured sets and
structure-preserving functions between them (o will always be the *composition
of functions* and id_{A} will always be the identity function on A): ... (b) Grp
with objects all groups and morphisms all homomorphisms between them."
Therefore, the compositions should have been harmonized by using the
composition of the category of sets , see df-setc, which is the
ordinary composition of functions. Analogously, categories of Rngs (and Rings)
could have been shown to be restrictions resp. subcategories of the category of
sets.

BJ and MC observed, however, that "... [cannot be used] to restrict the category Set to Ring, because the homs are different. Although Ring is a concrete category, a hom between rings R and S is a function (Base`R) --> (Base`S) with certain properties, unlike in Set where it is a function R --> S.". Therefore, MC suggested that "we could have an alternative version of the Set category consisting of extensible structures (in U) together with (A Hom B) := (Base`A) --> (Base`B). This category is not isomorphic to Set because different extensible structures can have the same base set, but it is equivalent to Set; the relevant functors are (U`A) = (Base`A), the forgetful functor, and (F`A) = { <. (Base`ndx), A >. }". This led to the current definition of , see df-estrc. The claimed equivalence is proven by equivestrcsetc. Having a definition of a category of extensible structures, the categories of non-unital and unital rings can be defined as appropriate restrictions of the category of extensible structures, see df-rngc and df-ringc.

In the same way, more subcategories could be provided, resulting in the following "inclusion chain" by proving theorems like rngcresringcat, although the morphisms of the shown categories are different ( "->" means "is subcategory of"):

-> -> GrpCat -> MndCat -> MgmCat ->

According to MC, "If we generalize from subcategories to embeddings, then we
can even fit into the chain, equivalent to at the
end." As mentioned before, the equivalence of and is
proven by equivestrcsetc. Furthermore, it can be shown that is
*embedded* into , see embedsetcestrc.

Remark: equivestrcsetc as well as embedsetcestrc require that the index of the base set extractor is contained within the considered universe. This is ensured by assuming that the natural numbers are contained within the considered universe: (see wunndx), but it would be currently sufficient to assume that , because the index value of the base set extractor is hard-coded as , see basendx.

Some people, however, feel uncomfortable to say that a ring "is a" group (without mentioning the restriction to the addition, which is usually found in the literature, e.g. the definition of a ring in [Herstein] p. 126: "... Note that so far all we have said is that R is an abelian group under +.". The main argument against a ring being a group is the number of components/slots: usually, a group consists of (exactly!) two components (a base set and an operation), whereas a ring consists of (exactly!) three components (a base set and two operations). According to this "definition", a ring cannot be a group.

This is also an (unfortunately informal) argument for the category of rings not
being a subcategory of the category of abelian groups in "Categories and
Functors", Bodo Pareigis, Academic Press, New York, London, 1970: "A category A
is called a subcategory of a category B if Ob(A) Ob(B) and
Mor_{A(X},Y) Mor_{B(X},Y) for all X,Y e. Ob(A), if the composition of
morphisms in A coincides with the composition of the same morphisms in B and if
the identity of an object in A is also the identity of the same object viewed
as an object in B. Then there is a forgetful functor from A to B. We note that
Ri [the category of rings] *is not a subcategory* of Ab [the category of
abelian groups]. In fact, Ob(Ri) Ob(Ab) is not true, although every ring
can also be regarded as an abelian group. The corresponding abelian groups of
two rings may coincide even if the rings do not coincide. The multiplication
may be defined differently.".

As long as we define Rings, Groups, etc. in a way that is valid (see ringgrp) the corresponding categories are in a subcategory relation. If we do not want Rings to be Groups (then the category of rings would not be a subcategory of the category of groups, as observed by Pareigis), we would have to change the definitions of Magmas, Monoids, Groups, Rings etc. to restrict them to have exactly the required number of slots, so that the following holds

- fncnvimaeqv
- bascnvimaeqv
- cestrc
- df-estrc
- estrcval
- estrcbas
- estrchomfval
- estrchom
- elestrchom
- estrccofval
- estrcco
- estrcbasbas
- estrccatid
- estrccat
- estrcid
- estrchomfn
- estrchomfeqhom
- estrreslem1
- estrreslem2
- estrres
- funcestrcsetclem1
- funcestrcsetclem2
- funcestrcsetclem3
- funcestrcsetclem4
- funcestrcsetclem5
- funcestrcsetclem6
- funcestrcsetclem7
- funcestrcsetclem8
- funcestrcsetclem9
- funcestrcsetc
- fthestrcsetc
- fullestrcsetc
- equivestrcsetc
- setc1strwun
- funcsetcestrclem1
- funcsetcestrclem2
- funcsetcestrclem3
- embedsetcestrclem
- funcsetcestrclem4
- funcsetcestrclem5
- funcsetcestrclem6
- funcsetcestrclem7
- funcsetcestrclem8
- funcsetcestrclem9
- funcsetcestrc
- fthsetcestrc
- fullsetcestrc
- embedsetcestrc