# [Haskell-cafe] Re: Num instances for 2-dimensional types

Daniel Fischer daniel.is.fischer at web.de
Wed Oct 7 18:12:40 EDT 2009

```Am Mittwoch 07 Oktober 2009 23:51:54 schrieb Joe Fredette:
> I was just quoting from Hungerford's Undergraduate text, but yes, the
> "default ring" is in {Rng, Ring}, I haven't heard semirings used in
> the sense of a Rng.

It's been looong ago, I seem to have misremembered :?
But there used to be a german term for Rngs, and it was neither Pseudoring nor quasiring,
so I thought it was Halbring.

> I generally find semirings defined as a ring
> structure without additive inverse and with 0-annihilation (which one
> has to assume in the case of SRs, I included it in my previous
> definition because I wasn't sure if I could prove it via the axioms, I
> think it's possible, but I don't recall the proof).

0*x = (0+0)*x = 0*x + 0*x ==> 0*x = 0

>
> Wikipedia seems to agree with your definition, though it does have a
> note which says some authors use the definition of Abelian Group +
> Semigroup (my definition) as opposed to Abelian Group + Monoid (your
> defn).
>
> Relevant:
>
> http://en.wikipedia.org/wiki/Semiring
> http://en.wikipedia.org/wiki/Ring_(algebra)
> http://en.wikipedia.org/wiki/Ring_(algebra)#Notes_on_the_definition
>
> /Joe
>
> On Oct 7, 2009, at 5:41 PM, Daniel Fischer wrote:
> > Am Mittwoch 07 Oktober 2009 22:44:19 schrieb Joe Fredette:
> >> A ring is an abelian group in addition, with the added operation (*)
> >> being distributive over addition, and 0 annihilating under
> >> multiplication. (*) is also associative. Rings don't necessarily need
> >> _multiplicative_ id, only _additive_ id. Sometimes Rings w/o ID is
> >> called a Rng (a bit of a pun).
> >>
> >> /Joe
> >
> > In my experience, the definition of a ring more commonly includes
> > the multiplicative
> > identity and abelian groups with an associative multiplication which
> > distributes over
> > addition are called semi-rings.
> >
> > There is no universally employed definition (like for natural
> > numbers, is 0 included or
> > not; fields, is the commutativity of multiplication part of the
> > definition or not;
> > compactness, does it include Hausdorff or not; ...).

```