9 research outputs found
Extended ML: Past, present and future
An overview of past, present and future work on the Extended ML formal program development framework is given, with emphasis on two topics of current active research: the semantics of the Extended ML specification language, and tools to support formal program development
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
A Generalisation of Pre-Logical Predicates and Its Applications
This thesis proposes a generalisation of pre-logical predicates to
simply typed formal systems and their categorical models. We analyse
the three elements involved in pre-logical predicates --- syntax,
semantics and predicates --- within a categorical framework for typed
binding syntax and semantics. We then formulate generalised
pre-logical predicates and show two distinguishing properties: a)
equivalence with the basic lemma and b) closure of binary pre-logical
relations under relational composition.
To test the adequacy of this generalisation, we derive pre-logical
predicates for various calculi and their categorical models including
variations of lambda calculi and non-lambda calculi such as
many-sorted algebras as well as first-order logic. We then apply
generalised pre-logical predicates to characterising behavioural
equivalence. Examples of constructive data refinement of typed formal
systems are shown, where behavioural equivalence plays a crucial role
in achieving data abstraction
Logical Relations and Data Abstraction
The aim of this paper is to prove in the context of simple type theory that logical relations are sound and complete for a certain form of data abstraction: that given by equational specifications. Specifically we show that two implementations of an equationally specified abstract type are equivalent if and only if they are linked by a suitable logical relation. The form of equational specification we use allows us to introduce new types and operations of any order on these types, and to impose equations between terms, again of any order. Implementations are required to respect these equations up to a fairly general form of contextual equivalence, and two implementations are regarded as being equivalent if they produce the same contextual equivalence on terms of the enlarged language (in fact we show that there are several different ways of formulat..