axiom-developer
[Top][All Lists]

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

 From: William Sit Subject: Re: [Axiom-developer] Curiosities with Axiom mathematical structures Date: Fri, 10 Mar 2006 00:43:04 -0500

```Ralf Hemmecke wrote:
>
> On 03/09/2006 03:46 PM, Martin Rubey wrote:
> > I wouldn't want to ask "Integer has Monoid", since this doesn't make any
> > sense
> > to me. I'd like to ask "Integer has Monoid(Integer, *)" or
> > "Integer has Monoid(*)"
>
> Well, if one interprets Monoid as the category of monoids then
>
>    Integer has Monoid
>
> just say that the integers (now the question is whether you mean the
> integers with the additive or the multiplicative structure) are an
> object in the category of monoids.
>
> Integer is a name for a structure with carrier set
>
> {0, 1, -1, 2, -2, ...}
>
> and operations {+, *, 0, 1, ...}.
>
> Integer is certainly not the carrier set alone.
> How would you mathematically express that the integers belong to the
> category of monoids? You would probably say that
>
> F(Integer) is an object in the category of monoids
>
> where F is a functor from the category of rings (or rather the category
> in which Integer really lives) that forgets every extra structure of a
> ring an just selects a monoid structure. Yes, the functor F decides
> whether you mean the additive or the multiplicative structure.
>
> I hope, some category experts correct me, if I am wrong. I'm not so
> fluent in that language.

You are right.

> Anyway there is clearly something missing in the "has" construction if
> that would have to be written mathematically.

Not really (other than documentation). "has Monoid" means the domain has
implemented a Monoid structure according to the default notation, using * for
the monoid operation. It may not be what you like. You can clearly define a
MaxMonoid or an AddMonoid using other operators. To do this with parametrized
operator, as we learn in these discussions, is not easy. "has" also allows
something like "has Monoid(*,1)" if Monoid(*,1) were a category constructor.

[snipped]

> > Can you think of an example where more than, say 5, parameters would be
> > desirable?
>
> A partial differential ring (0,1,+,*) with n derivations. ;-) But maybe
> you prefer k automorphisms in order to get a difference algebra.

Ralf, I don't know you are interested in differential and difference algebra!
Other examples would be a Hopf algebra, and may be a sheaf or scheme. I agree
with you that we shouldn't have to tag along the notations if they are
"standard" (that is, if they are the default ones).

William

```