axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Domains and expressions


From: Ralf Hemmecke
Subject: Re: [Axiom-developer] Domains and expressions
Date: Fri, 17 Mar 2006 11:02:44 +0100
User-agent: Thunderbird 1.5 (X11/20051201)

On 03/16/2006 07:23 PM, Gabriel Dos Reis wrote:
"Bill Page" <address@hidden> 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:





reply via email to

[Prev in Thread] Current Thread [Next in Thread]