## How to define an operation / operator? [closed]

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?

-
 It's a fairly commonly used rotation, considered here on sequences with finite support. I don't really get your question: what are you looking for, really? – Thierry Zell Sep 11 2011 at 19:42