William L. Lewis Professor Engineering
Cornell Weiss Presidential Fellow
Dr. rer. nat., Munich Inst. of Tech., 1966
My research is aimed at gaining a better understanding of the
programming process, with respect to both sequential and concurrent (or parallel)
programs. The work requires investigation of theories of program correctness and their
application, as well as investigation of other concepts in the semantics of programming
languages. A procedural programming language, Polya, is being defined and implemented. We
are attempting to make the language in which algorithms are usually presented the
programming language, but without loss of efficiency. This has entailed work in the theory
of polymorphic types and type inference as well as the development of new constructs for
|types and for describing the
implementation of variables. The hope is that this work will advance the state of
the art of reusability of program parts and will raise the level at which programs are
Education is a second area of strong interest for
me, particularly the first few courses in computer science. Under the thesis that logic is
the glue that binds together reasoning, in all domains. Along with colleague F.B.
Schneider, I have been researching on and writing about logic as a "tool",
instead of just another object of study. We are working on a new version of our 1993 text
"A Logical Approach to Discrete Math", which will focus only on logic.
Cornell University Faculty Senate
General Committee of the Graduate School
Weiss Fellowship Committee
Managing Editor: Information Processing Letters
Main Editor: Acta Informatica
Editor: Springer-Verlag Texts and Monographs in
Director: Marktoberdorf NATO Summer School
Co-chair: Program Committee for PROCOMET '98.
Program Committees: ENCRES 1997, Fourth Int. Conf.
Mathematics of Program Construction
Chair: Education Track, FM99
IFIP Working Group 2.3 (Programming Methodology)
NSF Review panel
The once or future programmer: A modern
educational dilemma. Computer Science Univ. Texas at Austin, 23 Oct. 1997.
Making logic a useful tool. Computer Science,
Univ. Texas at Austin, 24 Oct. 1997.
The once and future programmer: Our educational
dilemma. Banquet Speech, Third Annual Northeastern Conf., Consortium for computing in
small colleges. Fairfield, CT 24 April 1998.
Teaching logic as a tool (tutorial). Third Annual
Northeastern Conference, Consortium for computing in small colleges. Fairfield, CT, 25
Programming Concepts and Methods, PROCOMET '98
(ed.). Chapman and Hall, London (1998) (with W.-P. De Roever).
Adding the everywhere operator to propositional
logic. J. Logic and Computation, 8 (Feb. 1998), 119-129 (with F.B. Schneider).
Documents mean more than just paper! Math.
Comput. Modeling 26, 1 (1997), 45-53 (with T.V. Raman).
Eliminating the chaff_again. Mathematical
Methods in Program Development. M. Broy and B. Schieder (eds.) NATO ASI Series, Series
F: Computer and Systems Sciences 158, Springer-Verlag (1997), 1-7.
Foundations for calculational logic. ibid, 83-126.
Formal justification of underspecification for S5.
IPL 64, 3 (Nov. 1997): 115-121 (with E. Aaron).
Foreword for T.V. Raman's book Auditory User
Interfaces (AUI) Toward the Speaking Computer.
KMP String matching revisited. IPL 64
(1997): 217-223 (with E.M. Reingold and K.J. Urban).