Traces and direction vectors
Written by Claude Opus 5.5 (Anthropic), October 2026. Self-checked by the writing AI. Public domain (CC0).
The last lesson labels the edges of the level complex by unit quaternions that are close to \(1\), multiply to \(1\) around every triangle, and have a nontrivial product around some closed path. The labels come from a map of the level graph into the complex \(L\) that moves very little along each edge but still runs around chosen loops of \(L\). This lesson provides the slowly varying ingredient: a direction vector \(b(g)\in|L|\) for every element \(g\ne1\) of the right-angled Artin group \(P=A_L\), which changes by at most \(2/n\) in the \(\ell^1\) norm when \(g\) of word length about \(n\) is multiplied by a generator [OpenAI-EG, Section 5.1]. It is read off from the normal form of \(g\) as a trace, a word up to exchanges of adjacent commuting letters, in the sense of Cartier and Foata [Cartier–Foata, Chapter I].
- Traces and occurrence posets (Section 1).
- Reduced traces (Section 2).
- Direction vectors (Section 3).
Throughout, \(L\) is a finite flag complex with vertex set \(V\), \(P=A_L\) its right-angled Artin group with generators \(a_v\), and \(|L|\) the realization of \(L\) in \(\mathbb R^V\) by barycentric coordinates, with the metric of the \(\ell^1\) norm; \(e_v\) is the vertex \(v\). Fix a total order on \(V\).
1. Traces and occurrence posets
The signed generators are the elements \(a_v^{\pm1}\); \(a_v^{\pm1}\) has direction \(v\). Two signed generators are independent if their directions are distinct and adjacent in \(L\), and dependent otherwise; in particular two occurrences of the same direction are dependent, whatever their signs. Independent signed generators commute in \(P\).
For a word \(w=x_1\cdots x_n\) in signed generators, the occurrences are the positions \(1,\ldots,n\). The occurrence poset of \(w\) is the order on \(\{1,\ldots,n\}\) generated by \(i\prec j\) for \(i<j\) with \(x_i,x_j\) dependent: \(i\preceq j\) if there is a chain \(i=m_0<m_1<\cdots<m_r=j\) in which consecutive letters are dependent. An exchange replaces two adjacent independent letters \(x_ix_{i+1}\) by \(x_{i+1}x_i\); a trace is an equivalence class of words under exchanges [Cartier–Foata, Chapter I, Section 2].
Lemma 1.1 (traces and posets). An exchange of \(x_i\) and \(x_{i+1}\) preserves the occurrence poset, if occurrences are followed through the exchange. Conversely, the words obtained by listing the letters of \(w\) in the order of a linear extension of its occurrence poset are exactly the words of the trace of \(w\).
Proof. Two adjacent independent occurrences are incomparable: a chain from one to the other would have to pass through a position strictly between them. So an exchange only changes the relative position of an incomparable pair, and the generating relations \(i\prec j\), which compare dependent occurrences, keep their order; the poset is unchanged. In particular every word of the trace lists the letters along a linear extension. Conversely, let \(w'\) list the letters along a linear extension. Move the occurrence that comes first in \(w'\) to the front of \(w\) by adjacent swaps: every occurrence it passes precedes it in \(w\) but not in the extension, so is incomparable to it, hence independent of it, and each swap is an exchange. Repeating with the remaining occurrences transforms \(w\) into \(w'\). \(\square\)
So a trace is the same as a finite poset of occurrences labelled by signed generators, in which dependent occurrences are comparable and the order is generated by the comparisons of dependent occurrences. Such labelled posets are the heaps of Krattenthaler's appendix to the reedition of Cartier and Foata's monograph, where their equivalence with traces is proved [Cartier–Foata, appendix by C. Krattenthaler, Definition 2.2 and Section 3]. An occurrence is maximal or minimal if it is so in this poset. Two incomparable occurrences are independent; in particular the minimal occurrences of a nonempty trace have pairwise distinct and adjacent directions, which span a simplex of \(L\), since \(L\) is flag.
2. Reduced traces
An inverse pair of a trace consists of occurrences \(i\prec j\) of mutually inverse letters, \(x_j=x_i^{-1}\), such that every occurrence lying between them in a word of the trace is independent of their direction. This condition does not depend on the word chosen: an occurrence dependent on that direction is comparable to both \(i\) and \(j\), so its position relative to \(i\) and \(j\) is the same in all words of the trace. By Lemma 1.1 an inverse pair can be made adjacent by exchanges, and deleting it means deleting the two occurrences, which gives a trace two letters shorter. A trace is reduced if it has no inverse pair.
Lemma 2.1 (reduced traces; [OpenAI-EG, Lemma 5.2]). Every element \(g\) of \(P\) is represented by exactly one reduced trace. Its length is the word length \(|g|_P\) of \(g\) in the signed generators, and every word representing \(g\) can be turned into a word of this trace by deleting inverse pairs and exchanges.
Proof. Local confluence. Let a trace have two inverse pairs. If they are disjoint, deleting either leaves the other an inverse pair (deletions do not change the relative position of the remaining occurrences), and deleting both in either order gives the same trace. If they share an occurrence, they cannot share their first or their last occurrence: two occurrences of the same direction between which a third one of that direction lies cannot form an inverse pair. So in a suitable word they form a subword \(xBx^{-1}Cx\) or \(x^{-1}BxCx^{-1}\), where every letter of \(B\) and \(C\) is independent of \(x\). Deleting the first pair leaves \(BCx\), deleting the second leaves \(xBC\), and these are the same trace, since \(x\) can be exchanged past \(B\) and \(C\).
Uniqueness of the reduced form. Every sequence of deletions stops, since each shortens the trace. We show by induction on the length that all maximal sequences of deletions starting from a trace \(t\) end at the same reduced trace \(r(t)\). If \(t\) is reduced there is nothing to show. Otherwise let \(t\to t_1\) and \(t\to t_2\) be the first steps of two maximal sequences. By local confluence there is a trace \(t_3\) reached from both \(t_1\) and \(t_2\) by at most one deletion. By induction, all maximal sequences from \(t_1\) end at the same trace, among them those through \(t_3\); the same holds for \(t_2\), and the sequences through \(t_3\) are common to both. So the two original sequences end at the same trace.
Invariance. Two words represent the same element of \(P\) exactly when they are related by exchanges and by inserting or deleting adjacent pairs \(xx^{-1}\), since the defining relations of \(P\) are the commutations of independent generators, and the commutation of \(a_v\) and \(a_w\) implies that of all their signed versions. Exchanges do not change the trace, and deleting an adjacent pair \(xx^{-1}\) is a deletion of an inverse pair, which does not change \(r\). So \(r\) of the trace of any word representing \(g\) is an invariant \(r(g)\) of \(g\); it represents \(g\), and distinct elements have distinct invariants. A word of minimal length for \(g\) is reduced, since a deletion would shorten it, so it is a word of the trace \(r(g)\), whose length is therefore \(|g|_P\). \(\square\)
Lemma 2.2 (multiplying by a generator; [OpenAI-EG, Lemma 5.2]). Let \(g\in P\) and let \(x\) be a signed generator. The occurrence poset of \(r(gx)\) is obtained from that of \(r(g)\) either by adjoining one maximal occurrence (of the letter \(x\)), or by deleting one maximal occurrence (of the letter \(x^{-1}\)); in the second case the order on the remaining occurrences is the induced one. In particular \(|gx|_P=|g|_P\pm1\).
Proof. Let \(w\) be a word of \(r(g)\), of length \(n=|g|_P\), and consider \(wx\). If its trace is reduced, it is \(r(gx)\), and the new last occurrence is maximal. Otherwise it has an inverse pair, which must contain the new occurrence, since \(w\) is reduced. Its other occurrence \(y\), a letter \(x^{-1}\), has only occurrences independent of \(x\) after it in \(w\), so nothing lies above \(y\) in the poset of \(w\): \(y\) is maximal. Deleting \(y\) and the new occurrence gives a word of length \(n-1\) representing \(gx\). Since \(|gx|_P\ge|g|_P-1=n-1\), this word has minimal length, so it is reduced and its trace is \(r(gx)\). A chain between two remaining occurrences cannot pass through the maximal occurrence \(y\), so the order on the remaining occurrences is the induced one. \(\square\)
3. Direction vectors
Let \(g\ne1\). Assign each occurrence \(p\) of \(r(g)\) to the smallest direction, in the fixed order on \(V\), among the directions of the minimal occurrences \(m\preceq p\); there is at least one such \(m\), since the poset is finite, and the minimal occurrences have distinct directions. Let \(c_v(g)\) be the number of occurrences assigned to \(v\), and define the direction vector \[ b(g)=\frac1{|g|_P}\sum_{v\in V}c_v(g)\,e_v .\tag{3.1} \] Each minimal occurrence is assigned to its own direction, so the support of \(b(g)\) is exactly the set of directions of the minimal occurrences, a simplex of \(L\); and \(\sum_vc_v(g)=|g|_P\). Hence \(b(g)\) is a point of that simplex of \(|L|\).
Lemma 3.1 (direction vectors move slowly; [OpenAI-EG, Lemma 5.3]). Let \(g\) and \(gx\) be different from \(1\), where \(x\) is a signed generator, and let their word lengths be \(n\) and \(n+1\), in either order. Then \(b(g)\) and \(b(gx)\) lie in a common simplex of \(L\), and \[ \|b(gx)-b(g)\|_1\le\frac2{n+1}.\tag{3.2} \]
Proof. By Lemma 2.2, the poset of the longer of the two traces is that of the shorter one with one maximal occurrence \(m\) adjoined, the order on the old occurrences being the induced one. For an old occurrence \(p\), the set of occurrences \(\preceq p\) is the same in both posets, since \(m\) is maximal and different from \(p\); so the minimal occurrences below \(p\), and the direction assigned to \(p\), are the same. Hence, if \(c\) is the vector of counts of the shorter trace, that of the longer one is \(c+e_v\), with \(v\) the direction assigned to \(m\). Since \(\|c/n\|_1=1\) and \(\|e_v\|_1=1\), \[ \begin{aligned} \Bigl\|\frac{c+e_v}{n+1}-\frac cn\Bigr\|_1&=\frac{\|e_v-c/n\|_1}{n+1}\\ &\le\frac2{n+1}. \end{aligned} \] For the common simplex: adjoining a maximal occurrence keeps all old minimal occurrences minimal. If \(m\) is not minimal, the two sets of minimal directions coincide. If \(m\) is minimal, it is incomparable to every old occurrence, hence independent of all of them, and its direction is adjacent to all the old minimal directions. In both cases the union of the two sets of minimal directions is a clique, the vertex set of a simplex of \(L\) containing both supports. \(\square\)
Example 3.2 (commuting powers). Let \(\{q,r\}\) be an edge of \(L\) and \(0\le j\le N\), \(N\ge1\). The word \(a_q^{-(N-j)}a_r^{-j}\) is reduced: it contains no mutually inverse letters. Its poset consists of two chains, \(N-j\) occurrences of direction \(q\) and \(j\) of direction \(r\), and occurrences of different chains are independent. The minimal occurrences are the first occurrence of each nonempty chain, and every occurrence is assigned to its own direction. So \[ \begin{aligned} &b\bigl(a_q^{-(N-j)}a_r^{-j}\bigr)\\ &\quad=\Bigl(1-\frac jN\Bigr)e_q+\frac jNe_r . \end{aligned}\tag{3.3} \]
4. Exercises
4.1 (easy). For \(L\) a single edge \(\{1,2\}\) (so \(P=\mathbb Z^2\)), compute \(r(g)\) and \(b(g)\) for \(g=a_1^3a_2^{-1}\), and check (3.2) for the steps \(g\mapsto ga_2\) and \(g\mapsto ga_1^{-1}\).
4.2 (easy). For \(L\) two points (so \(P\) is free), show that the reduced trace is the reduced word, that the minimal occurrence is the first letter, and that \(b(g)\) is the vertex of the direction of the first letter of the reduced word.
4.3 (medium). Show that the order on \(V\) matters for the assignment: give an example with a non-minimal occurrence lying above two minimal occurrences of different directions.
4.4 (medium). Show that \(|\lambda(g)|\le|g|_P\) for the height \(\lambda(a_v)=1\), and deduce that \(b(g)\) is defined for every \(g\) with \(\lambda(g)\ne0\).
5. Solutions
4.1. \(P=\mathbb Z^2\), and the reduced word of \(g\) is \(a_1a_1a_1a_2^{-1}\) up to exchanges: three occurrences of direction \(1\) forming a chain and one of direction \(2\) independent of them. The minimal occurrences are the first \(a_1\) and the \(a_2^{-1}\); so \(c=(3,1)\), \(|g|_P=4\), \(b(g)=\frac34e_1+\frac14e_2\). For \(ga_2=a_1^3\): length \(3\), \(b=e_1\), and \(\|e_1-b(g)\|_1=\frac12\le\frac24\). For \(ga_1^{-1}=a_1^2a_2^{-1}\): length \(3\), \(b=\frac23e_1+\frac13e_2\), and \(\|b-b(g)\|_1=\frac1{12}+\frac1{12}=\frac16\le\frac24\).
4.2. With no edges, any two signed generators are dependent, so there are no exchanges and the occurrence poset of a word is a chain. A trace is a word, an inverse pair is an adjacent pair \(xx^{-1}\), and the reduced trace is the reduced word. The unique minimal occurrence is the first letter, every occurrence is assigned to its direction, and \(b(g)=e_v\) for the direction \(v\) of the first letter.
4.3. Let \(L\) have vertices \(1,2,3\) and the single edge \(\{1,2\}\), and \(w=a_1a_2a_3\), a reduced word. The occurrences of \(a_1\) and \(a_2\) are independent, hence incomparable, and both minimal. The direction \(3\) is adjacent to neither \(1\) nor \(2\), so \(a_3\) is dependent on both and lies above both. It is assigned to direction \(1\) if \(1<2\) in the chosen order, and to direction \(2\) otherwise; so \(b(a_1a_2a_3)\) is \(\frac23e_1+\frac13e_2\) in the first case and \(\frac13e_1+\frac23e_2\) in the second.
4.4. \(\lambda\) changes by \(\pm1\) along each letter, so \(|\lambda(g)|\le|g|_P\). If \(\lambda(g)\ne0\), then \(g\ne1\) and \(b(g)\) is defined.
References
- [OpenAI-EG] OpenAI, A finitely generated counterexample to the Eilenberg–Ganea conjecture, OpenAI Math Release preprint, 23 September 2026, Section 5.1. https://github.com/openai/math/tree/main/preprints/A-finitely-generated-counterexample-to-the-Eilenberg-Ganea-conjecture-September-23-2026
- [Cartier–Foata] P. Cartier and D. Foata, Problèmes combinatoires de commutation et réarrangements, Lecture Notes in Mathematics 85, Springer, 1969; electronic reedition with appendices, 2006, on the page of D. Foata, Chapter I and the appendix by C. Krattenthaler. https://irma.math.unistra.fr/~foata/paper/pub11.html
- [Green 1990] E. R. Green, Graph products of groups, PhD thesis, University of Leeds, 1990, Theorem 3.9 (normal forms in graph products). https://etheses.whiterose.ac.uk/id/eprint/236/