Charles Gregory Nelson (27 March 1953 – 2 February 2015) was an American computer scientist.[1][2]
Greg Nelson | |
---|---|
Born | Charles Gregory Nelson March 27, 1953 |
Died | February 2, 2015 | (aged 61)
Education | B.A., Harvard University (1976) Ph.D., Stanford University (1980) |
Known for | Satisfiability modulo theories Extended static checking Program verification Modula-3 committee ESC/Java Simplify theorem prover |
Awards | Herbrand Award (2013) |
Scientific career | |
Institutions | Xerox Palo Alto Research Center (PARC) Digital Equipment Corporation (DEC) Systems Research Center (SRC) Hewlett-Packard Labs |
Thesis | Techniques for Program Verification (1980) |
Doctoral advisor | Robert Tarjan |
Biography
editNelson grew up in Honolulu. As a boy he excelled at gymnastics and tennis. He attended the University Laboratory School. He received his B.A. degree in mathematics from Harvard University in 1976. He received his Ph.D. in computer science from Stanford University in 1980 under the supervision of Robert Tarjan. He lived in Juneau, Alaska for a year before settling permanently in the San Francisco Bay Area.
Notable work
editHis thesis, Techniques for Program Verification,[3] influenced both program verification and automated theorem proving, especially in the area now named satisfiability modulo theories, where he contributed techniques for combining decision procedures, as well as efficient decision procedures for quantifier-free constraints in first-order logic and term algebra. He received the Herbrand Award in 2013:[4]
for his pioneering contributions to theorem proving and program verification, such as his seminal work with Derek Oppen on the combination of satisfiability procedures and fast congruence closure algorithms, the development of the highly influential theorem prover Simplify, and his role in the creation of the field of extended static checking.
He was instrumental in developing the Simplify theorem prover used by ESC/Java. He made significant contributions in several other areas. He contributed to the field of programming language design as a member of the Modula-3 committee. In distributed systems he contributed to Network Objects. He made pioneering contributions with his constraint-based graphics editors (Juno and Juno-2), windowing system (Trestle), optimal code generation (Denali), and multi-threaded programming (Eraser).
See also
editReferences
edit- ^ Perl, Sharon (February 2015). "Greg Nelson: 27 March 1953 – 2 February 2015". Palo Alto Online. Palo Alto, California. Retrieved 2021-04-15.
- ^ Perl, Sharon (March 4, 2015). "Greg Nelson". Honolulu Star-Advertiser: Obituaries. Honolulu, Hawaii. Retrieved 2021-04-15.
- ^ Nelson, Greg (1980–1981). Techniques for Program Verification (PDF). Department of Electrical Engineering and Computer Sciences (PhD). University of California Berkeley. Retrieved 2021-04-13.
- ^ Montmirail, Valentin; Sutcliffe, Geoff (June 2013). "Herbrand Award: for Distinguished Contributions to Automated Reasoning". Conference on Automated Deduction. Retrieved 2021-04-13.