# Algebraic structure tree

Some classes of alge­braic struc­ture are given spe­cial names based on the prop­er­ties of their sets and op­er­a­tions. Th­ese terms grew or­gan­i­cally over the his­tory of mod­ern math­e­mat­ics, so the over­all list of names is a bit ar­bi­trary (and in a few cases, some au­thors will use slightly differ­ent as­sump­tions about cer­tain terms, such as whether a semiring needs to have iden­tity el­e­ments). This list is in­tended to clar­ify the situ­a­tion to some­one who has some fa­mil­iar­ity with what an alge­braic struc­ture is, but not a lot of ex­pe­rience with us­ing these spe­cific terms.

com­ment: Tree is the wrong word; this should be more of an alge­braic struc­ture col­lec­tion of dis­joint di­rected acyclic graphs? But this is what other pages seem to have cho­sen to link to, so here we are!

# One set, one bi­nary operation

• Groupoid, some­times known as a magma. This is the free­bie. Have a set and a bi­nary op­er­a­tion? That’s a groupoid.

• A semi­group is a groupoid where the op­er­a­tion is as­so­ci­a­tive.

• A monoid is a semi­group where the op­er­a­tion has an iden­tity el­e­ment.

• A group is a monoid where ev­ery el­e­ment has an in­verse el­e­ment un­der the bi­nary op­er­a­tion.

• A semilat­tice is a semi­group where the op­er­a­tion is idem­po­tent and com­mu­ta­tive.

• A quasi­group is a groupoid where ev­ery el­e­ment has a left and right quo­tient un­der the bi­nary op­er­a­tion (some­times called the Latin square prop­erty).

• A loop is a quasi­group with iden­tity.

• A group, as defined above, can also be defined as a (non-empty) quasi­group where the op­er­a­tion is as­so­ci­a­tive (quo­tients and as­so­ci­a­tivity give a two-sided iden­tity and two-sided in­verses, pro­vided there’s at least one el­e­ment to be that iden­tity).

# One set, two bi­nary operations

For the be­low, we’ll use $$*$$ and $$\circ$$ to de­note the two bi­nary op­er­a­tions in ques­tion. It might help to think of $$*$$ as “like ad­di­tion” and $$\circ$$ as “like mul­ti­pli­ca­tion”, but be care­ful—in most of these struc­tures, prop­er­ties of ad­di­tion and mul­ti­pli­ca­tion like com­mu­ta­tivity won’t be as­sumed!

• Rin­goid as­sumes only that $$\circ$$ dis­tributes over $$*$$—in other words, $$a \circ (b \* c) = (a \circ b) \* (a \circ c)$$ and $$(a \* b) \circ c = (a \circ c) \* (b \circ c)$$.

• A semiring is a ringoid where both $$*$$ and $$\circ$$ define semi­groups.

• An ad­di­tive semiring is a semiring where $$*$$ is com­mu­ta­tive.

• A rig is an ad­di­tive semiring where $$*$$ has an iden­tity el­e­ment. (It’s al­most a ring! It’s just miss­ing nega­tives.)

• A ring is a rig where ev­ery el­e­ment has an in­verse el­e­ment un­der $$*$$. (Some au­thors also re­quire $$\circ$$ to have an iden­tity to call the struc­ture a ring.)

• A ring with unity is a ring where $$\circ$$ has an iden­tity. (Some au­thors just use the word “ring” for this; oth­ers use vari­a­tions like “unit ring”.)

• A di­vi­sion ring is a ring with unity where ev­ery el­e­ment (ex­cept for the iden­tity of $$*$$) has an in­verse el­e­ment un­der $$\circ$$.

• A field is a di­vi­sion ring where $$\circ$$ is com­mu­ta­tive.

• A lat­tice is a ringoid where both $$*$$ and $$\circ$$ define semilat­tices, and satisfy the ab­sorp­tion laws ($a \circ (a * b) = a * (a \circ b) = a$). (While we’ll con­tinue to use $$*$$ and $$\circ$$ here, the two op­er­a­tions of a lat­tice are al­most always de­noted with $$\wedge$$ and $$\vee$$.)

• A bounded lat­tice is a lat­tice where both op­er­a­tions have iden­tities.

• Here are some things I’d love to be able to add to this page to make it more ex­plana­tory (some of these might be tech­ni­cal fea­tures, some an in­vi­ta­tion to brain­storm more cre­ative vi­su­al­iza­tions):

• Tables! Speci­fi­cally, a table of the struc­tures go­ing down and the prop­er­ties they re­quire go­ing across would be a much clearer way to sum­ma­rize this in­for­ma­tion. I tried HTML ta­bles and pre­for­mat­ted-text ASCII ta­bles here but couldn’t get ei­ther to work.

• Some in­di­ca­tion of what col­lec­tion of prop­er­ties im­ply other prop­er­ties, or what col­lec­tion of prop­er­ties don’t get their own name be­cause they’re log­i­cally im­pos­si­ble.

• A way to tog­gle be­tween differ­ent nam­ing con­ven­tions, as de­scribed in the text when differ­ent au­thors as­sume differ­ent ax­ioms with the same word.

• Vi­sual high­light­ing for the most im­por­tant mem­bers of the tree—if you’re just start­ing out in ab­stract alge­bra, know­ing what a field is is much more im­por­tant than know­ing what a rig is.

• I’ve added a +1 and link to this from the make ta­bles pos­si­ble bug. Cur­rently, the workaround is to use images, but that’s clearly not very good, does not al­low links, etc.

For 3, do you think that would of­ten be use­ful, and much bet­ter than hav­ing clar­ifi­ca­tions in paren­the­ses?

For 4, maybe just bold the im­por­tant ones? Would work bet­ter when ta­bles are pos­si­ble, though.

• Also, if you think the name is sub­op­ti­mal, feel free to bring it up on the #math Slack and change un­less peo­ple ob­ject.

• For 3, I imag­ine clar­ifi­ca­tions in paren­the­ses are okay, maybe good enough, for the math do­main. A more high-pow­ered solu­tion prob­a­bly wouldn’t come in handy all that of­ten, and ta­bles would prob­a­bly help with the vi­sual clut­ter. But I won­der as Ar­bital turns its eye to­wards more sub­jec­tive do­mains whether the prob­lem of de­scribing the­o­ries or tax­onomies that vary some­what in the wild will come up more fre­quently, where stat­i­cally ex­plain­ing the mul­ti­ple con­ven­tions in use ends up be­ing con­sid­er­ably more com­plex to read than giv­ing a more dy­namic pre­sen­ta­tion. Less “this is a fea­ture you need”, more “this is an in­ter­est­ing op­por­tu­nity to de­liver a bet­ter learn­ing ex­pe­rience than a text­book or en­cy­clo­pe­dia ar­ti­cle could provide”.