Skip to main content

A Feat of Mathematical Eponymy

2400 years separate two people with whom this computer science term is associated

A fragment of a Sanskrit text in the Southern Grantha script

A portion of Pāṇini's Sanskrit grammar text Aṣṭādhyāyī written using Grantha script. This copy was produced in the 19th century.*

This article was published in Scientific American’s former blog network and reflects the views of the author, not necessarily those of Scientific American


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.


On supporting science journalism

If you're enjoying this article, consider supporting our award-winning journalism by subscribing. By purchasing a subscription you are helping to ensure the future of impactful stories about the discoveries and ideas shaping our world today.


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:

::= | | “.” ::= 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!

*A few readers have written to inform me the illustration at the top of this post is Tamil, not Sanskrit. The illustration at the top of this post is a portion of Pāṇini’s Aṣṭādhyāyī, a Sanskrit text. The script in which it is written, Grantha, was frequently used by Tamil speakers and speakers of other South Indian languages to write Sanskrit, though it is rarely used today. (The copy above was produced in the 19th century.) Visually, the script looks more like written Tamil and not the usual script used to write Sanskrit, but the language is Sanskrit. I have added some extra information to the caption to clarify. Click through for the Wikimedia page for the image, which has more information. I have been in contact with an expert at the library where the artifact is housed to verify that the information on the upload page is correct.