[Top][All Lists]

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

Re: [Axiom-developer] Curiosities with Axiom mathematical structures

From: Ralf Hemmecke
Subject: Re: [Axiom-developer] Curiosities with Axiom mathematical structures
Date: Mon, 13 Mar 2006 14:24:28 +0100
User-agent: Thunderbird 1.5 (X11/20051201)

hi Martin,

On 03/13/2006 01:15 PM, Martin Rubey wrote:
Ralf Hemmecke <address@hidden> writes:

Hi Martin,

a quick response to the following...

There is a simple practical reason why I dislike the idea of asking just
"Integer has Monoid".
Imagine I'm programming a package, and I need that a parameter domain M is a
monoid, so that I can use the monoidal structure, for example for
multiplying. Well, then simply asking M has Monoid doesn't buy me anything,
since I won't be sure that M really is a Monoid with respect to "+".
Imagine you could ask "if M has Monoid(+)..." or "if M has
Monoid(*)...". According to which returns true, you would then go on and call
(m1 +$M m2) or (m1 *$M m2). Well, but M might have a monoid structure with
respect to the operation ".". Do you really also want to ask "if M has
Monoid(.)..."? That soon becomes impractical.

No, this is not an issue about practicality.

Look at it this way: Suppose "M has Monoid" returns "true". How do you know
then with respect to which operation M is a monoid? What can you do with the
information that M is a monoid with respect to some operation?

  Monodid: Category == with{ 1:%; *:(%,%)->%; }
then "M has Monoid" means that M has a 1 and *.

By now, we all know that if "M has Monoid" returns false, it does NOT mean that M is not an object in the category of (mathematical) monoids.

It is as simple as this "Monoid" in Axiom does NOT stand for the category of all monoids.


reply via email to

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