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

Joe Fredette jfredett at gmail.com
Wed Oct 7 17:51:54 EDT 2009


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

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; ...).
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



More information about the Haskell-Cafe mailing list