On 03/16/2006 07:23 PM, Gabriel Dos Reis wrote:
"Bill Page" <[EMAIL PROTECTED]> writes:
| > In their approach to mimic Axiom, they avoid been careful in
| > making AbelianMonoid "derive" from Monoid. | | Yes, that is interesting - nice diagram. I wonder how much
| of that was actually implemented?

Good question.

No it is so simple. They actually suffer from the same problem that we have with Axiom/Aldor. However, if you look at the code you find the stuff below. It is simply that: Gauss-Monoid is written additively, and Gauss-AbelianMonoid, too. We could do that in Axiom, too. So, no surprise.

BTW, if you look at Gauss-Ring, you find that the multiplicative structure is not a derived from Gauss-Monoid.

Ralf

Monoid := proc() local M;
    option `Copyright 1992 Wissenschaftliches Rechnen, ETH Zurich`;
    M := SemiGroup(args);
    if hasCategory(M,Monoid) then RETURN(op(M)) fi;
    addCategory(M,Monoid);
    defOperation( 0, M, M );    # the additive identity
    addProperty( M, NormalForm );    # must be a unique constant
    op(M)
end:

AbelianMonoid := proc() local M;
    option `Copyright 1992 Wissenschaftliches Rechnen, ETH Zurich`;
    M := Monoid(args);
    addCategory(M,AbelianMonoid);
    addProperty(M,Commutative(`+`));
    op(M)
end:



_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to