Hi,
I was recently faced with a problem that involved a set of users, and for each user a totally ordered set containing the user's preferred programming language.
While solving the problem, I had a need to define a specific permutation over the totally ordered set.
i.e., Assume W is a set of preferences for user X. I have W = {C++, C, Java} in which case C++ > C > Java in the user's preference list.
The permutation I needed to define was similar to Rotate Left used in bitwise operations. That is, RotateLeft(W) = {C, Java, C++}.
The course doesn't require full mathematical rigorousness, so all I had to do was to explain how such rotation would work and have it be mathematical "sound".
My question is, how would one go about defining such an operator/operation in a rigorous way?

