scientific article; zbMATH DE number 194122
Denotational semantics, as developed by Scott and Strachey (see \textit{J. Stoy}, MIT Press 1977; Zbl 0503.68059) for a systematic presentation) is essentially a framework in which properties of programs can be determined by formal proof techniques. In particular, we are interested in properties such as program correctness and program equivalence. In fact, when a program is transformed, for example by an automatic program manipulation system which aims at optimizing it, a fundamental request is that at each step a program equivalent to the previous one is obtained. Hence, notions of program equivalence are fundamental to the theory and practice of programming languages, and are the semantic basis for program optimization based on correctness-preserving transformations. A way for formally dealing with program equivalence is to reduce the equivalence between two programs (defined as directly executable terms in a given language) to the equality of their semantic values in appropriate models. Models with the ideal property that only equivalent terms are identified are called (equationally) correct, while if exactly the equivalent terms are identified the model is called fully abstract. A clear and mathematically self-contained survey of the research on full abstraction is contained in this short monograph, a revision of the author's Ph.D. thesis. The monograph presents a language independent theory of fully abstract denotational semantics of programming languages, dealing both with the synthesis and analysis of natural models and with the theoretical study of the conditions under which fully abstract models exist. First of all, since the study of the existence of fully abstract models is carried on within the framework of initial algebra semantics, Chapter 2 introduces the definitions and theorems concerning universal algebras and complete ordered algebras [\textit{J. Goguen}, \textit{J. Thatcher}, \textit{E. Wagner} and \textit{J. Wright}, J. Assoc. Comput. Machin. 24, 68-95 (1977; Zbl 0359.68018)]. Programming language syntax is specified in this framework by many-sorted signatures, whose sorts and operators correspond to the syntactic categories and constructs, respectively, of programming languages, and moels are many-sorted universal algebras whose carriers are sort-indexed families of complete partial orders with least element \(\Omega\), with continuous functions as operations. Then, Chapter 3 is devoted to the definitions and elementary properties of full abstraction and least fixed point models. Three kinds of correctness and full abstraction are considered: equational, inequational and contextual. Formally, any congruence \(\approx\) over the term algebra T generated by a signature \(\Sigma\) defines a notion of program equivalence, and \(\approx\)- equationally correct models are those algebras A which induce on T a congruence \(\approx_ A\subseteq \approx\). If \(\approx_ A=\approx\), then we have fully abstract models: in other terms, ground equations hold in A exactly when they hold in \(\approx\). In an analogous way, A is contextually fully abstract iff universally quantified equations hold in A exactly when they hold in \(\approx\). The notion of inequational full abstractness is given in the same way, considering an \(\Omega\)-least substitutive pre-ordering \(\leq\) over T instead of the congruence \(\approx\). Then, the notion of least fixed point model is introduced, i.e. complete ordered algebras which satisfy some least fixed point constraints. The constraints specify that the meaning of certain terms should be least upper bounds of the meaning of certain directed subsets of the ordered term algebra. Two kinds of least fixed points models are considered: ordinary and contextual. The latter is the natural generalization of the former from terms to contexts or, more precisely, to derived operators. In these models, it is possible to assign meanings to iteration and recursion constructs. In Chapter 4, the above notions are applied to define the denotational semantics of two programming languages: the combinatory logic version of PCF and an imperative language, called TIE, with explicit storage allocation and higher and recursive types. Notions of programs ordering and equivalence are defined and it is shown that the models for both languages are inequationally correct with reference to these notions of ordering. In contrast, the model of PCF is already known not to be fully abstract, and the same is conjectured for the model of TIE. The next chapter is devoted to state necessary and sufficient conditions for the existence of correct and fully abstract, least fixed point, complete ordered algebras. Since there are three notions of correctness and fully abstraction and two of least fixed point models, six possible combinations are considered. The main result concerns a necessary and sufficient condition for the existence of inequationally full abstract least fixed point complete ordered algebras. Furthermore, it is shown that, if the category of such algebras and continuous homomorphisms is nonempty, then it has an initial object. Conditions for the existence of equationally fully abstract (resp., equationally correct) least fixed point complete ordered algebras follows as a corollary, and it is shown that equationally correct, complete ordered algebras always exist. As far as contextual full abstraction is concerned, it is shown that contextually fully abstract, contextually least fixed point complete ordered algebras exist exactly when fully abstract, least fixed point complete ordered algebras do. The chapter concludes with several theorems concerning the existence of initial objects and the nonexistence of terminal objects in various categories of models. Chapter 6 contains simplified proofs of known results about the nonexistence of fully abstract models of two nondeterministic imperative programming languages: one with random assignment and the other with finite output streams. The results are given by using the conditions for the existence of equationally fully abstract, least fixed point, complete ordered algebras, without any model-theoretic reasoning. In Chapter 7, two approaches to obtaining fully abstract models from correct ones are investigated. In particular, the possibility of collapsing correct models, via continuous homomorphisms, to fully abstract ones is considered, and useful sufficient conditions are given. The monograph concludes with a short section in which the limitations of the monograph and the corresponding possibilities for further research are discussed.
- Fully abstract denotational models for nonuniform concurrent languages
- Formal models for some features of programming languages
- An algebraic model for programming languages
- An abstract compiler model as a result of the algebraic semantics of a programming language
- Approximation of abstract semantics by formal models of programs
- scientific article; zbMATH DE number 18655
- Abstract interpretation as a programming language
- A theoretical model of a high-level programming language
- scientific article; zbMATH DE number 4033047
- Fully abstract translations between functional languages
- Full abstraction and limiting completeness in equational languages
- The semantics of the combination of atomized statements and parallel choice
- Fully abstract denotational models for nonuniform concurrent languages
- Full abstraction and recursion
- Full abstraction for the second order subset of an Algol-like language
- Full abstraction for PCF
- Concurrent testing of processes
- A blocking model for reactive objects
- From operational semantics to domain theory
- Types and full abstraction for polyadic -calculus
- A uniform approach to completions of posets
- Infinite trace equivalence
- On dynamically generated ontology translators in agent communication
- Infinite trace equivalence
- There is no fully abstract fixpoint semantics for non-deterministic languages with infinite computations
- Universal properties of impure programming languages
- Modelling local variables: possible worlds and object spaces
- Full Abstraction for Reduced ML
- scientific article; zbMATH DE number 3938561 (Why is no real title available?)
- scientific article; zbMATH DE number 3976319 (Why is no real title available?)
- Full abstraction for Reduced ML
- scientific article; zbMATH DE number 18655 (Why is no real title available?)
- Fully abstract translations between functional languages
- A fully abstract bidomain model of unary FPC
- scientific article; zbMATH DE number 1531369 (Why is no real title available?)
- scientific article; zbMATH DE number 1549510 (Why is no real title available?)
- A categorical foundation for structured reversible flowchart languages: soundness and adequacy
- A higher-order calculus of computational fields
- scientific article; zbMATH DE number 821282 (Why is no real title available?)
- On abstraction and the expressive power of programming languages
- Formal models for some features of programming languages
- General conditions for full abstraction
- Equationally fully abstract models of PCF
- Sequential functions on indexed domains and full abstraction for a sub-language of PCF
- From operational to denotational semantics
- Continuous functions and parallel algorithms on concrete data structures
- On a higher-order calculus of computational fields
- A direct characterization of completion
- Concrete constructions of noncommutative free dcpo semigroups
- Semantical analysis of specification logic
This page was built for publication:
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4040912)