
From:  Ralf Hemmecke 
Subject:  Re: [Axiomdeveloper] Curiosities with Axiom mathematical structures 
Date:  Mon, 13 Mar 2006 14:24:28 +0100 
Useragent:  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?
If 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.
Ralf
[Prev in Thread]  Current Thread  [Next in Thread] 