3
$\begingroup$

The question is in the title:

Is it possible to define the category of sets using the 'one hom-class' definition without relying on tuples as arrows or another 'typing trick'?

I used to view the 'triples trick' (where we say that an arrow $f$ in a category is actually a triplet $(f,X,Y)$ consisting of the arrow paired with its intended domain/codomain) as an 'artificial typing', used to present 'naturally typed' categories using the one hom-class definition.

A recent embarrasing question of mine, however, made it clear that we can't rely on entire relations in place of functions to specify domains/codomains in the 'one hom-class' definition of a category. This makes me unsure if it's even possible to give an 'untyped' definition of the category of sets, since saying 'the objects are sets and the arrows are functions' leaves us at a loss for how to select codomains using a function unless we 'artificially type' the arrows by viewing them as ordered pairs with the codomain prespecified.

Needless to say, if it isn't possible to define categories like ${\bf Set}$ without somehow 'typifying' the arrows, constructions like the 'triples trick' immediately seem less artificial and more like essential tools for defining categories in a 'one hom-class' fashion.

$\endgroup$
6
  • 5
    $\begingroup$ This question is far too vague unless a “typing trick” is defined precisely. It is certainly possible to define the class of functions as something else than ordered pairs: for example, we can define a function to be a set Z, whose individual elements must be ordered pairs (a,b), and the first components of these pairs must be disjoint sets a. Then the union of all a is the domain of function and the set of all b's is the codomain. If (a,b)∈Z, the associated function sends all elements of a to b. $\endgroup$ Commented Jun 5, 2022 at 4:20
  • $\begingroup$ @DmitriPavlov I was hoping the notion of a ‘typing trick’ would be intuitively apparent; more formally, is there any way to define the whole hom-class of the category of sets at once in such a way that we don’t know what the domains and codomains of arrows are just by looking inside the hom-set (i.e. the domains and codomains aren’t explicitly part of the defining sentence of the arrows), but can be defined functionally from the data present in the hom-class. (I think your suggestion answers this question in the positive) $\endgroup$
    – Alec Rhea
    Commented Jun 5, 2022 at 4:27
  • $\begingroup$ @DmitriPavlov I’m satisfied with the construction in your comment after some reflection; if you’d like to post it as an answer I’ll accept. $\endgroup$
    – Alec Rhea
    Commented Jun 5, 2022 at 6:25
  • $\begingroup$ @Alec I'm curious to know why you feel Dmitri's particular coding is qualitatively different to the one that attaches the specified codomain to the set of ordered pairs that is the function itself. It is definitely very nice, but still a coding trick, since now the functions are just buried differently in the elements of the class of morphisms. $\endgroup$
    – David Roberts
    Commented Jun 6, 2022 at 7:10
  • $\begingroup$ @DavidRoberts If I really sit down and nitpick, the delineation is a syntactic one -- let $\phi(x)$ be the sentence stating that $x$ is an arrow in the category of sets. If the domain and codomain of an arrow occur in the definition of $\phi(x)$, for example if we take $\phi(x)\equiv\exists(f,Y,Z)(f\subseteq Y\times Z\wedge f\ \text{is entire and functional}\wedge x=(f,Y,Z))$, then we have 'used a typing trick' -- we can simply look at the syntax defining what an arrow is to see its domain and codomain. [cont.] $\endgroup$
    – Alec Rhea
    Commented Jun 6, 2022 at 9:01

1 Answer 1

8
$\begingroup$

It is certainly possible to define the class of functions as something else than ordered pairs: for example, we can define a function to be a set $Z$, whose individual elements must be ordered pairs $(a,b)$, and the first components of these pairs must be disjoint sets $a$. Then the union of all $a$ is the domain of function and the set of all $b$'s is the codomain. If $(a,b)∈Z$, the associated function sends all elements of $a$ to $b$.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .