; Authors ' Addresses; Robert L. Constable, Department of Computer Science, Cornell University, Ithaca NY, USA.
SVM HeaderParse 0.2
; D 66123 Saarbrucken; Germany; David Basin, Max-Planck-Institut fur Informatik Im Stadtwald, D-6600 Saarbrucken, Germany
SVM HeaderParse 0.1
In computer science we speak of implementing a logic; this is done in a programming language, such as Lisp, called here the implementation language. We also reason about the logic, as in understanding how to search for proofs; these arguments are expressed in the metalanguage and conducted in the metalogic of the object language being implemented. We also reason about the implementation itself, say to know it is correct; this is done in a programming logic. How do all these logics relate? This paper considers that question and more. We show that by taking the view that the metalogic is primary, these other parts are related in standard ways. The metalogic should be suitably rich so that the object logic can be presented as an abstract data type, and it must be suitably computational (or constructive) so that an instance of that type is an implementation. The data type abstractly encodes all that is relevant for metareasoning, i.e., not only the term constructing functions but also the...