Results 1 
5 of
5
A Uniform Approach to Domain Theory in Realizability Models
 Mathematical Structures in Computer Science
, 1996
"... this paper we provide a uniform approach to modelling them in categories of modest sets. To do this, we identify appropriate structure for doing "domain theory" in such "realizability models". In Sections 2 and 3 we introduce PCAs and define the associated "realizability" categories of assemblies an ..."
Abstract

Cited by 19 (6 self)
 Add to MetaCart
this paper we provide a uniform approach to modelling them in categories of modest sets. To do this, we identify appropriate structure for doing "domain theory" in such "realizability models". In Sections 2 and 3 we introduce PCAs and define the associated "realizability" categories of assemblies and modest sets. Next, in Section 4, we prepare for our development of domain theory with an analysis of nontermination. Previous approaches have used (relatively complicated) categorical formulations of partial maps for this purpose. Instead, motivated by the idea that A provides a primitive programming language, we consider a simple notion of "diverging" computation within A itself. This leads to a theory of divergences from which a notion of (computable) partial function is derived together with a lift monad classifying partial functions. The next task is to isolate a subcategory of modest sets with sufficient structure for supporting analogues of the usual domaintheoretic constructions. First, we expect to be able to interpret the standard constructions of total type theory in this category, so it should inherit cartesianclosure, coproducts and the natural numbers from modest sets. Second, it should interact well with the notion of partiality, so it should be closed under application of the lift functor. Third, it should allow the recursive definition of partial functions. This is achieved by obtaining a fixpoint object in the category, as defined in (Crole and Pitts 1992). Finally, although there is in principle no definitive list of requirements on such a category, one would like it to support more complicated constructions such as those required to interpret polymorphic and recursive types. The central part of the paper (Sections 5, 6, 7 and 9) is devoted to establish...
Using synthetic domain theory to prove operational properties of a polymorphic programming language based on strictness
 Manuscript
"... We present a simple and workable axiomatization of domain theory within intuitionistic set theory, in which predomains are (special) sets, and domains are algebras for a simple equational theory. We use the axioms to construct a relationally parametric settheoretic model for a compact but powerful ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
We present a simple and workable axiomatization of domain theory within intuitionistic set theory, in which predomains are (special) sets, and domains are algebras for a simple equational theory. We use the axioms to construct a relationally parametric settheoretic model for a compact but powerful polymorphic programming language, given by a novel extension of intuitionistic linear type theory based on strictness. By applying the model, we establish the fundamental operational properties of the language. 1.
Computational Adequacy for Recursive Types in Models of Intuitionistic Set Theory
 In Proc. 17th IEEE Symposium on Logic in Computer Science
, 2003
"... This paper provides a unifying axiomatic account of the interpretation of recursive types that incorporates both domaintheoretic and realizability models as concrete instances. Our approach is to view such models as full subcategories of categorical models of intuitionistic set theory. It is shown ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
This paper provides a unifying axiomatic account of the interpretation of recursive types that incorporates both domaintheoretic and realizability models as concrete instances. Our approach is to view such models as full subcategories of categorical models of intuitionistic set theory. It is shown that the existence of solutions to recursive domain equations depends upon the strength of the set theory. We observe that the internal set theory of an elementary topos is not strong enough to guarantee their existence. In contrast, as our first main result, we establish that solutions to recursive domain equations do exist when the category of sets is a model of full intuitionistic ZermeloFraenkel set theory. We then apply this result to obtain a denotational interpretation of FPC, a recursively typed lambdacalculus with callbyvalue operational semantics. By exploiting the intuitionistic logic of the ambient model of intuitionistic set theory, we analyse the relationship between operational and denotational semantics. We first prove an “internal ” computational adequacy theorem: the model always believes that the operational and denotational notions of termination agree. This allows us to identify, as our second main result, a necessary and sufficient condition for genuine “external ” computational adequacy to hold, i.e. for the operational and denotational notions of termination to coincide in the real world. The condition is formulated as a simple property of the internal logic, related to the logical notion of 1consistency. We provide useful sufficient conditions for establishing that the logical property holds in practice. Finally, we outline how the methods of the paper may be applied to concrete models of FPC. In doing so, we obtain computational adequacy results for an extensive range of realizability and domaintheoretic models.
Type Theory via Exact Categories (Extended Abstract)
 In Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science LICS '98
, 1998
"... Partial equivalence relations (and categories of these) are a standard tool in semantics of type theories and programming languages, since they often provide a cartesian closed category with extended definability. Using the theory of exact categories, we give a categorytheoretic explanation of why ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Partial equivalence relations (and categories of these) are a standard tool in semantics of type theories and programming languages, since they often provide a cartesian closed category with extended definability. Using the theory of exact categories, we give a categorytheoretic explanation of why the construction of a category of partial equivalence relations often produces a cartesian closed category. We show how several familiar examples of categories of partial equivalence relations fit into the general framework. 1 Introduction Partial equivalence relations (and categories of these) are a standard tool in semantics of programming languages, see e.g. [2, 5, 7, 9, 15, 17, 20, 22, 35] and [6, 29] for extensive surveys. They are usefully applied to give proofs of correctness and adequacy since they often provide a cartesian closed category with additional properties. Take for instance a partial equivalence relation on the set of natural numbers: a binary relation R ` N\ThetaN on th...
Semantic Orthogonality of Type Disciplines
, 1997
"... We consider a version of PCF, and prove, using both syntactic and semantic means, that the operational equivalences of the base language are preserved when the language is extended with sum and product types, with polymorphic types, and with recursive types. These theorems show that the additions to ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We consider a version of PCF, and prove, using both syntactic and semantic means, that the operational equivalences of the base language are preserved when the language is extended with sum and product types, with polymorphic types, and with recursive types. These theorems show that the additions to the type systems are orthogonal to the original language. 1 Introduction Type systems for programming languages are rarely monolithic: although a type system may be composed of many parts, each part can usually be understood on its own. Consider, for instance, the programming language Standard ML (SML) [22]. SML's type system includes base types of integers, reals, strings, and characters, and type constructors for lists, functions, tuples, references, exceptions, userdefined recursive datatypes, and polymorphism. On a syntactic level, the type rules of the parts do not interfere with one another: the typechecking rule for application, for example, uses only the fact that the operator is...