## “Category” of Nonempty Metric Spaces and Contractive Maps?

The usual way of getting a category of metric spaces is to take metric spaces as objects, and the nonexpansive maps (ie, functions $f : A \to B$ such that $d_B(f(a), f(a')) \leq d_A(a, a')$) as morphisms.

However, for my purposes I'd like to use the Banach fixed point theorem to get a category with a trace structure or Conway operators on it, which means I want to consider the contraction mappings on nonempty metric spaces -- that is, there should be $q < 1$ for each mapping $f$ such that $d_B(f(a), f(a')) \leq q \cdot d_A(a, a')$.

But nonempty metric spaces and contraction mappings don't form a category, since the identity function is not a contraction map! Is there some way of defining this kind of setup as a category? I'm happy to play games with the metrics (e.g., use ultrametrics, but bounds on them, that sort of thing), if it helps.

-
It's fun to occasionally see a fairly "natural" definition which is not satisfied by the identity map. The notions of trace class or compact maps on Hilbert spaces is another example: the identity map on a Hilbert space is trace class iff the space is finite-dimensional. In this case I always felt that what was going on was that the functions you're interested in are somehow an "ideal" in the space of all functions. For example if f is trace class and g is continuous then f o g is trace class. Similarly if f is a contraction map and g is non-expansive then f o g is a contraction. – Kevin Buzzard Feb 18 2010 at 14:36
Such notions of ideals have been worked out in arxiv.org/abs/math/9805102, for example. They cover Hilbert-Schmidt maps, such as in Andrew's answer, and trace class operators, as in Kevin's comment. One would think the ideal of contractions could be axiomatized similarly. – Chris Heunen May 21 2012 at 9:15

Presumably you don't want to allow arbitrary non-expansive maps, otherwise you could simply take that.

One thing that you could do artificially is to take the subcategory of "metric spaces + nonexpansive maps" generated by the strict contractions. This is a bit like adding the unit in to a non-unital ring. That may seem a little forced, though.

This sort of thing is also encountered in two other situations: Hilbert-Schmidt operators on Hilbert spaces, and cobordisms between manifolds (Stolz and Teichner have, at one time, needed something like this, I vaguely recall). One solution, that I think comes from those areas, is to use the idea of a "length" of a morphism. In this case, the length of a morphism would be its contraction factor. Morphisms of length 0 have to be the identity (or an isometric isomorphism, if you don't want to be too evil).

Perhaps you could clarify exactly which nonexpansive maps you wish to disallow?

-
 I think the idea of using a length may work well for me, actually! I'm designing a small programming language, and am trying to give a semantics which will let me use a fixed point to interpret recursive definitions. So I need some way of only talking about the contraction maps, to allow these definitions to work. – Neel Krishnaswami Feb 18 2010 at 13:40