Dear all, I will first describe my problem with two examples occurring in practice, and finally try to give a more abstract description. The question is, how to structure categories in these cases.
Example 1, Matroids A "matroid" is a mathematical structure with one very, very important operation, namely "dualizing" which transforms a given matroid into another. Thus, one is tempted to have a category "MatroidCat", which exports an operation "dual: % -> %". However, a very important class of matroids, called "graphic matroids", do have this operation only if the matroid is "planar". (In fact, "graphic matroids" are simply undirected, unweighted graphs) Since "graphic matroids" are so important, I would like to have a category "GraphicMatroidCat", and since they are matroids I'd like to have it inherit from "MatroidCat". But this is impossible, since the class is not closed under duality. Example 2, Differential Equations A Holonomic function is a function f -- say in one variable x -- that satisfies a differential equation with polynomial coefficients: p_k(x) f^(k) (x) + ... + p_2(x) f''(x) + p_1(x) f'(x) + p_0(x) f(x) = q(x) where f^(k) is the k_th derivative of f and p_i and q are polynomials. It is quite easy to see that the class of holonomic functions is closed under integration, i.e., integrating a holonomic function yields again a holonomic function. This is quite an important property, of course, so a priori, I'd like to export it in "HolonomicCat". If we take k=0 in the equation above we obtain the class of rational functions. Since rational functions are so important, I'd like to have a category "RatCat". However, we all know that the class of rational functions is *not* closed under integration, the simplest example being 1/x. The general case We have a category A with an operation op: % -> %. However, there are natural subdomains of domains of A, which are no longer closed under op. Can you propose a "natural" hierarchy of categories for this situation? Since this occurs so often, I hope that there is a nice solution... Martin _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer