<div>I&#39;ve been thinking a lot about these issues lately, mainly because I have been working with a toy compiler that uses multiple inheritance heavily, and which uses adjectives explicitly for context sensitive mixins.</div>

<div> </div>
<div>An easier idea to think about would be to categorize most adjectives applied to mathematical constructs into traits and cotraits. </div>
<div> </div>
<div>A trait refines a notion and a cotrait broadens the definition.</div>
<div>
<div> </div>
<div>When talking about a commutative ring, commutativity is a trait, it narrows the definition of the ring, adding a requirement of commutativity to the multiplication operation.</div>
<div> </div></div>
<div>When talking about semi rings, semi is a cotrait. It broadens the definition of a ring, removing the requirement that addition form a group, weakening it to merely require a monoid.</div>
<div> </div>
<div>In that setting &#39;generalized&#39; as applied in the scenarios mentioned is just a cotrait. Its not wrong, its just not the more common notion of refinement you are used to when seeing adjectives applied to mathematical primitives.</div>

<div> </div>
<div>Whether traits or cotraits are applied when generating a new idea tends to be a function of primacy. Sure, perhaps every field should be viewed as a specialization of term for non-associative-field adding associativity, but often we don&#39;t find out that these weakened notions are even meaningful under after the more constrained topic has gained wide adoption.</div>

<div> </div>
<div>Neither notion is necessarily more correct than the other. Abstract algebra can be taught bottom up from groups to fields and beyond or &#39;top down&#39; in the more traditional manner by progressively weakening the definition of a field. Eventually you wind up having to go both ways. After all if you started &#39;bottom up&#39; from groups, you&#39;ve probably got to go back and work down through monoids and semigroups to magmas if you want to be pedantic later. ;)</div>

<div> </div>
<div>-Edward Kmett</div>
<div> </div>
<div class="gmail_quote">On Thu, Mar 19, 2009 at 6:43 AM, Wolfgang Jeltsch <span dir="ltr">&lt;<a href="mailto:g9ks157k@acme.softbase.org">g9ks157k@acme.softbase.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Am Mittwoch, 18. März 2009 15:17 schrieben Sie:<br>
<div class="im">&gt; Wolfgang Jeltsch schrieb:<br>&gt; &gt; Okay. Well, a monoid with many objects isn’t a monoid anymore since a<br>&gt; &gt; monoid has only one object. It’s the same as with: “A ring is a field<br>&gt; &gt; whose multiplication has no inverse.” One usually knows what is meant<br>
&gt; &gt; with this but it’s actually wrong. Wrong for two reasons: First, because<br>&gt; &gt; the multiplication of a field has an inverse. Second, because the<br>&gt; &gt; multiplication of a ring is not forced to have no inverse but may have<br>
&gt; &gt; one.<br>&gt;<br>&gt; “A ring is like a field, but without a multiplicative inverse” is, in my<br>&gt; eyes, an acceptable formulation. We just have to agree that “without”<br>&gt; here refers to the definition, rather than to the definitum.<br>
<br></div>Note that you said: “A ring is *like* a field.”, not “A ring is a field.”<br>which was the formulation, I criticized above.<br><br>Best wishes,<br><font color="#888888">Wolfgang<br></font>
<div>
<div></div>
<div class="h5">_______________________________________________<br>Haskell-Cafe mailing list<br><a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br>