§ AWS MathFest 2024

• We had an interesting question at the AWS MathFest.
• Suppose there are 31 days, and there are 31 jugglers.
• on each day, jugglers put on a show. A show contains a set of jugglers.
• Call a configuration of shows by jugglers good if no two days contain the same jugglers.
• We are told that the initial plan is a good plan.
• Now, Is it possible to always kill a juggler such that the days remain good?
• Let's restrict to 2 jugglers and two days. Let the days be 1, 2 and jugglers be a, b. We can represent a good configuration as a matrix:
       a  b
-----+-----
day 1| x  o
day 2| x  x

• This means that the show on day 1 has only a, and the show on day 2 has both a and b.
• See that it is not safe for us to kill juggler b, because if we do so, then on both days, only juggler a performs.
• See that it is safe for us to kill juggler a, because if we do so, then on day 1, no juggler performs, and on day 2, only juggler b performs which was different shows.
• In general, is it always possible to find a juggler to kill (like we found b in this case), given that we have n days and n jugglers?

§ Proof that this is always possible

• For a given day, interpret the "jugglers appearing on that day" as a string. So for example, day 1 is xo and day 2 is xx.
• See that the property that we had can be rephrased by saying that the strings for all days are distinct.
• This means that if we build an automata, then it will have unique terminal states, one for each string.
• So, we will think of this from the point of view of nerode equivalence.
• We have a sequence of equivalence relations on the set of days. The more of the strings we consume, the more days we can tell apart.
• At the end, we can tell apart all the days.
• We want to prove that one of the characters is superfluous.
• Going back to the example:
• Before consuming any character, we will have the equivalence classes {day1, day2} (no distinction).
• After revealing the first column (ie, learning on what days the 1st juggler performs), we will have the equivalence classes {day1, day2}. That is, we learnt nothing new.
• After revealing the second column (ie, learning on what days the 2nd juggler performs), we will have the equivalence classes {day1}, {day2}.
• We say that learning when juggler a performs did not let us distinguish any new states, so we can kill juggler a and still have the property that at the end, we have distinguished all days.
• In general, see that we have n letters. We will have states that correspond to 0 letters seen, 1 letters seen, ..., n letters seen.
• See that at the final state with index n, all states are in their own equivalence class with 1 element.
• So what we have is a chain of length (n + 1) in the lattice of partitions, startig with the partition {1...n}, ending with the partition {{1}, {2}, .. {n}}.
• However, see that this lattice only has height n! e.g. when n=3, the lattice looks as follows:
    {[1] [2] [3]}
{[1] [2 3]} {[1 2] [3]} {[1 3] {2}]
{[1 2 3]}

• Thus, given a chain of length $n + 1$ in a lattice of height $n$, there must be two elements that are equal.
• So we can find a letter (which is the transition between these two elements) to kill.