The usual way categories are defined we get a set or class of objects. But for most purposes the notion of equivalence we use for categories is equivalence of categories and not isomorphism. This means that the usual way of defining categories comes with extra information that is not intrinsic to the categories themselves: a choice of underlying set of objects. This reminds of how manifolds are sometimes defined as special subsets of $\mathbb R^n$: while we can do all of manifold theory that way, the extra information contained in the choice of embedding is unnecessary and inelegant. This motivates studying manifolds abstractly so that they only come with information intrinsic to the manifold itself. Is there a way to do the same for categories, defining them in some more abstract way so that only information "intrinsic" to the category is kept (as in, information invariant up to equivalence of categories)?
-
Maybe if you have appropriate mathematical foundations, they can make it impossible to even ask the question of whether two objects are equal, only the question of whether two morphisms in a particular hom-set are equal (where maybe the latter is specified as a part of the data of the category). Just a random idea off the top of my head... – Daniel Schepler Apr 27 '23 at 21:43
-
This question might be helpful: https://math.stackexchange.com/questions/1519330/is-it-possible-to-formulate-category-theory-without-set-theory – Kepler's Triangle Apr 27 '23 at 21:44
-
2Historically, there was Makkai's FOLDS, which indeed prevents speaking of equality between objects, and more recently, there's homotopy type theory, which uses Rezk completeness to ensure that isomorphic objects are equal. – Zhen Lin Apr 27 '23 at 22:16
-
most of the time the trick is to have morphisms as a dependent type $x:C_0,y:C_0\vdash C_1(x,y):Type$ so that you have access to domain and codomain without having to explicitly write down equalities of objects. This is what is done in Makkai's FOLDS and Shulman's stack semantics – Nico Apr 29 '23 at 06:51
1 Answers
Let me quote a paragraph from Shulman's paper Stack semantic and the comparison of material and structural set theories, starting from the last paragraph on page 11.
The theory of categories can, of course, be formulated in ordinary first-order logic, but this is unsatisfactory because it allows us to discuss equality of objects. We need all our formulas to express “category-theoretic” facts, and thus we must avoid ever asserting that two objects are equal (rather than isomorphic). However, we cannot simply remove the equality predicate on objects from the ordinary first-order theory, because there are situations in which we do need to know that two objects are the same. For example, to compose two arrows f and g, we need to know that the source of g is the same as the target of f.
The solution to this problem, which has seemingly been rediscovered many times (...) is to use a language of dependent types.
The paper then proceeds to describe such a language, and also cites other sources such as Makkai's FOLDS. So this should be exactly what you are looking for. In particular properties of categories which can be formulated in this language are automatically invariant under equivalences. For example, we can express that a category $\mathbb C$ has a terminal object in that language $$\exists t:\mathbb C.\forall y:\mathbb C.\exists !f:\mathbb C(y,t).\top$$ but we can not express that a category $\mathbb C$ has a single object.
- 4,540