Suppose you have come up with an elegant recursive algorithm that is easy to understand and implement. This will not do. A true mathematician is judged by how clever he must be to understand his algorithm. To that end, you must make your algorithm as difficult to understand as possible. This is how you prove that you are smarter than your readers. Here are some suggestions:
- Instead of giving the next state as function of the current state, give the current state as a function of the next state and let your audience invert the function.
- Split your recursion into two parts, but give one part recursively and the other co-recursively. Your readers will enjoy the fun puzzle of figuring out how to stitch the parts back together.
- Remove the recursion by replacing it with re-assignment and explicit stack manipulation.
- Avoid motivating examples.
- Omit all unnecessary details, and a few of the necessary ones as well.
- Unicode gives you thousands of single character variable names.
- Use existance proofs rather than constructive ones. You can prove there is a base case without explicitly stating what it is.
- Let X refer to a set or an element of a set, depending on context.
- Depend on the context. A lot.
- There is no rule that says variable names must be unique.
Take and apply some of these ideas and you can turn your elegant algorithm into something that will humiliate the smartest of your readers.