axiom-developer
[Top][All Lists]

## 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:37:13 +0100

```Ralf Hemmecke <address@hidden> writes:

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

That is too restrictive.  There are many monoid structures on
integers.  One should not design a computer algebra system restricted
only to + and *.  It would like decreeing that because square root is
expensive to compute, the Euclidean distance does not exist.

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

Indeed. It is a type, e.g. set equipped with minimal operations that
let us implement abstractions on top of it.  Just an abstract data
type can be implemented in terms of another one, an algebraic
structure cane be constructed in terms of another one.

| 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

I would do it by assertion.  But I will refrain from needlessly
emphasizing on the the carrier set -- as F(Integer).  Rather, it is
the additional operation that gives new structure; that is where the
emphasis should be.

-- Gaby

```