Ralf Hemmecke wrote: > > 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.
OK, in analogy with exising names we get AdditiveMagmaWithUnit > > 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. Sure. > 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. AFAICS it is exactly AdditiveMagmaWithUnit (2 above). > > 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. Names can get quite long, like CancellationAbelianMonoid. I think when we have opportunity to shorten names without confusion we should use it. > > 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. Yes, the above is just a Join of two categories. I just mentioned it because supposedly it got a name... > > - 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 > -- Waldek Hebisch [email protected] -- 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.
