[Top][All Lists]

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

Re: Renaming at inheritance (was: Re: [Axiom-developer] Curiosities with

From: Gabriel Dos Reis
Subject: Re: Renaming at inheritance (was: Re: [Axiom-developer] Curiosities with Axiom mathematical structures)
Date: 02 Mar 2006 20:41:02 +0100

Ralf Hemmecke <address@hidden> writes:


| >> | Note that one would have to say something like
| >> | | define Monoid(
| >> |    *: (%, %) -> %;
| >> |    1: %
| >> | ): Category == ...
| >> | | define Group(
| >> |    *: (%, %) -> %,
| >> |    inv: % -> %,
| >> |    1: %
| >> | ): Category == ...
| >> | | define Ring(.....): Category == with {
| >> |    Monoid(*, 1);
| >> |    Group(+, -, 0);
| >> | }
| >>
| >> Ring should be both Monoid and Group, whether they shoud be
| >> categories, I don't really know.
| Well, think of Axiom's Category as just a list of function (and
| constant) signatures.

See my last message in response to Bill's post for why I made that
I believe, the implementation aspect that a Category is just a list of
functions is orthogonal.

| Well, as far as I know, something that is of type Category in
| Aldor/Axiom should be near to a mathematical category.

But that is not true, for any measure "nearness" I could think of :-)

| (But I am not
| the original designer and unfortunately there is no page on the
| AxiomWiki that explains it clearly.
| Anyway, what I suggested above is perhaps not so close to mathematics
| as I and probably other mathematicians would like it to be.
| The point is that one speaks of a "category of rings, groups, monoids,
| etc.), but not of a "category of rings(*, 1, +, -, 0)". So defining
| those structures in Axiom without arguments would be highly preferable.

I profoundly disagree.  Any respectable source on algebraic structures
defines rings as tuples.  When one colloquially says "take a monoid",
one speaks of that tuple, and it is also understood that the
components of that tuple are parameters, and as such will vary from
one tuple to another.  What the current system does is to say
"oh, the parameters are named the same" and later discover that that
"oh" is causing serious troubles.  Then it is decided to have Abelian
monoid not having anything to do with monoid.  That is at least

Computers are notoriously known not to good at reading minds, and when
they guess they usually guess wrong.  Furthermore, mathematics
discourses are highly syntactically ambiguous.  For computational
mathematics point of view, one needs to hunt those ambiguities and
flesh them out. 

| However, there is no way in Axiom to express that a Ring is a Monoid
| (SemiGroup if you like) "with respect to multiplication" and a Group
| (which is also a Monoid) "with respect to addition".

I understand there is no way.  My issue is *why*? E.g. is it
fundamental or just implementation details that shrine into the
interface?  My suspected answer is that it is an artifact of the
used object-oriented technology.


| There are some experiments, however...


-- Gaby

reply via email to

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