I think the short answer is "no". But if you do re-write it, I can see
no reason why this should not be written as a normal category
definition and used in MonoidRing instead of the local macro
definition.
well I tried. Are there instructions for the clueless like me?
Simply modifying mring.spad.pamphlet apparently is not enough
(see attached diff).
The category definition is not exported into MRING.spad. Is there some index where it has to appear also in order
to be compiled?

On the other hand perhaps the category "AbelianMonoidRing" in
'src/algebra/polycat.spad.pamphlet' is what you need?
no, my monoids are usually nonabelian, even the commutative ones,
because I prefer "*" notation.

regards,
Franz
--- mring.spad.pamphlet.orig	2007-06-01 09:26:36.000000000 +0200
+++ mring.spad.pamphlet	2007-07-22 12:14:26.000000000 +0200
@@ -9,12 +9,12 @@
 \eject
 \tableofcontents
 \eject
-\section{domain MRING MonoidRing}
-<<domain MRING MonoidRing>>=
-)abbrev domain MRING MonoidRing
+\section{category MRCAT MonoidRingCategory}
+<<category MRCAT MonoidRingCategory>>=
+)abbrev category MRCAT MonoidRingCategory
 ++ Authors: Stephan M. Watt; revised by Johannes Grabmeier
 ++ Date Created: January 1986
-++ Date Last Updated: 14 December 1995, Mike Dewar
+++ Date Last Updated: 22 July 2007, Franz Lehner
 ++ Basic Operations: *, +, monomials, coefficients
 ++ Related Constructors: Polynomial
 ++ Also See:
@@ -23,26 +23,13 @@
 ++  indeterminates
 ++ References:
 ++ Description:
-++  \spadtype{MonoidRing}(R,M), implements the algebra
+++  \spadtype{MonoidRingCategory}(R,M) defines the algebra
 ++  of all maps from the monoid M to the commutative ring R with
 ++  finite support.
-++  Multiplication of two maps f and g is defined
-++  to map an element c of M to the (convolution) sum over {\em f(a)g(b)}
-++  such that {\em ab = c}. Thus M can be identified with a canonical
-++  basis and the maps can also be considered as formal linear combinations
-++  of the elements in M. Scalar multiples of a basis element are called
-++  monomials. A prominent example is the class of polynomials
-++  where the monoid is a direct product of the natural numbers
-++  with pointwise addition. When M is
-++  \spadtype{FreeMonoid Symbol}, one gets polynomials
-++  in infinitely many non-commuting variables. Another application
-++  area is representation theory of finite groups G, where modules
-++  over \spadtype{MonoidRing}(R,G) are studied.
-
-MonoidRing(R: Ring, M: Monoid): MRcategory == MRdefinition where
+MonoidRingCategory(R: Ring, M: Monoid):Category == MRCdefinition where
     Term ==> Record(coef: R, monom: M)
 
-    MRcategory ==> Join(Ring, RetractableTo M, RetractableTo R) with
+    MRCdefinition == Join(Ring, RetractableTo M, RetractableTo R) with
         monomial         : (R, M) -> %
           ++ monomial(r,m) creates a scalar multiple of the basis element m.
         coefficient : (%, M) -> R
@@ -82,6 +69,38 @@
             ++ among all those with non-zero coefficients.
           reductum          : % -> %
             ++ reductum(f) is f minus its leading monomial.
+@
+\section{domain MRING MonoidRing}
+<<domain MRING MonoidRing>>=
+)abbrev domain MRING MonoidRing
+++ Authors: Stephan M. Watt; revised by Johannes Grabmeier
+++ Date Created: January 1986
+++ Date Last Updated: 14 December 1995, Mike Dewar
+++ Basic Operations: *, +, monomials, coefficients
+++ Related Constructors: Polynomial
+++ Also See:
+++ AMS Classifications:
+++ Keywords: monoid ring, group ring, polynomials in non-commuting
+++  indeterminates
+++ References:
+++ Description:
+++  \spadtype{MonoidRing}(R,M), implements the algebra
+++  of all maps from the monoid M to the commutative ring R with
+++  finite support.
+++  Multiplication of two maps f and g is defined
+++  to map an element c of M to the (convolution) sum over {\em f(a)g(b)}
+++  such that {\em ab = c}. Thus M can be identified with a canonical
+++  basis and the maps can also be considered as formal linear combinations
+++  of the elements in M. Scalar multiples of a basis element are called
+++  monomials. A prominent example is the class of polynomials
+++  where the monoid is a direct product of the natural numbers
+++  with pointwise addition. When M is
+++  \spadtype{FreeMonoid Symbol}, one gets polynomials
+++  in infinitely many non-commuting variables. Another application
+++  area is representation theory of finite groups G, where modules
+++  over \spadtype{MonoidRing}(R,G) are studied.
+MonoidRing(R: Ring, M: Monoid): MonoidRingCategory(R,M) == MRdefinition where
+    Term ==> Record(coef: R, monom: M)
 
     MRdefinition ==> add
         Ex ==> OutputForm
@@ -395,6 +414,7 @@
 <<*>>=
 <<license>>
 
+<<category MRCAT MonoidRingCategory>>
 <<domain MRING MonoidRing>>
 <<package MRF2 MonoidRingFunctions2>>
 @
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to