axiom-developer
[Top][All Lists]

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

 From: Bill Page Subject: RE: [Axiom-developer] Curiosities with Axiom mathematical structures Date: Wed, 8 Mar 2006 14:36:26 -0500

BTW. I've replied just on the axiom-developer since the email
lists seem to be functioning (more or less) properly again.
When replying to something that includes a Cc: to Axiom Wiki
email address@hidden, I think we need to keep
in mind that the email will be appended to a page named by the
bracket in the subject, [axiom-developer] in this case. Since
this name automatically occurs on all emails forwarded from
the axiom-developer list, this means the corresponding page on
the Axiom Wiki can get unmanageably long...

On March 7, 2006 2:53 PM William Sit wrote:
> ...
> Ralf Hemmecke wrote:
> > There is Chapter 9 of Doye's PhD thesis
> > http://portal.axiom-developer.org/refs/articles/doye-aldor-phd.pdf
> > which deals in part with the renaming.
> >
> >  From what I understand, it simply makes two mathematically
> > distinct things (operator symbols and operator names) distinct
> > in the programming language. (Though I don't quite like the syntax.)
>
> ...
> By the way, I don't follow his example at bottom of p. 127:
> If \phi is a functor (he said homomorphism, but that is wrong,
> because a list and a set are from different categories),

Doye's use of the work homomorphism is correct in the context
of order-sorted algebra. Doye is not using the language of
category theory in either the mathematical sense or in Axiom's
sense.

http://en.wikipedia.org/wiki/Homomorphism

A homomorphism is just a map from one algebra to another that
preserves the abstract algebraic structure. From Doye's point of
view both lists and sets are algebras in this sense).

> he wants the equation to hold:
>
>     \phi(#([1,1]) = #(\phi([1,1]))
>

This is just the definition of preservation of algebraic structure.

> The right hand side makes sense, with answer 1, but the left
> hand side does not, since #([1,1]) = 2 is a number, not a list.

In Doye's formalism both number 2 and the list [1,1] are part
of the algebraic structure of 'List'. phi maps both of these to
the corresponding structures in 'Set'.

> He claimed \phi(2) = 2.

Yes, the '2' in 'List' maps to the '2' in 'Set'.

> In addition, there is no requirement that a functor commutes
> with operations. A functor should, in addition to taking
> objects (lists) to objects (sets), also has to take a morphism
> *between* source objects (lists) to another morphism *between*
> the image objects (sets). The map '#' is not a  morphism in the
> category of Lists, nor of Sets.

'#' is an operator in both the 'List' and 'Set' order-sorted
algebras.

> If one must, then '#' is a functor from the category of Lists
> (and also for Sets) to the category whose objects are
> non-negative integers. But the composition of functors \phi
> \circ # does not make sense.

No, this is not what Doye has in mind.

> What Doye has in mind is the following diagram:
>
>                  #
>           Lists --> NNI
>             |        |
>        \phi |        |  id
>             v   #    v
>           Sets  --> NNI
>
> But there is no reason to expect this to be a commutative
> diagram of functors. So I think his example illustrates nothing.
>

No. The diagram should look like this:

#: Lists --> NNI
|
\phi |
|
v
#: Sets  --> NNI

Where we have the algebra 'List' on top and the algebra 'Set'
on the bottom. We should think of \phi as mapping everything
from 'List' to 'Set', i.e. %_list -> %_set, NNI_list -> NNI_set,
and #_list -> #_set.

Regards,
Bill Page.