Mike, >On Sun, Nov 9, 2008 at 1:21 PM, root <[EMAIL PROTECTED]> wrote: >> There are at least two possible paths toward a category hierarchy in Sage, >> adopting Axiom's version or designing a new one. >> >> The key advantage of adopting the Axiom category hierarchy is the Sage >> system could reuse a lot of the algorithms in Axiom. The Spad language >> used in Axiom is similar in style and spirit to the Sage python language. >> If the same categories were available it should be possible to use the >> algorithms in Axiom's domains as written. >> >> The temptation to re-design is very seductive but not very productive. > >What is the relationship between "categories" in Axiom and the >mathematical notion of a category?
That's a pretty deep question that's been under debate for a while on the Axiom mailing list. See: <http://lists.gnu.org/archive/html/axiom-developer/> My capsule response would be that it is a computational approximation to the mathematical idea. Axiom's implementation was not trying to develop category theory in full generality. However, because many of the ideas underlie the implementation, Axiom has a very strong "scaffold" that arranges and supports its category hierarchy. I've found that there is a gap between traditional mathematics and computational mathematics. Implementing the exact mathematics makes a system extremely difficult to use. Implementing the computational approximation makes mathematical reasoning awkward and approximate. (Trivially, consider "Real Numbers") I do not believe that the proper theory exists to bridge the gap. I feel that such a theory will be the fundamental theory of computational mathematics. And, no, I have no idea what that might be. The point I was making is related to Nicolas's suggestion of redesigning the category hierarchy to handle additive vs multiplicative forms in a different way. While that may be a good idea it would have the side-effect of changing the implementation of the algorithms. I make no claim that Axiom's choices are better than any other possible choices, merely that the pragmatics of the choice make life easier. If Sage had an Axiom-style category hierarchy then the Axiom (Spad language) algorithms for things like integration could be rewritten into python with a local-minimum of effort. Spad uses indentation in the same way that python does. However, this would not be "trivial" since python does not support lisp-like macros, Sage does not seem to have a compiler, python does not support the data==program abstraction, etc. Tim _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer