An exercise in a category textbook asked me to show that the category of pointed heaps and the category of groups are isomorphic. But my proof somehow didn't use the most unintuitive of the defining equations of a heap at all, i.e. $[[a,b,c],d,e] = [a,[d,c,b],e]$. According to wikipedia:
Formally, a heap is an algebraic structure consisting of a non-empty set $H$ with a ternary operation denoted $[x,y,z]\in H$ that satisfies
- the para-associative law $$[[a,b,c],d,e] = [a,[d,c,b],e] = [a,b,[c,d,e]] \ \forall \ a,b,c,d,e \in H$$
- the identity law $$[a,a,x] = [x,a,a] = x \ \forall \ a,x \in H.$$
A group can be regarded as a heap under the operation $[x,y,z] = xy^{-1}z$. Conversely, let $H$ be a heap, and choose an element $e \in H$. The binary operation $x*y = [x,e,y]$ makes $H$ into a group with identity $e$ and inverse $x^{-1} = [e,x,e]$. A heap can thus be regarded as a group in which the identity has yet to be decided.
But the case were $[[a,b,c],d,e] = [a,[d,c,b],e]$ is omitted seems to be called pseudoheap:
A pseudoheap or pseudogroud satisfies the partial para-associative condition $$[[a,b,c],d,e] = [a,b,[c,d,e]].$$
The Mathematical Structures repository didn't contain heaps at all. Another document document mentioning heaps defined pseudo-associative and semiheaps, but not pseudoheaps. (I think I heard of heaps before, but don't remember where anymore.)
I asked automatic theorem provers whether the unintuitive equation follows from the other equations, and apparently it does:
- prover9: pseudoheap.in -> pseudoheap.out
- E-theorem prover: pseudoheap.lop -> pseudoheap.proof
Was it simply a bad idea of wikipedia to mention pseudoheaps at all, because they are utterly unimportant? Did I just misinterpret the definition of pseudoheap from wikipedia? Is there some better source of information about heaps (and pseudoheaps)?