axiom-developer
[Top][All Lists]
Advanced

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

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


From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] Curiosities with Axiom mathematical structures
Date: 14 Mar 2006 01:49:00 +0100

Ralf Hemmecke <address@hidden> writes:

| 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 *.

I note the predicate.  Notice that what you say does not contradict
what Martin said.  You're showing a non-parameterez structure --
where the exported constants are not parameterized.  Martin is
interested in case the structure is parameterized.  Consequently the
proper course of action is that the question is asked for specific
arguments. 

-- Gaby




reply via email to

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