On 08/17/2015 02:14 AM, Waldek Hebisch wrote:

> 1) Just operation '+' (named AdditiveOperation or possible
>    AdditiveMagma)

The aldor library calls it "AdditiveType", but it already has 0 and -.
https://github.com/pippijn/aldor/blob/master/aldor/lib/aldor/src/arith/sal_arith.as#L30

I'm rather in favour of excluding 0 and - from the very basic category.

> 2) '+' and 0 (neutral element) I am tempted to call it
>    AdditiveOperation0

I'd rather use AdditiveOperationsZero or AdditiveMagmaZero. I somewhat
don't like the number symbol in the category name. But that's not a very
strong opinion.

> 3) Associativity: AdditiveSemigroup
> 4) Associativity and 0: AdditiveMonoid

If you call it "Monoid" then, of course, that would include the axiom
for the unit element 0 and not just the existence of a distinct element
0 with no further properties.

I'm not really sure, but maybe we could think of introducing a category
that represents the axioms. AdditiveSemigroup is OK for associativity,
but, according to https://en.wikipedia.org/wiki/Magma_%28algebra%29
there is also "unital magma", i.e. without associativity.

> 5) Associativity and Inverse: AdditiveGroup
> 6) Associativity and cancellation property (left/right)
> 
> 3, 4, 5 and commutativity give existing categories: AbelianSemigroup,
> AbelianMonoid, AbelianGroup

Although "Abelian" seems to be used consistently, i.e. always only wrt.
the + operation, why not continue using "Additive" and "Multiplicative"
in the name to avoid confusion? I.e. we would have AbelianAdditiveGroup,
AbelianMultiplicativeGroup, etc.

Currently, we have Group reserved for *. The respective categories for +
always include commutativity. Not perfect, I would say. So I would want
AdditiveGroup and MultiplicativeGroup.

> Then similar categories for '*', starting from say
> MultiplicativeOperation).

I find it somewhat unfortunate, but with the current language, we can
only express these algebraic concepts in terms of the symbol + or *,
i.e. we will basically have two copies of the same algebraic hierarchy
(additive and multiplicative) as categories in FriCAS. But this
duplication is OK for now.

> Then we get categories combining the two operations:
> - just operation

> - 0 which is identity for '+' and satisfies 0*x = x*0 = 0
>   (supposedly this is called Shell)

I think these are two properties (1) identity, (2) absorbing element,
and thus would introduce two categories UnitalAdditiveMagma and
AbsorbingZero (or ZeroElement or AbsorbingElement or ...).
https://en.wikipedia.org/wiki/Absorbing_element
The above url even speaks about left and right zero.

> - near-semiring: two associative operations with right
>   distributive law
> - near-ring: group with respect to addition
> 
> I do not expect to be able to perform a lot of computations with
> domains of such general categories.  However, some exaples are
> easy to create and I think it would be nice to have them
> incorporated into our category hierarchy.

I fully agree with Waldek on starting the categories just with the
operations (without any axioms) and then step by step add the axioms in
terms of a named category that clearly documents what property of the
operation(s) is required.

Ralf

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to