# [Haskell-cafe] Join and it's relation to >>= and return

Benjamin Franksen benjamin.franksen at bessy.de
Thu Jun 10 09:01:43 EDT 2004

```On Wednesday 09 June 2004 17:20, Ron de Bruijn wrote:
> --- "Iavor S. Diatchki" <diatchki at cse.ogi.edu> wrote:
> Only I still find it weird that join is called a
> multiplication, because according to the definition of
> multiplication, there should be an inverse. I think,
> thus that multiplication is only defined on a group.
> And now still remains: why do they call it a
> multiplication, while by definition it's not. Or
> should I understand it as: there's a concept called
> multiplication and for different structures there's a
> definition? I think, now I think over it, that it
> would seem logical.
>
> It could be possible that the definition is incorrect,
> though. Does anyone knows of a definition that is more
> general (and not absolute nonsens ;))?

The term "multiplication" as it stands (i.e. without context) is not a
defined mathematical concept. I.e. there is no (generally accepted)
definition.

Of course multiplication of numbers, vectors, matrices, functions etc...
are all well defined. Multiplication isn't even constrained to the
operation on a semi-group as the example of multiplication of scalars
to vectors shows.

You probably would not use the term "multiplication" for anything that
is not at least a function f: A, B -> C where A, B, and C are sets (or
at least classes). If A=B, then you would probably assume
associativity, though there migth be "counter-examples" even for this
rule.

Ben
```