Olympiad Maths Prep

Track / Stage 9 / 43 of 80 #1923 of 2000

Problem 1923

IMO P2/P5; hard shortlist
Algebra Difficulty 9.1 Prove it IMO Team Selection Team Selection Test · United States

Given a set SS of nn variables, a binary operation ×\times on SS is called *simple* if it satisfies (x×y)×z=x×(y×z)(x \times y) \times z = x \times (y \times z) for all x,y,zSx, y, z \in S and x×y{x,y}x \times y \in \{x, y\} for all x,ySx, y \in S. Given a simple operation ×\times on SS, any string of elements in SS can be reduced to a single element, such as xyzx×(y×z)xyz \rightarrow x \times (y \times z). A string of variables in SS is called *full* if it contains each variable in SS at least once, and two strings are *equivalent* if they evaluate to the same variable regardless of which simple ×\times is chosen. For example, xxxxxx, xxxx, and xx are equivalent, but these are only full if n=1n = 1. Suppose TT is a set of strings such that any full string is equivalent to exactly one element of TT. Determine the number of elements of TT.
(This problem was suggested by John Berman.)

This one wants a proof. Work it on paper, read the official solution, then mark yourself honestly — the ladder only means something if the record is true.

Official solution

Solution 1. The answer is n!2n!^2.
We use s1s2s_1 \sim s_2 to denote that strings s1s_1 and s2s_2 are equivalent. If x1x2xkx_1x_2 \cdots x_k is any string in SS, we can see that
x1x2xkx1x2xk=(x1xk)(x1xk)x1xk x_1x_2\cdots x_kx_1x_2\cdots x_k = (x_1\cdots x_k)(x_1\cdots x_k) \sim x_1\cdots x_k
because xx{x}xx \in \{x\}. But also, if a1a2ai,b1b2bja_1a_2 \cdots a_i, b_1b_2 \cdots b_j are strings in SS and xSx \in S, then
xa1a2aixb1b2bjxxa1a2aib1b2bjx xa_1a_2 \cdots a_ixb_1b_2 \cdots b_jx \sim xa_1a_2 \cdots a_ib_1b_2 \cdots b_jx
To prove this, it suffices to show that xaxbxxabxxaxbx \sim xabx. Suppose that for some ×\times, these did not evaluate to the same element of SS. Then a×x=xa \times x = x, since otherwise x(a×x)bx=xabxx(a \times x)bx = xabx. Similarly, x×b=xx \times b = x. This means that
xaxbx=x(a×x)bx=xxbx=x(x×b)x=xxx=x xaxbx = x(a \times x)bx = xxbx = x(x \times b)x = xxx = x
so by assumption xabxxxabx \neq x. But if xabx=axabx = a, then in particular xa=axa = a, ab=aab = a, and ax=aax = a all must hold, the latter of which is a contradiction. Similarly if xabx=bxabx = b we reach a contradiction. Thus this equivalence holds.
Given any full string w=x1x2xkw = x_1x_2 \cdots x_k, we claim that it is equivalent to some string consisting of two concatenated permutations of SS, i.e. σ1σ2\sigma_1\sigma_2 where σ1\sigma_1 is a permutation of the nn variables of SS and σ2\sigma_2 is also. Note that www=x1x2xkx1x2xkw \sim ww = x_1x_2 \cdots x_kx_1x_2 \cdots x_k. This string may be reduced by our second observation above so that in any case where an element yy appears more than two times, all but the outermost instances of yy are removed. Because ww was full, the new string w~w\tilde{w} \sim w will have each element of SS occurring exactly twice. But the first occurrences of each variable all occur in the first instance of ww, and the last occurrences all occur in the second instance of ww (in wwww), so w~\tilde{w} consists of two concatenated permutations of SS, of which there are n!2n!^2 possibilities.
It remains to show that two double-permutations σ1σ2\sigma_1\sigma_2 and σ1σ2\sigma'_1\sigma'_2 are not equivalent. Suppose otherwise. Without loss of generality we may assume that σ1σ1\sigma_1 \neq \sigma'_1; otherwise we reverse the order of the operation ×\times found below. Choose two elements a,ba, b such that aa occurs before bb in σ1\sigma_1 but their order is reversed in σ1\sigma'_1. Then choose some operation ×\times such that for any x,ySx, y \in S,
x×y={yif x{a,b},y{a,b},xotherwise. x \times y = \begin{cases} y & \text{if } x \notin \{a, b\}, y \in \{a, b\}, \\ x & \text{otherwise.} \end{cases}
This operation clearly satisfies x×y{x,y}x \times y \in \{x, y\}, and some easy casework on which of x,y,zx, y, z are in {a,b}\{a, b\} shows that (x×y)×z=x×(y×z)(x \times y) \times z = x \times (y \times z) for all x,y,zSx, y, z \in S. Hence, the operation is simple. Furthermore σ1σ2\sigma_1\sigma_2 evaluates to aa under this operation, while σ1σ2\sigma'_1\sigma'_2 evaluates to bb. We conclude that the two strings are not equivalent, finishing the solution.

Solution 2 (Based on an idea of Alex Zhai). Given an operation ×\times, construct a complete directed graph G(×)G(\times) with nn vertices, each vertex corresponding to a variable of SS. Construct an edge marked LL going from uu to vv if u×v=uu \times v = u, and an edge marked RR from vv to uu if u×v=vu \times v = v. In this way each pair of vertices will have two edges between them, either both going in the same direction or both having the same marking.
Suppose we have an edge from xx to yy marked aa and an edge from yy to zz marked bb. Through some simple casework on a,ba, b and use of the associative condition on ×\times, we can verify this implies there is an edge from xx to zz marked aa. Call this the *associativity condition* on G(×)G(\times).
Now suppose two vertices u,vu, v are such that there are two edges from uu to vv, one LL and one RR. We claim this means there is no path from vv to uu. Suppose that v,w1,w2,,wk,uv, w_1, w_2, \dots, w_k, u were such a path. Then the associativity condition on u,v,w1u, v, w_1 means that uu has two edges marked LL and RR from uu to w1w_1. Through the same methods we can inductively show that the two edges between uu to wiw_i are directed away from uu for all ii. But we need an edge from wkw_k to uu, so this is a contradiction.
Consider the strongly connected components of G(×)G(\times), meaning components such that a pair of vertices u,vu, v has a path from uu to vv and a path from vv to uu if and only if u,vu, v are in the same component. The above paragraph implies that for any u,vu, v in the same component, the two edges between u,vu, v go in opposite directions and have the same marking. The associativity condition implies the markings between all pairs of vertices in the same component are equal, so we can consider each component to be either LL as a whole or RR as a whole.
Let C1C_1 be the component such that no other component has an edge going into C1C_1, and call this the top component of G(×)G(\times). Then by the way we have constructed the graph, any full expression evaluates to a variable corresponding to a vertex in C1C_1 under ×\times. Since all the edges in C1C_1 are either LL or RR, the value of the full expression is either the leftmost variable out of those appearing in C1C_1, or the rightmost variable. In this way, we have completely characterized how a full expression can be evaluated under a simple operation ×\times: take a nonempty subset TT of the variables, then ×\times evaluates the expression to either the leftmost occurrence of a variable in TT, or the rightmost occurrence of a variable in TT.
From here the problem is straightforward to finish. Given a full expression ww, consider only the leftmost occurrence of each variable in ww. This gives a permutation σL\sigma_L of the variables of SS. Similarly construct σR\sigma_R from the rightmost occurrence of each variable in ww. By our above characterization ww is equivalent to σLσR\sigma_L\sigma_R, and there are n!2n!^2 ways to make a word from appending two permutations. Finally, suppose we have a different appending σLσR\sigma'_L\sigma'_R (without loss of generality we may assume that σLσL\sigma_L \neq \sigma'_L). We have some pair a,ba, b such that aa appears to the left of bb in σL\sigma_L but their order is reversed in σL\sigma'_L. Then we can construct ×\times such that a,ba, b are the only two elements of the top component marked LL of G(×)G(\times). This operation gives σLσR=a\sigma_L\sigma_R = a and σLσR=b\sigma'_L\sigma'_R = b, so the two are not equivalent.

Source: MathNet, licensed CC-BY-4.0. Statement and solution reproduced as published; topic, difficulty and ordering added by this site.