Maybe it’s because I recently read *Contact* and *2001: A Space Odyssey*; perhaps it’s the glorious recent exoplanet reports from analysis of Kepler data; or it could just be random fluctuations; but lately I’ve been thinking about how lovely it would be to finally establish first contact with an alien civilization.

As fun as intergalactic thermonuclear war, xenocide, and total annihilation of either the alien (in the worst case) or of the human (in the best) race may seem, I wishfully hope that we will at once embark on a massive effort of translation to and from their major languages and ours. This will probably serve as a delight to my linguistic friends, but of course it would only be the precursor to the tremendous and virtually endless transfer and sharing of scientific knowledge.

Think of all the possibilities! Whether it is they or us with the more advanced technology, who knows what we may discover? Could it be that their astronomers, having lived in a different solar system, know more about the formation of stars? Could it be that they have found an intuitive and reasonable interpretation to the philosophical mess behind quantum mechanics? Could it be that they have journeyed through mathematical landscapes of which we cannot even dream? I think it’s safe to assume that a civilization capable of building spaceships has discovered at least some kind of calculus, but in general the history of mathematics is riddled with accidents and coincidental branches; any flip of the coin could have generated new fields, and who knows where we would be today had the bullet missed Galois tender stomach and let him live another day.

But we are remarkably unprepared for the day of sharing mathematical knowledge. Sure, we’ll have to make them understand what is right and what is wrong and what is right and what is left and a myriad of symbols and definitions, but one thing in particular stands out to me: the naming of our theorems.

Why, just today I had a problem in which I needed to calculate the electric flux through a sphere around an electron. It was a piece of cake, actually; I just had to take the Riemann integral of Coulomb’s field using Gauss’ theorem. Later, D’alembert’s criterion once again proved useful as Abel’s test has failed me, and I could find Euler’s function in no time.

Now, to deny the greatness of these people would be simply outrageous and totally unthinkable by all moral standards. However, I would like to think that mathematics (and physics) have about them a timeless, standalone, and civilization-independent quality. Honor granted, as a language mathematics should strive to be lucid and clear; part of this involves naming conventions. And famous-dead-guys’ names simply indicate nothing about the theorem or item which they describe.

Consider a computer program with millions of lines of code spread across thousands of files, performing in many different areas such as graphics, numerical calculations, and physical output. Does this seem like a valid function name?

`“int joes_first_function(int x, int y);”`

Of course, this appears in “algebra.h”, and it relates to the sizes of finite groups. After looking a bit at “analysis.h”, you again see

`“int joes_first_function(double x, double y);”`

This one has to do with derivatives. Since no one would ever use both algebra and analysis together, it’s perfectly reasonable, isn’t it? Anyone in the field will know what you are talking about anyway. After all, Joe was a famous computer programmer, and you learned about his functions as a college undergrad.

Indeed, as a computer program, mathematics would have a horrible naming problem. Sure, there would sometimes be something self-descriptive, perhaps “bool existance_and_uniqueness(ode)”, or “apply_triangle_inequality”, but for me, its mostly Euler, Abel, Gauss, Lagrange, and all their Enlightened friends (of course, a similar phenomenon exists in more modern mathematics as well).

Are our alien friends supposed to memorize our mathematicians’ names and cross correlate them to their fields of study? Should we write in our books that Jxxkarathrozmsq’s theorem, proved by Proxima Centauri 17(b)’s renown mathematician, is actually just a particular case of Euler’s identity?

I say, nay! To each purely personalized theorem, let us formulate a descriptive name, which at least gives us some clue as to its usage and field. To every unrecognized but named item, attach an indicative and translatable label. Eventually, after many more years of research, and after having met and shared with more and more foreign civilizations, our *Complete Galactic Compendium of the Milky Way Mathematician* will be complete, devoid of bland and forgotten cultural references, fully expressing the absolute nature of Mathematics.

Great one, Renan! BTW, you could also go about this the other direction – when you’re writing a boring program you know you won’t reuse, renaming all the functions and classes to represent some fantasy world littered with dwarf.throw_axe(target=orc.head) statements suddenly makes it much more enjoyable 🙂

Thanks, Dražen!

Regarding function names, it returns me to an old argument, where we had external interface that expected time in seconds, and another in milliseconds. So naturally:

def seconds_to_milliseconds(seconds):

return seconds * 1000

To which came the instant response:

“Did you just write a function that multiplies by 1000? Would you really accept this in your code:

def multiply_by_thousand(number):

return number * 1000

?”

Opinions were heated in either direction (although I myself now think that putting this in a function is a bit too much, and its clear from context that when you have a var named “seconds” and multiply it by 1000, you’re probably converting to milli.

So much for throwing axes.

I’ve written that seconds_to_milliseconds() function at least once, I think. I also wrote a few def descriptive_name(x): return x functions. It’s usually better in many ways than a line of comment.

We programmers do have some of that mathematical illness, though, as can be seen e.g. here:

http://graph-tool.skewed.de/static/doc/draw.html

and here:

http://en.wikipedia.org/wiki/Duff%27s_Device

The solution to this problem, of course, lies here:

http://coq.inria.fr/

Of course you’ve written seconds_to_milliseconds at least once, I was there with you when we wrote it!

By the way, my offer was to use neither function nor comment, at least in this case.

I’m not quite sure what your examples were supposed to exemplify…

“Euler, Abel, Gauss, Lagrange, and all their Enlightened friends..” where are all my enlightened girls? 😦

We’re waiting for you, Hila.