Results 1  10
of
26
Programming with Intersection Types and Bounded Polymorphism
, 1991
"... representing the official policies, either expressed or implied, of the U.S. Government. ..."
Abstract

Cited by 68 (4 self)
 Add to MetaCart
(Show Context)
representing the official policies, either expressed or implied, of the U.S. Government.
A Complete Characterization of Complete IntersectionType Theories (Extended Abstract)
 ACM TOCL
, 2000
"... M. DEZANICIANCAGLINI Universita di Torino, Italy F. HONSELL Universita di Udine, Italy F. ALESSI Universita di Udine, Italy Abstract We characterize those intersectiontype theories which yield complete intersectiontype assignment systems for lcalculi, with respect to the three canonical ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
(Show Context)
M. DEZANICIANCAGLINI Universita di Torino, Italy F. HONSELL Universita di Udine, Italy F. ALESSI Universita di Udine, Italy Abstract We characterize those intersectiontype theories which yield complete intersectiontype assignment systems for lcalculi, with respect to the three canonical settheoretical semantics for intersectiontypes: the inference semantics, the simple semantics and the Fsemantics. Keywords Lambda Calculus, Intersection Types, Semantic Completeness, Filter Structures. 1 Introduction Intersectiontypes disciplines originated in [6] to overcome the limitations of Curry 's type assignment system and to provide a characterization of strongly normalizing terms of the lcalculus. But very early on, the issue of completeness became crucial. Intersectiontype theories and filter lmodels have been introduced, in [5], precisely to achieve the completeness for the type assignment system l" BCD W , with respect to Scott's simple semantics. And this result, ...
A Semantics for Static Type Inference
 Information and Computation
, 1993
"... Curry's system for Fdeducibility is the basis for static type inference algorithms for programming languages such as ML. If a natural "preservation of types by conversion" rule is added to Curry's system, it becomes undecidable, but complete relative to a variety of model cl ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
(Show Context)
Curry's system for Fdeducibility is the basis for static type inference algorithms for programming languages such as ML. If a natural "preservation of types by conversion" rule is added to Curry's system, it becomes undecidable, but complete relative to a variety of model classes. We show completeness for Curry's system itself, relative to an extended notion of model that validates reduction but not conversion.
On Strong Normalization in the Intersection Type Discipline (Extended Abstract)
"... We give a proof for the strong normalization result in the intersection type discipline, which we obtain by putting together some wellknown results and proof techniques. Our proof uses a variant of Klop's extended calculus, for which it is shown that strong normalization is equivalent to ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
We give a proof for the strong normalization result in the intersection type discipline, which we obtain by putting together some wellknown results and proof techniques. Our proof uses a variant of Klop's extended calculus, for which it is shown that strong normalization is equivalent to weak normalization. This is
J.B.: A complete realisability semantics for intersection types and infinite expansion variables (2008), http://www.macs.hw.ac.uk/ ∼ fairouz/papers/drafts/compsembig.pdf
"... Abstract. Expansion was introduced at the end of the 1970s for calculating principal typings for λterms in intersection type systems. Expansion variables (Evariables) were introduced at the end of the 1990s to simplify and help mechanise expansion. Recently, Evariables have been further simplifie ..."
Abstract

Cited by 6 (6 self)
 Add to MetaCart
(Show Context)
Abstract. Expansion was introduced at the end of the 1970s for calculating principal typings for λterms in intersection type systems. Expansion variables (Evariables) were introduced at the end of the 1990s to simplify and help mechanise expansion. Recently, Evariables have been further simplified and generalised to also allow calculating other type operators than just intersection. There has been much work on semantics for intersection type systems, but only one such work on intersection type systems with Evariables. That work established that building a semantics for Evariables is very challenging. Because it is unclear how to devise a space of meanings for Evariables, that work developed instead a space of meanings for types that is hierarchical in the sense of having many degrees (denoted by indexes). However, although the indexed calculus helped identify the serious problems of giving a semantics for expansion variables, the sound realisability semantics was only complete when one single Evariable is used and furthermore, the universal type ω was not allowed. In this paper, we are able to overcome these challenges. We develop a realisability semantics where we allow an arbitrary (possibly infinite) number of expansion variables and where ω is present. We show the soundness and completeness of our proposed semantics. 1
Completeness of Intersection and Union Type Assignment Systems for CallByValue LambdaModels
"... We study a version of intersection and union type assignment system, unionelimination rule of which is allowed only when subject of its major premiss is a value of callbyvalue calculus. The system is shown to be sound and complete under some abstract notion of membership relation dened over simpl ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
We study a version of intersection and union type assignment system, unionelimination rule of which is allowed only when subject of its major premiss is a value of callbyvalue calculus. The system is shown to be sound and complete under some abstract notion of membership relation dened over simple semantics for callby value models, and to be invariant under callbyvalue conversion of subjects. We prove it by constructing a lter callbyvalue model. 1 Introduction Coppo et al. [5] introduced an intersection type assignment system as an extension of Curry's simple type assignment system (see [12, 11, 7] for expositions) to deal with the functional characters of solvable terms. In addition to the simple types constructed from typevariables and ! , the intersection types contain a typeconstant ! and types constructed by a constructor ^ (their intended meanings are universe and intersection of Partly supported by a GrantinAid for Scientic Research (C) No.09640253 o...
A Note on Intersection Types
, 1995
"... : Following J.L. Krivine, we call D the type inference system introduced by M. Coppo and M. Dezani where types are propositional formulae written with conjunction and implication from propositional letters  there is no special constant !. We show here that the wellknown result on D, stating th ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
: Following J.L. Krivine, we call D the type inference system introduced by M. Coppo and M. Dezani where types are propositional formulae written with conjunction and implication from propositional letters  there is no special constant !. We show here that the wellknown result on D, stating that any term which possesses a type in D strongly normalises does not need a new reducibility argument, but is a mere consequence of strong normalization for natural deduction restricted to the conjunction and implication. The proof of strong normalization for natural deduction, and therefore our result, as opposed to reducibility arguments, can be carried out within primitive recursive arithmetic. On the other hand, this enlightens the relation between & and & that G. Pottinger has already wondered about, and can be applied to other situations, like the lambda calculus with multiplicities of G. Boudol. Keywords: Lambda calculus , intersection types , strong normalization. Logic, proof th...
Refinement Types for Logical Frameworks
, 2010
"... The logical framework LF and its metalogic Twelf can be used to encode and reason about a wide variety of logics, languages, and other deductive systems in a formal, machinecheckable way. Recent studies have shown that MLlike languages can profitably be extended with a notion of subtyping called r ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
The logical framework LF and its metalogic Twelf can be used to encode and reason about a wide variety of logics, languages, and other deductive systems in a formal, machinecheckable way. Recent studies have shown that MLlike languages can profitably be extended with a notion of subtyping called refinement types. A refinement type discipline uses an extra layer of term classification above the usual type system to more accurately capture certain properties of terms. I propose that adding refinement types to LF is both useful and practical. To support the claim, I exhibit an extension of LF with refinement types called LFR, work out important details of its metatheory, delineate a practical algorithm for refinement type reconstruction, and present several case studies that highlight the utility of refinement types for formalized mathematics. In the end I find that refinement types and LF are a match made in heaven: refinements enable many rich new modes of expression, and the simplicity of
Developing Realisability Semantics for Intersection Types and Expansion Variables
"... Abstract. Expansion was invented at the end of the 1970s for calculating principal typings for λterms in type systems with intersection types. Expansion variables (Evariables) were invented at the end of the 1990s to simplify and help mechanize expansion. Recently, Evariables have been further si ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Expansion was invented at the end of the 1970s for calculating principal typings for λterms in type systems with intersection types. Expansion variables (Evariables) were invented at the end of the 1990s to simplify and help mechanize expansion. Recently, Evariables have been further simplified and generalized to also allow calculating other type operators than just intersection. There has been much work on denotational semantics for type systems with intersection types, but none whatsoever before now on type systems with Evariables. Building a semantics for Evariables turns out to be challenging. To simplify the problem, we consider only Evariables, and not the corresponding operation of expansion. We develop a realizability semantics where each use of an Evariable in a type corresponds to an independent level at which evaluation occurs in the λterm that is assigned the type. In the λterm being evaluated, the only interaction possible between portions at different levels is that higher level portions can be passed around but never applied to lower level portions. We apply this semantics to two intersection type systems. We show these systems are sound, that completeness does not hold for the first system, and completeness holds for the second system when only one Evariable is allowed (although it can be used many times and nested). As far as we know, this is the first study of a denotational semantics of intersection type systems with Evariables (using realizability or any other approach) and of the difficulties involved. 1