Mathematical Structures in Computer Science
We combine the principles of the Floyd-Warshall-Kleene algorithm, enriched categories, and Birkho arithmetic, to yield a useful class of algebras of transitive vertex-labeled spaces. The motivating application is a uniform theory of abstract or parametrized time in which to any given notion of time there corresponds an algebra of concurrent behaviors and their operations, always the same operations but interpreted automatically and appropriately for that notion of time. An interesting side
... cation is a language for succinctly naming a wide range of datatypes. our last example, sets as distances, the poset structure is generalized to category structure, so that rather than an ordered monoid we have a monoidal category, for which \monotone operation" must be correspondingly generalized to \functor." The transitivity law u v^v w ! u w for a poset, the triangle inequality d(u; v)+ d(v; w) d(u; w) for a metric space, the requirement L uv L vw L uw for an automaton to be considered closed, and the family of composition operations m uvw : Hom(v; w) Hom(u; v) ! Hom(u; w) for a category, respectively combine these two facets via essentially the same basic triangle inequality. Each of these classes of generalized metric spaces has a natural notion of map, respectively monotone functions, contractions, morphisms of automata, and functors, in each case making that class a category with those maps as its morphisms. In computer science some of the common elements of these notions have been uni ed by organizing distances as an idempotent semiring, an ordered monoid whose underlying partial order contains all sups and whose monoidal operation preserves (i.e. distributes over) those sups. The basis for this uni cation is the O(n 3 ) time procedure of Roy Roy59] and independently that of S. Warshall War62] for computing the transitive closure of a binary relation on n elements presented as an n n Boolean (0-and 1-valued) matrix. The uni cation was hinted at by R.W. Floyd Flo62] who observed that Warshall's procedure would compute shortest paths instead of transitive closure if Booleans were replaced by nonnegative reals, disjunction by min, and conjunction by addition. The uniform expression of this common algorithm in terms of semirings was rst described by Robert and Ferland RF68]. Synonyms for this notion of semiring include regular algebra Con71], Kleene algebra Koz80, Koz81], and quantale Vic89]. Other instantiations of this abstract algorithm were subsequently found. Replacing Booleans in Warshall's algorithm by languages, conjunction by concatenation, and disjunction by union, yields Kleene's algorithm for \closing" an automaton M having n states, viewed as an n n matrix of ( nitely presented) regular languages, from which one may then easily read o a regular expression denoting the language L(M) accepted by M AHU74]. Even Gaussian elimination was found to be so describable in the (nonidempotent) ring of reals made a eld via 1=(1 ? x) = 1 + x + x 2 + . . .. Independently and working in a categorical setting, Eilenberg and Kelly EK66] developed a more categorically sophisticated version of the same generalization of metric space under the name enriched category or V -category. In place of a semiring they used a monoidal category V . Distances became homobjects, a generalization of homset. The logical facet was expressed by the category structure of V : the morphisms of V permitted \comparisons" of homobjects. The metrical facet was expressed by the monoidal structure of V : \consecutive" homobjects were combined by the binary operation of the monoid. Although Eilenberg and Kelly described enriched categories in their full generality, their motivating applications were con ned to V 's forming classes rather than sets, an emphasis continued in Kelly's subsequent book on enriched categories Kel82, p22]. Yet in 1974 F.W. Lawvere Law73] in an excellent advertisement for the utility of enriched categories emphasized V 's that were semirings, hence sets rather than classes, and with category structure merely that of a poset. This brought enriched categories into close proximity to the parallel computer science development. Nevertheless this connection between enriched categories and shortest-path algorithms remained undetected for another 15 years Pra89].