His thesis,
Techniques for Program Verification, 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: 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 ==