Results 11 
14 of
14
Observations About Using Logic as a Specification Language
, 1995
"... This extended abstract contains some nontechnical observations about the roles that logic can play in the specification of computational systems. In particular, computationasdeduction, metaprogramming, and higherorder abstract syntax are briefly discussed. 1 Two approaches to specifications In ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This extended abstract contains some nontechnical observations about the roles that logic can play in the specification of computational systems. In particular, computationasdeduction, metaprogramming, and higherorder abstract syntax are briefly discussed. 1 Two approaches to specifications In the specification of computational systems, logics are generally used in one of two approaches. In one approach, computations are mathematical structures, containing such items as nodes, transitions, and state, and logic is used in an external sense to make statements about those structures. That is, computations are used as models for logical expressions. Intensional operators, such as the modals of temporal and dynamic logics or the triples of Hoare logic, are often employed to express propositions about the change in state. For example, nexttime modal operators are used to describe the possible evolution of state; expressions in the HennesseyMilner are evaluated against the transitions...
Functorial KripkeBethJoyal models of the lambda Picalculus I: type theory and internal logic
, 2001
"... We give a categorical account of KripkeBethJoyal models of the  calculus. Kripke models. Emphasize semantics of (terms/representatives/realizers for) consequences. 1 Introduction This paper, \Functorial KripkeBethJoyal models of the calculus I: type theory and internal logic" (henceforth abb ..."
Abstract
 Add to MetaCart
We give a categorical account of KripkeBethJoyal models of the  calculus. Kripke models. Emphasize semantics of (terms/representatives/realizers for) consequences. 1 Introduction This paper, \Functorial KripkeBethJoyal models of the calculus I: type theory and internal logic" (henceforth abbreviated to I), is rst of a sequence of three connected works. It is concerned with the basic model theory of the  calculus considered on the one hand as a system of rstorder dependent function types and on the other as presentation of the f8; gfragment of minimal rstorder predicate logic with proofobjects. From the point of view of type theory, ... MITCHELL/MOGGI From the point of view of logic, the ... At the core of our denition of Kripke(BethJoyal) models of lies our treatment of comprehension, context extension and (rstorder) dependent function spaces. The essential idea is similar that of earlier work [?, ?, ?]; however, our treatment has the following two advant...
Compilation
"... machine code can then itself either be interpreted or compiled further to actual machine code. In this chapter we take a stepwise approach to compilation, using two intermediate forms between MiniML and a variant of the SECD machine [Lan64] which is also related to the Categorical Abstract Machine ..."
Abstract
 Add to MetaCart
machine code can then itself either be interpreted or compiled further to actual machine code. In this chapter we take a stepwise approach to compilation, using two intermediate forms between MiniML and a variant of the SECD machine [Lan64] which is also related to the Categorical Abstract Machine (CAM) [CCM87]. This decomposition simplifies the correctness proofs and localizes ideas which are necessary to understand the compiler in its totality. 145 146 CHAPTER 6. COMPILATION The material presented in this chapter follows work by Hannan [HM90, Han91], both in general approach and in many details. An extended abstract that also addresses correctness issues and methods of formalization can be found in [HP92]. A di#erent approach to compilation using continuations may be found in Section ??. 6.1 An Environment Model for Evaluation The evaluation judgment e##vrequires that all information about the state of the computation is contained in the MiniML expression e. The application of a function formed by #abstraction, lam x. e,toanargumentvthus requires the substitution of v for x in e and evaluation of the result. In order to avoid this substitution it may seem reasonable to formulate evaluation as a hypothetical judgment (e is evaluated under the hypothesis that x evaluates to v) but this attempt fails (see Exercise 6.1). Instead, we allow free variables in expressions which are given values in an environment, which is explicitly represented as part of a revised evaluation judgment. Variables are evaluated by looking up their value in the environment; previously we always eliminated them by substitution, so no separate rule was required. However, this leads to a problem with the scope of variables. Consider the expression lam y. x in an environment that binds x to z....