At 10:08 -0700 1999/05/04, peter <[EMAIL PROTECTED]> wrote:
>Hans aberg writes:
>When a group is expressed as a class G having operations e, *, and -1,
>then implicitly (via well defined semantics), a group is a quadruple,
>so I don't think the quadruple need be explicit in the Haskell program.
>The relation R is also implicit if properties are stated in the form
>of equations concerning associativity and so on. I think providing a
>way to express properties of the class is sufficient. While
>universal algebra is also a mathematical framework capable of
>expressing the properties, for a programming language logical formulae
>is a more natural way to go.

It is sorry you do not give any motivations for your opinions, so that one
can follow the reasoning.

The thing is though that Haskell fixes the names of the symbols one can use
in say a group. So if one cannot express a group as a quadruple (G, e, *,
^-1), then there is no way from the concept of a group to derive the
concept of an Abelian group, and then by derivation saying that a ring is
an Abelian group under addition.

In fact this problem showed up in the posts a time ago where a fellow
wanted to make a library with the usual symbols + *. The suggestion for
solution was to rewrite the Prelude, otherwise it is not possible to do it
in Haskell.

In addition, if one cannot add the relations to the concept in any form, so
that a group then becomes (G, e, *, ^-1; R), where R is the relations, then
clearly there is no way the computer can catch the semantics no matter
what. And I thought this what was discussed in this thread.

Then one can think of different means of catching that semantics, universal
algebra, theorem provers or whatever.

So if one would want to eventually have a computer language with the
ability to catch some of the semantics used in math then those features are
surely necessary.

  Hans Aberg
                  * Email: Hans Aberg <mailto:[EMAIL PROTECTED]>
                  * Home Page: <http://www.matematik.su.se/~haberg/>
                  * AMS member listing: <http://www.ams.org/cml/>




Reply via email to