# Vaughan Pratt

Vaughan Pratt (born April 12, 1944) is a Professor Emeritus at Stanford University, who was an early pioneer in the field of computer science. Since 1969, Pratt has made several contributions to foundational areas such as search algorithms, sorting algorithms, and primality testing. More recently, his research has focused on formal modeling of concurrent systems and Chu spaces.

## Career

Raised in Australia and educated at Knox Grammar School, where he was dux in 1961, Pratt attended Sydney University, where he completed his masters thesis in 1970, related to what is now known as natural language processing. He then went to the United States, where he completed a Ph.D. thesis at Stanford University in only 20 months under the supervision of advisor Donald Knuth. His thesis focused on analysis of the Shellsort sorting algorithm and sorting networks.
Pratt was an assistant professor at MIT (1972 to 1976) and then associate professor (1976 to 1982). In 1974, working in collaboration with Knuth and James H. Morris, Pratt completed and formalized work he had begun in 1970 as a graduate student at Berkeley; the coauthored result was the Knuth–Morris–Pratt pattern matching algorithm. In 1976, he developed the system of dynamic logic, a modal logic of structured behavior.
He went on sabbatical from MIT to Stanford (1980 to 1981), and was appointed a full professor at Stanford in 1981.
Pratt directed the SUN workstation project at Stanford from 1980 to 1982. He contributed in various ways to the founding and early operation of Sun Microsystems, acting in the role of consultant for its first year, then, taking a leave of absence from Stanford for the next two years, becoming director of research, and finally resuming his role as a consultant to Sun and returning to Stanford in 1985.
He also designed the Sun Microsystems logo, which features four interleaved copies of the word "sun"; it is an ambigram.
Pratt became professor emeritus at Stanford in 2000.

## Major contributions

A number of well-known algorithms bear Pratt's name. Pratt certificates, short proofs of the primality of a number, demonstrated in a practical way that primality can be efficiently verified, placing the primality testing problem in the complexity class NP and providing the first strong evidence that the problem is not co-NP-complete. The Knuth–Morris–Pratt algorithm, which Pratt designed in the early 1970s together with fellow Stanford professor Donald Knuth and independently from Morris, is still the most efficient general string searching algorithm known today. Along with Blum, Floyd, Rivest, and Tarjan, he described median of medians, the first worst-case optimal selection algorithm.

### Useful tool building

Pratt built some useful tools. In 1976, he wrote an MIT AI Lab working paper about CGOL, an alternative syntax for MACLISP that he had designed and implemented based on his paradigm for top-down operator precedence parsing. His parser is sometimes called a "Pratt parser" and has been used in later systems, such as MACSYMA. Douglas Crockford also used it as the underlying parser for JSLint. Pratt also implemented a TECO-based text editor named "DOC", which was later renamed to "ZED".
In 1999, Pratt built the world's smallest (at the time) web server—it was the size of a matchbox.

### Other contributions

Pratt was credited in a 1995 Byte magazine article for proposing that the Pentium FDIV bug might have worse consequences than either Intel or IBM was predicting at the time.
Today Pratt has a wide influence. In addition to his Stanford professorship, he holds membership in at least seven professional organizations. He is a fellow of the Association for Computing Machinery and is on the editorial board of three major mathematics journals. He was also the founder, chairman, and CTO of TIQIT Computers, Inc. for the ten years prior to when it closed its doors in 2010.