This post first appeared at scientificamerican.com.
Last month, I wrote about the Euclid–Mullin sequence, a sequence of prime numbers generated when you apply the algorithm from Euclid’s proof that there are infinitely many primes. The sequence is named for Alexandrian mathematician Euclid, about whom we know almost nothing but who lived around 300 BCE, and American engineer Albert A. Mullin, who lived from 1933-2017. There’s quite an age gap between the two eponyms of the Euclid-Mullin sequence sequence! When I wrote the article, I wondered whether that was the largest chronological distance between two people for whom something in math is named.
It’s hard to beat 2300 years. For a variety of reasons—cultural differences, Eurocentrism, the second law of thermodynamics, to name a few—the people who gave mathematical objects and processes the names we currently use knew fairly few names of non-Hellenistic mathematicians from before about 700 CE. Bits of math have tended to be named for some European (or more recently white American) guy who did something with them, even if they were known elsewhere long before his time, as in the Pythagorean theorem, the Fibonacci sequence, and Lambert quadrilaterals. (Some efforts have been made to rectify the situation. I have seen references to the distance theorem, the Hemachandra–Fibonacci numbers and Ibn al-Haytham–Lambert quadrilaterals. It’s a start.)
I thought it would be impossible to beat Euclid and Mullin for the largest gap between the two people for whom something in math is named, but when I was discussing it on Twitter, someone alerted me to a name that ekes out a win: Pāṇini–Backus form.
In computer science, Backus-Naur form or Backus normal form (BNF) is a way of notating syntactical features of programming languages. It is named after John Backus (1924–2007), who developed the idea, and Peter Naur (1928-2016), who made some changes to the notation.
BNF uses a few symbols to represent the structure of objects in a language. For example, a BNF description of a base ten number could be:
<number> ::= <digit> | <number> <digit> | <number> “.” <number>
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
So a number is either a digit or another number with a digit at the end or a number followed by a period (which we would interpret as a decimal point) followed by another number. A digit is one of the symbols 0, 1, 2, 3, 4, 5, 6, 7, 8, or 9. There is recursion inherent in this definition, as the definition of “number” refers to “number.” You can check whether an input is a number by seeing if it has the form of a number. If it is only one digit, it is a number. If it has two digits, it is a digit, which is a number, followed by a digit, so it is a number. And so on.
Donald Knuth suggested the name Backus-Naur Form to replace Backus Normal Form in a 1964 letter to the editor of the Communications of the Association of Computing Machinery. Backus Normal Form is not technically a normal form, which is a pretty good reason to change the name, but Naur did not like his name on the term. A few years later in another letter to the editor at the same publication, Peter Zilahy Ingerman suggested changing the name to Pāṇini–Backus form to give credit to 4th-century BCE Indian scholar Pāṇini, who studied Sanskrit and is considered by many to be the first linguist.
Pāṇini’s Aṣṭādhyāyī is the earliest surviving book about Sanskrit grammar. In it, he develops a way of writing about language meta-linguistically. Ingerman writes that Pāṇini’s notation was just as powerful as BNF, so his name deserves to be acknowledged as well. Pāṇini’s precise dates are not known, but he probably predated Euclid. Backus and Mullin have almost the same dates, so I think Pāṇini–Backus form edges out the Euclid-Mullin sequence in terms of chronological distance of eponyms.
It might seem like a bit of a stretch to describe Pāṇini–Backus as a mathematical term, but the lines between computer science and math are so thin (and I am so excited about a term named after two people with a 2400-year age gap) that I’m willing to let it slide, along with the fact that the name never actually took hold. But if you’re a computer scientist reading this post, maybe you can change that. Pāṇini–Backus form, I’m rooting for you!
Recent Comments