  A semantics of concurrent programs can be given using precubical sets, in
order to study (higher) commutations between the actions, thus encoding the
"geometry" of the space of possible executions of the program. Here, we study
the particular case of programs using only mutexes, which are the most widely
used synchronization primitive. We show that in this case, the resulting
programs have non-positive curvature, a notion that we introduce and study here
for precubical sets, and can be thought of as an algebraic analogue of the
well-known one for metric spaces. Using this it, as well as categorical
rewriting techniques, we are then able to show that directed and non-directed
homotopy coincide for directed paths in these precubical sets. Finally, we
study the geometric realization of precubical sets in metric spaces, to show
that our conditions on precubical sets actually coincide with those for metric
spaces. Since the category of metric spaces is not cocomplete, we are lead to
work with generalized metric spaces and study some of their properties.
