nLab heap

Heaps

Heaps

Idea

In algebra, a heap is an algebraic structure which is almost that of a group structure but without the specification of a neutral element.

While closely related to notions such as affine space, principal homogeneous space and torsor, the concept of heap is simpler in the sense that it postulates just a single set with a single ternary operation obeying two axioms (see Def. below).

Concretely, any group gives a heap where this ternary operation is defined from the group’s binary operation (-)(-)(\text{-})\cdot(\text{-}) and inversion () 1(-)^{-1} by

(1)t:(a,b,c)ab 1c t \,\colon\, (a,b,c) \;\mapsto\; a \cdot b^{-1} \cdot c

and every heap arises this way, up to isomorphism (cf. Prop. below) from a group that may be called its structure group.

However, the category of heaps (Def. below) is not equivalent to the category of groups. Instead:

Proposition


The category of heaps (Def. ) is equivalent to the evident category of pairs consisting of a group GG and a GG-torsor HH.

Proof

On the one hand, for any heap HH, choosing any element hHh' \in H, the endofunctions t(h,h,):HHt(h,h',-) \colon H \to H for hHh \in H constitute a group GG under composition, and the underlying set HH of the heap manifestly carries the structure of a GG-torsor. On the other hand, given a group GG and a GG-torsor HH we can make HH into a heap as follows: given elements a,b,cHa,b,c \in H let t(a,b,c)=gct(a,b,c) = g c where gg is the unique gGg \in G with gb=ag b = a.

There is also a dual version of the concept of heap, see at quantum heap.

Remark

(disambiguation)
Heaps in the sense of algebra should not be confused with either

nor with

Remark

(synonyms)
There are also a number of synonyms for the term ‘heap’; below we consider ‘torsor’ in this light. In Russian one term for a heap is ‘груда’ (‘gruda’) meaning a heap of soil; this is a pun as it is parallel to the Russian word ‘группа’ (‘gruppa’) meaning a group: forgetting the unit element is sort of creating an amorphous version. This term also appears in English as ‘groud’. In universal algebra the standard name is associative Malcev algebra (in various spellings, including Mal’cev, Mal’tsev and Maltsev), other names include herd.

There is an oidification (horizontal categorification) of heaps, sometimes called heapoids.

Definition

Definition

A heap (H,t)(H,t) is a inhabited set HH equipped with a ternary operation t:H×H×HHt \colon H \times H \times H\to H satisfying the following two relations

  1. t(b,b,c)=c=t(c,b,b) t(b,b,c) = c = t(c,b,b),

  2. t(a,b,t(c,d,e))=t(t(a,b,c),d,e) t\big(a,b,t(c,d,e)\big) = t\big(t(a,b,c),d,e\big) .

More generally, a ternary operation in some variety of algebras satisfying the first pair of equations is called a Mal'cev operation. A Mal’cev operation is called associative if it also satisfies the latter equation (i.e. it makes its domain into a heap).

A heap is abelian if it additionally satisfies the relation

t(a,b,c)=t(c,b,a) t(a,b,c) = t(c,b,a)

Definition

A homomorphism of heaps f:HHf \colon H \to H' is, of course, a function of the underlying set which respects the ternary operations.

This defines a category HeapHeap whose objects are heaps and whose morphisms are heap homomorphisms.

The hom-sets of the full subcategory AbHeapAbHeap of abelian heaps inherit an abelian heap structure from the pointwise operation in the codomain: given f,g,h:HGf,g,h\colon H \to G, the function at G(f(a),g(a),h(a))a\mapsto t_G(f(a),g(a),h(a)) is again a heap homomorphism.

Properties

Structure groups of heaps

As indicated in (1) a group GG becomes a heap by setting

a,b,cGt(a,b,c)ab 1c. a,b,c \,\in\, G \;\;\;\;\;\; \vdash \;\;\;\;\;\; t(a,b,c) \,\coloneqq\, a \cdot b^{-1} \cdot c \,.

Proposition

This construction (1) defines a functor

Prin:GrpHeap Prin \,\colon\, Grp \longrightarrow Heap

from the category Grp of groups to that of heaps, which is essentially surjective, meaning that, up to isomorphism all heaps arise in this way.

In fact, there is also a functor

Str:HeapGrp Str \,\colon\, Heap \longrightarrow Grp

such that

  1. there exist natural group isomorphisms of the form

    Str(Prin(G))GStr\big(Prin(G)\big) \,\cong\, G

  2. there exist heap isomorphisms of the form

    Prin(Str(H))HPrin\big(Str(H)\big) \,\cong\, H

    which however are not natural (whence we do not have an equivalence of categories).

This group Str(H)Str(H) is called the structure group of the heap HH.
Proof

Given a heap HH, the claimed structure group Str(H)Str(H) is described, up to isomorphism, by any of the following constructions:

  1. Choosing any element eH\mathrm{e} \in H, then the binary operation

    (2)abt(a,e,b). a \cdot b \,\coloneqq\, t(a, \mathrm{e} ,b) \,.

    constitutes a group structure on HH, with neutral element e\mathrm{e}.

    This serves as the required structure group: Str(H)(H,)Str(H) \,\coloneqq\, (H, \cdot).

  2. Take the underlying set of Str(H)Str(H) to be that of equivalence classes of pairs (a,b)H×H(a,b) \in H\times H, subject to the equivalence relation

    (a,b)(a,b)ifft(a,b,b)=a (a,b) \,\sim\, (a',b') \;\;\;\;\text{iff}\;\;\;\; t(a,b,b') \,=\, a'

    (the idea is to think of the pair (a,b)(a,b) as the representative of ab 1a b^{-1})

    and take the binary operation on the group to be given on representatives by

    (3)(c,d)(a,b)(c,t(d,a,b)). (c,d) \cdot (a,b) \,\coloneqq\, \big( c, t(d,a,b) \big) \,.

    This again defines a group Str(H)Str(H).

    Notice that:

  3. Finally, Str(H)Str(H) is realized also as an actual subgroup of the symmetric group on the underlying set of HH, analogously to Cayley's theorem for groups. We take the elements of Str(H)Str(H) to be set bijections of the form

    (4)t(a,b,):HH, t(a,b,-) \,\colon\, H \rightarrow H \,,

    where a,bHa,b \in H, with composition as the group’s binary operation.

    Notice here that

    t(c,d,) Str(H)t(a,b,)=t(c,d,t(a,b,))=t(t(c,d,a),b,), t(c,d,-) \cdot_{Str(H)} t(a,b,-) \;=\; t\big(c,d,t(a,b,-)\big) \;=\; t\big(t(c,d,a),b,-\big) \,,

    so that Str(H)Str(H) is closed under this operation.

    The first axiom of a heap shows that Str(H)Str(H) contains the neutral element t(,x,x)t(-,x,x), for any xx), and the inverse element of t(,a,b)t(\cdot,a,b) is t(,b,a)t(\cdot,b,a); thus Str(H)Str(H) is a subgroup of the symmetric group of HH.

It remains to see that these constructions all agree and are functorial.

First to show that the equivalence relation used in the second construction is symmetric, and that it coincides with that implicitly used in the first construction, notice that the following are equivalent:

  • (i) the bijections t(a,b,)t(a,b,-) and t(a,b,)t(a',b',-) coincide

  • (ii) t(a,b,b)=at(a,b,b') = a'

  • (iii) t(a,b,b)=at(a',b',b) = a

Namely:

(ii) follows from (i) and t(a,a,b)=bt(a,a,b) = b.

(ii) implies (iii) as follows. Given t(a,b,b)=at(a,b,b') = a', we have t(t(a,b,b),b,b)=t(a,b,b)t(t(a,b,b'),b',b) = t(a',b',b), but

t(t(a,b,b),b,b)=t(a,b,t(b,b,b))=t(a,b,b)=a t(t(a,b,b'),b',b) = t(a,b,t(b',b',b)) = t(a,b,b) = a

so t(a,b,b)=at(a',b',b) = a. (iii) implies (ii) by a similar argument.

(i) follows from (ii) by the calculation:

t(a,b,x)=t(a,b,t(b,b,x))=t(t(a,b,b),b,x)t(a,b,x) t(a',b',x) = t(a',b',t(b,b,x))= t(t(a',b',b),b,x) t(a,b,x)

Since the composition laws can also be seen to agree, the second two constructions of Str(H)Str(H) are canonically isomorphic.

To compare them to the first construction, observe that for a fixed eH\mathrm{e} \in H, any equivalence class contains a unique pair of the form (e,a)(\mathrm{e},a). (If (b,c)(b,c) is in the equivalence class, then aa is determined by a=t(e,b,c)a = t(\mathrm{e},b,c).) This sets up a bijection between the first two constructions, which we can easily show is an isomorphism.

Finally, the second construction is manifestly functorial.

The following proposition expands on the fact that a group is the same as a pointed heap, i.e. a heap with a chosen element:

Proposition

The category of groups is equivalent to the slice category 1Heap1 \downarrow \mathrm{Heap} where 11 is the terminal heap and Heap\mathrm{Heap} is the category of heaps (Def. ).

Proof

The one-element set 11 is a heap in a unique way, and for any heap HH, any function f:1Hf: 1 \to H or f:H1f: H \to 1 is a heap homomorphism, so 11 is the terminal object in Heap\mathrm{Heap} and 1Heap1 \downarrow \mathrm{Heap} is the category of pointed heaps. As noted in the proof of the previous proposition, a heap HH with a chosen point e\mathrm{e} becomes a group with multiplication abt(a,e,b)a \cdot b \,\coloneqq\, t(a, \mathrm{e} ,b), and a morphism of pointed heaps then becomes a group homomorphism. This gives a functor 1HeapGrp1 \downarrow \mathrm{Heap} \to \mathrm{Grp}, which is an equivalence thanks to the functor Grp1Heap\mathrm{Grp} \to 1 \downarrow \mathrm{Heap} sending any group to the corresponding pointed heap.

Relation to torsors

Given a group GG, a GG-torsor is a nonempty set XX with a free and transitive action of GG, which we may write as

G×X X (g,x) gx \begin{array}{ccl} G \times X &\to& X \\ (g, x) &\mapsto& g x \end{array}

Equivalently, a GG-torsor is a set XX with an action of the group GG but also a “division” operation

X×X G (x,y) x/y \begin{array}{ccl} X \times X &\to& G \\ (x, y) &\mapsto& x/y \end{array}

obeying

(x/y)y=x (x/y) y = x

Given a group GG together with a GG-torsor XX, we can make XX into a heap by giving it the ternary operation

X×X×X X (x,y,z) (x/y)z \begin{array}{ccl} X \times X \times X &\to& X \\ (x, y, z) &\mapsto& (x/y) z \end{array}

Conversely, from any heap HH we can construct a group GG together with a GG-torsor whose underlying set is HH itself. To see this, note that the group G=Str(H)G = Str(H) (?) comes equipped with a canonical group action on HH, as is most clear from the third definition (4).

This action is

and

  • free

    since if t(a,b,c)=at(a,b,c) = a then by the previous statement t(x,b,c)=xt(x,b,c) = x for each xx, and in particular t(b,b,c)=bt(b,b,c) = b and also t(b,b,c)=ct(b,b,c) = c.

Therefore, HH is an Str(H)Str(H)-torsor (over a point).

Conversely, any torsor HH over a group GG becomes a heap, by defining

t(a,b,c)gc, t(a,b,c) \,\coloneqq\, g \cdot c \,,

where gGg\in G is the unique group element such that gb=ag\cdot b = a.

In fact, the category HeapHeap is equivalent to the following category TorsTors: its objects are pairs (G,H)(G,H) consisting of a group GG and a GG-torsor HH, and its morphisms are pairs (ϕ,f):(G,H)(G,H)(\phi,f):(G,H)\to (G',H') consisting of a group homomorphism ϕ:GG\phi:G\to G' and a ϕ\phi-equivariant map f:HHf:H\to H'.

Groups as pointed heaps

As indicated in the discussion above, a heap HH acquires a group structure (a,b)t(a,e,b)(a, b) \mapsto t(a, e, b) as soon as an element eHe \in H is selected (and this ee is then the identity element of the group). Notice that every function 1H1 \to H from a terminal set 11 is in fact a heap homomorphism when we consider that 11 carries a unique heap structure. In different words: the free heap on a terminal set 11 is 11 itself with its unique heap structure.

It follows that the category of groups Grp is equivalent to the comma category 1Heap1 \downarrow Heap, with both categories considered as categories over HeapHeap (via Prin:GrpHeapPrin: Grp \to Heap and the forgetful functor U:1HeapHeapU: 1 \downarrow Heap \to Heap that forgets the point). This says that groups are equivalent to pointed heaps.

Both of these forgetful functors are monadic over HeapHeap. In the case of U:1HeapHeapU: 1 \downarrow Heap \to Heap, the monad is 11 \sqcup -, where the monad structure is induced from the monoid structure that 11 carries with respect to the cocartesian monoidal product \sqcup. The free pointed heap on HH is therefore the heap 1H1 \sqcup H, equipped with the pointing given by the coproduct coprojection 11H1 \to 1 \sqcup H.

It follows that the free group on a heap HH can be constructed abstractly as 1H1 \sqcup H. This is analogous to how the free vector space on an affine space AA can be described as 1A1 \sqcup A, although it is true that coproducts of affine spaces are vastly easier to describe concretely than coproducts of heaps.

Here is a more group-theoretic description of the free group on HH. Let Str(H)Str(H) be the structure group, given as the group of heap automorphisms of the form t(a,b,):HHt(a, b, -): H \to H. Let

α:Str(H)×HH\alpha: Str(H) \times H \to H

denote the tautological action. Let F(H)F(H) denote the free group on the underlying set of HH. For groups G,GG, G', let G*GG \ast G' denote their free product (coproduct). Then the free group on the heap HH is the quotient of Str(H)*F(H)Str(H) \ast F(H) given by the coequalizer of two maps

β,γ:F(Str(H)×H)Str(H)*F(H)\beta, \gamma: F(Str(H) \times H) \rightrightarrows Str(H) \ast F(H)

where β\beta is the composition of F(α):F(Str(H)×H)F(H)F(\alpha): F(Str(H) \times H) \to F(H) followed by the coproduct coprojection F(H)Str(H)*F(H)F(H) \to Str(H) \ast F(H), and γ\gamma is the unique group homomorphism that extends the function

Str(H)×HStr(H)*HStr(H) \times H \to Str(H) \ast H

mapping a pair (θ,h)(\theta, h) to their product θh\theta \cdot h in the group Str(H)*HStr(H) \ast H.

The meaning of the construction is that group homomorphisms Str(H)*F(H)GStr(H) \ast F(H) \to G that factor through the coequalizer are in natural bijection with pairs

(ϕ:Str(H)G,f:HG)(\phi: Str(H) \to G, f: H \to G)

where ϕ\phi is a homomorphism and ff is a function, satisfying the torsor homomorphism condition

f(θ(h))=ϕ(θ)f(h)f(\theta(h)) = \phi(\theta) \cdot f(h)

which is an equivalent way of describing a heap homomorphism HPrin(G)H \to Prin(G).

The empty heap

If we wish HeapHeap to be an algebraic category, then we must remove the clause that the underlying set of a heap must be nonempty (see also at pseudo-torsor). Then the empty set becomes a heap in a unique way.

However, in this case, the various theorems relating heaps to groups above all break down. For this reason, one usually requires a heap to be inhabited.

On the other hand, we could generalize the notion of group to allow for an empty group. This even remains a purely algebraic notion: we can define a group as an inhabited invertible semigroup (S,,() 1)(S,\cdot,(-)^{-1}) or an inhabited associative quasigroup. Then any invertible semigroup or associative quasigroup is a possibly-empty-heap, and every possibly-empty-heap arises in this way from its automorphism invertible semigroup or automorphism associative quasigroup (defined by either method (2) or (3)); the category of possibly-empty-heaps is equivalent to the category of invertible semigroups equipped with torsors over the point, and the category of associative quasigroups equipped with torsors over the point; etc.

This is even constructive; the theorems can be proved uniformly, rather than by treating the empty and inhabited cases separately. (This rather trivial method is obvious to a classical mathematician, but it's not constructively valid, since a invertible semigroup/associative quasigroup/heap as defined here can't be constructively proved empty or inhabited; it can only be proved empty iff not inhabited. Indeed, taking any group GG and any truth value PP, the invertible subsemigroup or associative subquasigroup {xG|P}\{x \in G \;|\; P\} is empty or inhabited iff PP is false or true.)

Examples in homotopy theory

The map [0,1][0,1][0,1]\to[0,1] that sends 000\mapsto 0, 1/311/3\mapsto 1, 2/302/3\mapsto 0, 111\mapsto 1, and interpolates linearly between these points yields an associative Malcev operation on [ΣX,Y][\Sigma X,Y], where XX and YY are (unpointed) spaces, Σ\Sigma is the suspension functor, and [,][-,-] denotes the set of morphisms in the homotopy category.

Thus, [ΣX,Y][\Sigma X,Y] is a (nonabelian) heap. Likewise, the full mapping space Map(ΣX,Y)Map(\Sigma X,Y) can be turned into an (∞,1)-heap, defined as an (∞,1)-algebra (in spaces) over the algebraic theory of heaps.

See Vokřínek for more information.

References

Review:

In the context of stable homotopy theory:

category: algebra

Last revised on August 21, 2024 at 02:42:06. See the history of this page for a list of all contributions to it.