Is "single valued" too restrictive for functors? In set theory, we may define a function A --> B to be a relation on AxB that is "single valued": to each a in A there exists a unique b in B such that (a,b) is in AxB. For any functor F:C->D, we could define Graph(F) to be the subcategory of CxD given by: . Objects (c, F(c)) . Arrows (f, F(f)) What are the conditions on a subcategory R of CxD that make it the graph of a functor F? They are: . To each object c of C there is a unique d of D such that (c,d) is in R . To each arrow f of C there is a unique g of D such that (f,g) is in R . If (f,g) is in R, then (domain(f), domain(g)) is in R . If (f,g) is in R, then (codomain(f), codomain(g)) is in R . If (f,g) and (f',g') are in R and ff' is defined, then (ff', gg') is in R One thing stands out as odd about this definition -- why should d be unique? Shouldn't we, in accordance with the categorical spirit, instead have the condition . To each object c of C there is an object d of D such that (c,d) is in R . If c is an object of C and (c,d) and (c,d') are in R, then d is isomorphic to d' Maybe the previous condition should be replaced with something like . If c is an object of C, (c,d) and (c,d') are in R, then there is an isomorphism g:d->d' such that (1c,g) is in R This alteration, assuming things work out, seems very pleasing on general principles. It also seems pleasing in that it might clean up some awkwardness of details -- e.g. if C is cartesian, we tend to want to consider a product functor CxC-->C, but there is in general no natural choice between the many naturally isomorphic product functors! However, if we weakened the definition of functor to be single-valued up to isomorphism, then we could just define the product "functor" to map (A,B) to all objects of C which are a product of A and B. However, I do not believe I've ever seen such an object mentioned before. Do people ever consider such objects? Does this notion even have a name?