184 research outputs found
Extensional Collapse Situations I: non-termination and unrecoverable errors
We consider a simple model of higher order, functional computation over the
booleans. Then, we enrich the model in order to encompass non-termination and
unrecoverable errors, taken separately or jointly. We show that the models so
defined form a lattice when ordered by the extensional collapse situation
relation, introduced in order to compare models with respect to the amount of
"intensional information" that they provide on computation. The proofs are
carried out by exhibiting suitable applied {\lambda}-calculi, and by exploiting
the fundamental lemma of logical relations
Intensional and Extensional Semantics of Bounded and Unbounded Nondeterminism
We give extensional and intensional characterizations of nondeterministic
functional programs: as structure preserving functions between biorders, and as
nondeterministic sequential algorithms on ordered concrete data structures
which compute them. A fundamental result establishes that the extensional and
intensional representations of non-deterministic programs are equivalent, by
showing how to construct a unique sequential algorithm which computes a given
monotone and stable function, and describing the conditions on sequential
algorithms which correspond to continuity with respect to each order.
We illustrate by defining may and must-testing denotational semantics for a
sequential functional language with bounded and unbounded choice operators. We
prove that these are computationally adequate, despite the non-continuity of
the must-testing semantics of unbounded nondeterminism. In the bounded case, we
prove that our continuous models are fully abstract with respect to may and
must-testing by identifying a simple universal type, which may also form the
basis for models of the untyped lambda-calculus. In the unbounded case we
observe that our model contains computable functions which are not denoted by
terms, by identifying a further "weak continuity" property of the definable
elements, and use this to establish that it is not fully abstract
Fully abstract models for effectful Ī»-calculi via category-theoretic logical relations
We present a construction which, under suitable assumptions, takes a model of Moggiās computational Ī»-calculus with sum types, effect operations and primitives, and yields a model that is adequate and fully abstract. The construction, which uses the theory of fibrations, categorical glueing, ā¤ā¤-lifting, and ā¤ā¤-closure, takes inspiration from OāHearn & Rieckeās fully abstract model for PCF. Our construction can be applied in the category of sets and functions, as well as the category of diffeological spaces and smooth maps and the category of quasi-Borel spaces, which have been studied as semantics for differentiable and probabilistic programming
Full Abstraction, Totality and PCF
Inspired by a question of Riecke, we consider the interaction of totality and
full abstraction, asking whether full abstraction holds for Scottās model of cpos
and continuous functions if one restricts to total programs and total observations.
The answer is negative, as there are distinct operational and denotational notions
of totality. However, when two terms are each total in both senses then they
are totally equivalent operationally i they are totally equivalent in the Scott
model. Analysing further, we consider sequential and parallel versions of PCF
and several models: Scottās model of continuous functions, Milnerās fully abstract
model of PCF and their e ective submodels. We investigate how totality di ers
between these models. Some apparently rather di cult open problems arise,
essentially concerning whether the sequential and parallel versions of PCF have
the same expressive power, in the sense of total equivalence
A Semantic analysis of control
This thesis examines the use of denotational semantics to reason about control flow in sequential, basically functional languages. It extends recent work in game semantics, in which programs are interpreted as strategies for computation by interaction with an environment.
Abramsky has suggested that an intensional hierarchy of computational features such as state, and their fully abstract models, can be captured as violations of the constraints on strategies in the basic functional model. Non-local control flow is shown to fit into this framework as the violation of strong and weak `bracketing' conditions, related to linear behaviour.
The language muPCF (Parigot's mu_lambda with constants and recursion) is adopted as a simple basis for higher-type, sequential computation with access to the flow of control. A simple operational semantics for both call-by-name and call-by-value evaluation is described. It is shown that dropping the bracketing condition on games models of PCF yields fully abstract models of muPCF.
The games models of muPCF are instances of a general construction based on a continuations monad on Fam(C), where C is a rational cartesian closed category with infinite products. Computational adequacy, definability and full abstraction can then be captured by simple axioms on C.
The fully abstract and universal models of muPCF are shown to have an effective presentation in the category of Berry-Curien sequential algorithms. There is further analysis of observational equivalence, in the form of a context lemma, and a characterization of the unique functor from the (initial) games model, which is an isomorphism on its (fully abstract) quotient. This establishes decidability of observational equivalence for finitary muPCF, contrasting with the undecidability of the analogous relation in pure PCF
An observationally complete program logic for imperative higher-order functions
We establish a strong completeness property called observational completeness of the program logic for imperative, higher-order functions introduced in [1]. Observational completeness states that valid assertions characterise program behaviour up to observational congruence, giving a precise correspondence between operational and axiomatic semantics. The proof layout for the observational completeness which uses a restricted syntactic structure called finite canonical forms originally introduced in game-based semantics, and characteristic formulae originally introduced in the process calculi, is generally applicable for a precise axiomatic characterisation of more complex program behaviour, such as aliasing and local state
- ā¦