Constable, Robert L.2007-04-232007-04-231980-05http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR80-423https://hdl.handle.net/1813/6263Programs are interpreted as types in a constructive type theory. Rules for a logic of programs can then be derived from rules for types. This approach is the basis of nonelementary reasoning in the PL/CV3 (program) verification system. This paper summarizes the type theory and shows how to develop higher order logic and algorithmic (or programming or dynamic) logic in the theory. The theory described here is an evolution from de Bruijn's AUTOMATH and Martin-Lof's Intuitionistic Theory of Types.1778234 bytes516091 bytesapplication/pdfapplication/postscripten-UScomputer sciencetechnical reportPrograms As Typestechnical report