Results 1 - 10
of
14
Cut-Elimination in the Strict Intersection Type Assignment System is Strongly Normalising
- NOTRE DAME J. OF FORMAL LOGIC
, 2004
"... This paper defines reduction on derivations (cut-elimination) in the Strict Intersection Type Assignment System of [1] and shows a strong normalisation result for this reduction. Using this result, new proofs are given for the approximation theorem and the characterisation of normalisability of term ..."
Abstract
-
Cited by 10 (7 self)
- Add to MetaCart
This paper defines reduction on derivations (cut-elimination) in the Strict Intersection Type Assignment System of [1] and shows a strong normalisation result for this reduction. Using this result, new proofs are given for the approximation theorem and the characterisation of normalisability of terms, using intersection types.
Normalisation, Approximation, and Semantics for Combinator Systems
- Theoretical Computer Science
, 2003
"... This paper studies normalization of typeable terms and the relation between approximation semantics and filter models for Combinator Systems. It presents notions of approximants for terms, intersection type assignment, and reduction on type derivations; the last will be proved to be strongly normali ..."
Abstract
-
Cited by 8 (8 self)
- Add to MetaCart
This paper studies normalization of typeable terms and the relation between approximation semantics and filter models for Combinator Systems. It presents notions of approximants for terms, intersection type assignment, and reduction on type derivations; the last will be proved to be strongly normalizable. With this result, it is shown that, for every typeable term, there exists an approximant with the same type, and a characterization of the normalization behaviour of terms using their assignable types is given. Then the two semantics are defined and compared, and it is shown that the approximants semantics is fully abstract but the filter semantics is not.
Type Assignment and Termination of Interaction Nets
"... Interaction nets have proved to be a useful tool for the study of computational aspects of different formalisms (e.g. -calculus, term rewriting systems), but they are also a programming paradigm in themselves, and this is actually how they were introduced by Lafont. In this paper we consider semi-si ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
Interaction nets have proved to be a useful tool for the study of computational aspects of different formalisms (e.g. -calculus, term rewriting systems), but they are also a programming paradigm in themselves, and this is actually how they were introduced by Lafont. In this paper we consider semi-simple interaction nets as a programming language, and present a type assignment system using intersection types. First we show that interactions preserve types (i.e. the system enjoys subject reduction), and we compare this type assignment system with the intersection systems for -calculus and term rewriting systems. Then we define a recursion scheme that ensures termination of all interaction sequences. By relaxing the scheme and using the type assignment system, we derive another sufficient condition for termination of interaction nets. Finally, we show that although the type system based on general intersection types is not decidable, its restriction to rank 2 types is, and we give an algo...
Polymorphic Intersection Type Assignment for Rewite Systems with Intersection and beta-rule (Extended Abstract
- In TYPES’99. LNCS
, 2000
"... Abstract. We define two type assignment systems for first-order rewriting extended with application,-abstraction, and-reduction (TRS). The types used in these systems are a combination of (-free) intersection and polymorphic types. The first system is the general one, for which we prove a subject re ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Abstract. We define two type assignment systems for first-order rewriting extended with application,-abstraction, and-reduction (TRS). The types used in these systems are a combination of (-free) intersection and polymorphic types. The first system is the general one, for which we prove a subject reduction theorem and show that all typeable terms are strongly normalisable. The second is a decidable subsystem of the first, by restricting types to Rank 2. For this system we define, using an extended notion of unification, a notion of principal type, and show that type assignment is decidable.
Rank 2 Types for Term Graph Rewriting (Extended Abstract)
"... We define a notion of type assignment with polymorphic intersection types of rank 2 fora term graph rewriting language that expresses sharing and cycles. We show that type assignment is decidable through defining, using the extended notion of unification from [5],a notion of principal pair which gen ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
We define a notion of type assignment with polymorphic intersection types of rank 2 fora term graph rewriting language that expresses sharing and cycles. We show that type assignment is decidable through defining, using the extended notion of unification from [5],a notion of principal pair which generalizes ml's principal type property.
Approximation Semantics and Expressive Predicate Assignment for Object-Oriented Programming (Extended Abstract)
"... Abstract. We consider a semantics for a class-based object-oriented calculus based upon approximation; since in the context of LC such a semantics enjoys a strong correspondence with intersection type assignment systems, we also define such a system for our calculus and show that it is sound and com ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
Abstract. We consider a semantics for a class-based object-oriented calculus based upon approximation; since in the context of LC such a semantics enjoys a strong correspondence with intersection type assignment systems, we also define such a system for our calculus and show that it is sound and complete. We establish the link with between type (we use the terminology predicate here) assignment and the approximation semantics by showing an approximation result, which leads to a sufficient condition for head-normalisation and termination. We show the expressivity of our predicate system by defining an encoding of Combinatory Logic (and so also LC) into our calculus. We show that this encoding preserves predicate-ability and also that our system characterises the normalising and strongly normalising terms for this encoding, demonstrating that the great analytic capabilities of these predicates can be applied to OO. 1
Rank 2 types for term graph rewriting
- In TIP’02, volume 75 of ENTCS
, 2003
"... We define a notion of type assignment with polymorphic intersection types of rank 2 for a term graph rewriting language that expresses sharing and cycles. We show that type assignment is decidable through defining, using the extended notion of unification from [5], a notion of principal pair which g ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We define a notion of type assignment with polymorphic intersection types of rank 2 for a term graph rewriting language that expresses sharing and cycles. We show that type assignment is decidable through defining, using the extended notion of unification from [5], a notion of principal pair which generalizes ML’s principal type property.
Rewrite Systems with Abstraction and β-rule: Types, Approximants and Normalization
"... ion and fi-rule: Types, Approximants and Normalization Steffen van Bakel 1 Franco Barbanera 2 Maribel Fernandez 3 1 Department of Computing, Imperial College, 180 Queens Gate, London SW7 2BZ, svb@doc.ic.ac.uk 2 Dipartimento di Informatica, Universita degli Studi di Torino, Corso Svizzera 185, 10149 ..."
Abstract
- Add to MetaCart
ion and fi-rule: Types, Approximants and Normalization Steffen van Bakel 1 Franco Barbanera 2 Maribel Fernandez 3 1 Department of Computing, Imperial College, 180 Queens Gate, London SW7 2BZ, svb@doc.ic.ac.uk 2 Dipartimento di Informatica, Universita degli Studi di Torino, Corso Svizzera 185, 10149 Torino, Italia, barba@di.unito.it 3 DMI - LIENS (CNRS URA 1327), Ecole Normale Superieure, 45, rue d'Ulm, 75005 Paris, France, maribel@ens.fr Abstract In this paper we define and study intersection type assignment systems for first-order rewriting extended with application, -abstraction, and fi-reduction (TRS fi). One of the main results presented is that, using a suitable notion of approximation of terms, any typeable term of a TRS fi that satisfies a general scheme for recursive definitions has an approximant of the same type. From this result we deduce, for different classes of typeable terms, a head-normalization and a normalization theorem. Introduction Lambda Calculus (LC...
Type Systems for Programming Languages
, 2001
"... These notes belong to the course Type Systems for Programming Languages, given to fourth year students in Computing and Joint Mathematics and Computing with some experience in reasoning and logic, and students in the Advanced Masters programme at the Department of Computing, Imperial College, London ..."
Abstract
- Add to MetaCart
These notes belong to the course Type Systems for Programming Languages, given to fourth year students in Computing and Joint Mathematics and Computing with some experience in reasoning and logic, and students in the Advanced Masters programme at the Department of Computing, Imperial College, London. The course is intended for students interested in theoretical computer science, who possess some knowledge of logic. No prior knowledge on type systems or proof techniques is assumed, other than being familiar with the principle of induction. Aims • To lay out in detail the design of type assignment systems for programming languages. • To focus on the importance of a sound theoretical framework, in order to be able to reason about properties of a typed program. • To understand the concepts of: type checking, type reconstruction, polymorphism, type derivation, typeability, typing of recursive functions, termination in the context of typeability, and undecidable systems. • To study various systems and various languages, and to compare those and to select.
A Type-based Trace Analysis for Java
"... The intersection type discipline (ITD) is a well established one in the field of the Lambda Calculus (LC) and the functional programming paradigm. It has also been extended to Term Rewriting Systems (TRS) and more recently to object calculi and sequent calculi. We continue this trend by applying the ..."
Abstract
- Add to MetaCart
The intersection type discipline (ITD) is a well established one in the field of the Lambda Calculus (LC) and the functional programming paradigm. It has also been extended to Term Rewriting Systems (TRS) and more recently to object calculi and sequent calculi. We continue this trend by applying the techniques of ITD to the analysis of the (class based) object-oriented (OO) programming paradigm: specifically, we study a small core calculus for Java which is a restriction of Featherweight Java by removing casts, for which using ITD we define an intersection type system that traces method and field calls. Type assignment in this system is closed under reduction and expansion, allowing for a type-based semantics for programs. The main contribution of this paper is an approximation result for this programming model, linking approximation semantics with trace semantics, which we achieve by defining a notion of reduction on type derivations that is strongly normalising (as for LC and TRS). This result demonstrates a direct correspondence between a trace semantics for programs and their types, and opens up the possibility of both abstract interpretation and detailed type-based analyses for OO. We show how the approximation result facilitates one such analysis- a characterisation of normalisation and termination. In order to demonstrate that our framework constitutes a practical approach to program analysis, we define a restriction of our type system which is essentially equivalent to Curry’s system for the Lambda Calculus (functional programming), and show that a principal typings property holds. We show that our system is expressive by giving an encoding of Combinatory Logic (and thereby, indirectly, the Lambda Calculus) into our calculus which preserves type assignment. The definition of principal typings for this system leads straightforwardly to a decidable type inference algorithm, for which we have a reference implementation in ML.

