Results 1 -
3 of
3
From Operational to Denotational Semantics
- In MFPS 1991
, 1989
"... In this paper it is shown how operational semantic methods may be naturally extended to encompass many of the concepts of denotational semantics. This work builds on the standard development of an operational semantics as an interpreter and operational equivalence. The key addition is an operational ..."
Abstract
-
Cited by 17 (6 self)
- Add to MetaCart
In this paper it is shown how operational semantic methods may be naturally extended to encompass many of the concepts of denotational semantics. This work builds on the standard development of an operational semantics as an interpreter and operational equivalence. The key addition is an operational ordering on sets of terms. From properties of this ordering a closure construction directly yields a fully abstract continuous cpo model. Furthermore, it is not necessary to construct the cpo, for principles such as soundness of fixed-point induction may be obtained by direct reasoning from this new ordering. The end result is that traditional denotational techniques may be applied in a purely operational setting in a natural fashion, a matter of practical importance for developing semantics of realistic programming languages. 1 Introduction This paper aims to accomplish a degree of unification between operational and denotational approaches to programming language semantics by recasting d...
Partial computations in constructive type theory
- JOURNAL OF LOGIC AND COMPUTATION
, 1991
"... Constructive type theory as conceived by Per Martin-Löf has a very rich type system, but partial functions cannot be typed. This also makes it impossible to directly write recursive programs. In this paper a constructive type theory Red is defined which includes a partial type constructor A; objects ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
Constructive type theory as conceived by Per Martin-Löf has a very rich type system, but partial functions cannot be typed. This also makes it impossible to directly write recursive programs. In this paper a constructive type theory Red is defined which includes a partial type constructor A; objects in the type A may diverge, but if they converge, they must be members of A. A fixed point typing principle is given to allow typing of recursive functions. The extraction paradigm of type theory, whereby programs are automatically extracted from constructive proofs, is extended to allow extraction of fixed points. There is a Scott fixed point induction principle for reasoning about these functions. Soundness of the theory is proven. Type theory becomes a more expressive programming logic as a result.
Hybrid Partial-Total Type Theory
, 1995
"... In this paper a hybrid type theory HTT is defined which combines the programming language notion of partial type with the logical notion of total type into a single theory. A new partial type constructor A is added to the type theory: objects in A may diverge, but if they converge, they must be memb ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
In this paper a hybrid type theory HTT is defined which combines the programming language notion of partial type with the logical notion of total type into a single theory. A new partial type constructor A is added to the type theory: objects in A may diverge, but if they converge, they must be members of A. A fixed point typing rule is given to allow for typing of fixed points. The underlying theory is based on ideas from Feferman's Class Theory and Martin Lof's Intuitionistic Type Theory. The extraction paradigm of constructive type theory is extended to allow direct extraction of arbitrary fixed points. Important features of general programming logics such as LCF are preserved, including the typing of all partial functions, a partial ordering ! ¸ on computations, and a fixed point induction principle. The resulting theory is thus intended as a general-purpose programming logic. Rules are presented and soundness of the theory established. Keywords: Constructive Type Theory, Logics...

