Results 1 - 10
of
21
Full Abstraction for PCF
- Information and Computation
, 1996
"... An intensional model for the programming language PCF is described, in which the types of PCF are interpreted by games, and the terms by certain "history-free" strategies. This model is shown to capture definability in PCF. More precisely, every compact strategy in the model is definable in a certai ..."
Abstract
-
Cited by 173 (14 self)
- Add to MetaCart
An intensional model for the programming language PCF is described, in which the types of PCF are interpreted by games, and the terms by certain "history-free" strategies. This model is shown to capture definability in PCF. More precisely, every compact strategy in the model is definable in a certain simple extension of PCF. We then introduce an intrinsic preorder on strategies, and show that it satisfies some remarkable properties, such that the intrinsic preorder on function types coincides with the pointwise preorder. We then obtain an order-extensional fully abstract model of PCF by quotienting the intensional model by the intrinsic preorder. This is the first syntax-independent description of the fully abstract model for PCF. (Hyland and Ong have obtained very similar results by a somewhat different route, independently and at the same time.) We then consider the effective version of our model, and prove a Universality Theorem: every element of the effective extensional model is definable in PCF. Equivalently, every recursive strategy is definable up to observational equivalence.
Full Abstraction for PCF (Extended Abstract)
- THEORETICAL ASPECTS OF COMPUTER SOFTWARE. INTERNATIONAL SYMPOSIUM TACS'94, NUMBER 789 IN LECTURE NOTES IN COMPUTER SCIENCE
, 1994
"... The Full Abstraction Problem for PCF [23, 20, 7, 11] is one of the longest-standing problems in the semantics of programming languages. There is quite widespread agreement that it is one of the most difficult; there is much less agreement as to what exactly the problem is, or more particularly as ..."
Abstract
-
Cited by 65 (11 self)
- Add to MetaCart
The Full Abstraction Problem for PCF [23, 20, 7, 11] is one of the longest-standing problems in the semantics of programming languages. There is quite widespread agreement that it is one of the most difficult; there is much less agreement as to what exactly the problem is, or more particularly as to the precise criteria for a solution. The usual formulation is that one wants a "semantic characterization" of the fully abstract model (by which we mean the inequationally fully abstract order-extensional model, which Milner proved to be uniquely specified up to isomorphism by these properties [20]). The problem is to understand what should be meant by a "semantic characterization". Our view is that the essential content of the problem, what makes it important, is that it calls for a semantic characterization of sequential, functional computation at hig...
Observable Sequentiality and Full Abstraction
- In Proceedings of POPL ’92
, 1992
"... ion Robert Cartwright Matthias Felleisen Department of Computer Science Rice University Houston, TX 77251-1892 Abstract One of the major challenges in denotational semantics is the construction of fully abstract models for sequential programming languages. For the past fifteen years, research o ..."
Abstract
-
Cited by 38 (5 self)
- Add to MetaCart
ion Robert Cartwright Matthias Felleisen Department of Computer Science Rice University Houston, TX 77251-1892 Abstract One of the major challenges in denotational semantics is the construction of fully abstract models for sequential programming languages. For the past fifteen years, research on this problem has focused on developing models for PCF, an idealized functional programming language based on the typed lambda calculus. Unlike most practical languages, PCF has no facilities for observing and exploiting the evaluation order of arguments in procedures. Since we believe that such facilities are crucial for understanding the nature of sequential computation, this paper focuses on a sequential extension of PCF (called SPCF) that includes two classes of control operators: error generators and escape handlers. These new control operators enable us to construct a fully abstract model for SPCF that interprets higher types as sets of error-sensitive functions instead of continuous...
Correspondence between Operational and Denotational Semantics
- Handbook of Logic in Computer Science
, 1995
"... This course introduces the operational and denotational semantics of PCF and examines the relationship between the two. Topics: Syntax and operational semantics of PCF, Activity Lemma, undefinability of parallel or; Context Lemma (first principles proof) and proof by logical relations Denotational ..."
Abstract
-
Cited by 21 (0 self)
- Add to MetaCart
This course introduces the operational and denotational semantics of PCF and examines the relationship between the two. Topics: Syntax and operational semantics of PCF, Activity Lemma, undefinability of parallel or; Context Lemma (first principles proof) and proof by logical relations Denotational semantics of PCF induced by an interpretation; (standard) Scott model, adequacy, weak adequacy and its proof (by a computability predicate) Domain Theory up to SFP and Scott domains; non full abstraction of the standard model, definability of compact elements and full abstraction for PCFP (PCF + parallel or), properties of order-extensional (continuous) models of PCF, Milner's model and Mulmuley's construction (excluding proofs) Additional topics (time permitting): results on pure simply-typed lambda calculus, Friedman 's Completeness Theorem, minimal model, logical relations and definability, undecidability of lambda definability (excluding proof), dI-domains and stable functions Homepa...
Relational Properties of Recursively Defined Domains
- In 8th Annual Symposium on Logic in Computer Science
, 1993
"... This paper describes a mixed induction/co-induction property of relations on recursively defined domains. We work within a general framework for relations on domains and for actions of type constructors on relations introduced by O'Hearn and Tennent [20], and draw upon Freyd's analysis [7] of recurs ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
This paper describes a mixed induction/co-induction property of relations on recursively defined domains. We work within a general framework for relations on domains and for actions of type constructors on relations introduced by O'Hearn and Tennent [20], and draw upon Freyd's analysis [7] of recursive types in terms of a simultaneous initiality/finality property. The utility of the mixed induction/co-induction property is demonstrated by deriving a number of families of proof principles from it. One instance of the relational framework yields a family of induction principles for admissible subsets of general recursively defined domains which extends the principle of structural induction for inductively defined sets. Another instance of the framework yields the co-induction principle studied by the author in [22], by which equalities between elements of recursively defined domains may be proved via `bisimulations'. 1 Introduction A characteristic feature of higher-order functional lan...
A Relational Account of Call-by-Value Sequentiality
- IN: PROC. 12TH SYMP. LOGIC IN COMPUTER SCIENCE
, 1999
"... We construct a model for FPC, a purely functional, sequential, call-by-value language. The model is built from partial continuous functions, in the style of Plotkin, further constrained to be uniform with respect to a class of logical relations. We prove that the model is fully abstract. ..."
Abstract
-
Cited by 13 (2 self)
- Add to MetaCart
We construct a model for FPC, a purely functional, sequential, call-by-value language. The model is built from partial continuous functions, in the style of Plotkin, further constrained to be uniform with respect to a class of logical relations. We prove that the model is fully abstract.
Typed closure conversion preserves observational equivalence
, 2008
"... Language-based security relies on the assumption that all potential attacks are bound by the rules of the language in question. When programs are compiled into a different language, this is true only if the translation process preserves observational equivalence. We investigate the problem of fully ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
Language-based security relies on the assumption that all potential attacks are bound by the rules of the language in question. When programs are compiled into a different language, this is true only if the translation process preserves observational equivalence. We investigate the problem of fully abstract compilation, i.e., compilation that both preserves and reflects observational equivalence. In particular, we prove that typed closure conversion for the polymorphic λ-calculus with existential and recursive types is fully abstract. Our proof uses operational techniques in the form of a step-indexed logical relation and construction of certain wrapper terms that “back-translate ” from target values to source values. Although typed closure conversion has been assumed to be fully abstract, we are not aware of any previous result that actually proves this.
Games and full abstraction for PCF: preliminary announcement
, 1993
"... The Full Abstraction Problem for PCF [14, 12, 4, 8] is one of the longest-standing problems in the semantics of programming languages. There is quite widespread agreement that it is one of the most difficult; there is much less agreement as to what exactly the problem is, or more particularly as to ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
The Full Abstraction Problem for PCF [14, 12, 4, 8] is one of the longest-standing problems in the semantics of programming languages. There is quite widespread agreement that it is one of the most difficult; there is much less agreement as to what exactly the problem is, or more particularly as to the precise criteria for a solution. The usual formulation is that one wants a "semantic characterization " of the fully abstract model (by which we mean the inequationally fully abstract order-extensional model, which Milner proved to be uniquely specified up to isomorphism by these properties [12]). The problem is to understand what should be meant by a "semantic characterization". Our view is that the essential content of the problem, what makes it important, is that it calls for a semantic characterization of sequential, functional computation at higher types. The phrase "sequential functional computation " deserves careful consideration. On the one hand, sequentiality refers to a computational process extended over time, not a mere function; on the other hand, we want to capture just those sequential computations in which the different parts or "modules " interact with each other in a purely functional fashion.
Towards Machine-checked Compiler Correctness for Higher-order Pure Functional Languages
- CSL '94, European Association for Computer Science Logic, Springer LNCS
, 1994
"... . In this paper we show that the critical part of a correctness proof for implementations of higher--order functional languages is amenable to machine--assisted proof. An extended version of the lambdacalculus is considered, and the congruence between its direct and continuation semantics is proved. ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
. In this paper we show that the critical part of a correctness proof for implementations of higher--order functional languages is amenable to machine--assisted proof. An extended version of the lambdacalculus is considered, and the congruence between its direct and continuation semantics is proved. The proof has been constructed with the help of a generic theorem prover --- Isabelle. The major part of the problem lies in establishing the existence of predicates which describe the congruence. This has been solved using Milne's inclusive predicate strategy [5]. The most important intermediate results and the main theorem as derived by Isabelle are quoted in the paper. Keywords: Compiler Correctness, Theorem Prover, Congruence Proof, Denotational Semantics, Lambda Calculus 1 Introduction Much of the work done previously in compiler correctness concerns restricted subsets of imperative languages. Some studies involve machine--checked correctness---e.g. Cohn [1], [2]. A lot of research h...

