You can see a group and similar structures as sets of rules an object needs to follow to be considered a group or whatever. Conceptually, a group is anything that behaves like a group. It could be a dog! So, the operator can be anything you want as long as the indicated properties hold. It's like a generic API that lets you use whatever concrete type you want as long as it conforms to certain rules.
edit: What I mean is that, as a consequence, the symbol used is not really important.
Sorry about that. I tried to introduce the necessary concepts starting from zero, or I thought I did.
We devs (take back that "just" :) ) deal with much harder stuff when we build complex APIs, so the problem must be at the syntactic level. To us devs, math may look like an antipattern, with all the short names and operator overloading.
But that's unavoidable, unfortunately. It's normal to spend hours or more on a single concept until it clicks. I'd say don't give up, but I understand one's time is valuable, and the return might not be high enough to justify the cost.
I think that's a little unfair, as there's only a single digression about Fibonacci numbers (a very interesting one, IMO). The section is clearly indicated as skippable and can be quickly skipped by using the tree on the right.
Since my exposition is constructive in nature, the proofs and other remarks are an integral part of the article, not digressions.
edit: What I mean is that, as a consequence, the symbol used is not really important.