Results 1  10
of
13
Completeness and Partial Soundness Results for Intersection & Union Typing for λµ ˜µ
 Annals of Pure and Applied Logic
"... This paper studies intersection and union type assignment for the calculus λµ ˜µ [17], a proofterm syntax for Gentzen’s classical sequent calculus, with the aim of defining a typebased semantics, via setting up a system that is closed under conversion. We will start by investigating what the minima ..."
Abstract

Cited by 8 (7 self)
 Add to MetaCart
(Show Context)
This paper studies intersection and union type assignment for the calculus λµ ˜µ [17], a proofterm syntax for Gentzen’s classical sequent calculus, with the aim of defining a typebased semantics, via setting up a system that is closed under conversion. We will start by investigating what the minimal requirements are for a system for λµ ˜µ to be closed under subject expansion; this coincides with System M ∩ ∪ , the notion defined in [19]; however, we show that this system is not closed under subject reduction, so our goal cannot be achieved. We will then show that System M ∩ ∪ is also not closed under subjectexpansion, but can recover from this by presenting System M C as an extension of M ∩ ∪ (by adding typing rules) and showing that it satisfies subject expansion; it still lacks subject reduction. We show how to restrict M ∩ ∪ so that it satisfies subjectreduction as well by limiting the applicability to type assignment rules, but only when limiting reduction to (confluent) callbyname or callbyvalue reduction M ∩ ∪ ; in restricting the system, we sacrifice subject expansion. These results combined show that a sound and complete intersection and union type assignment system cannot be defined for λµ ˜µ with respect to full reduction.
Strict Intersection Types for the Lambda Calculus
, 2010
"... This paper will show the usefulness and elegance of strict intersection types for the Lambda Calculus; these are strict in the sense that they are the representatives of equivalence classes of types in the BCDsystem [15]. We will focus on the essential intersection type assignment; this system is a ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
(Show Context)
This paper will show the usefulness and elegance of strict intersection types for the Lambda Calculus; these are strict in the sense that they are the representatives of equivalence classes of types in the BCDsystem [15]. We will focus on the essential intersection type assignment; this system is almost syntax directed, and we will show that all major properties hold that are known to hold for other intersection systems, like the approximation theorem, the characterisation of (head/strong) normalisation, completeness of type assignment using filter semantics, strong normalisation for cutelimination and the principal pair property. In part, the proofs for these properties are new; we will briefly compare the essential system with other existing systems.
Approximation Semantics and Expressive Predicate Assignment for ObjectOriented Programming (Extended Abstract)
"... Abstract. We consider a semantics for a classbased objectoriented 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 5 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We consider a semantics for a classbased objectoriented 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 headnormalisation 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 predicateability 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
Semantic Predicate Types and Approximation for Classbased Object Oriented Programming
"... Abstract. We define a small functional calculus that expresses classbased object oriented features and is modelled on the similar calculi of Featherweight Java [34] and Middleweight Java [15], which are ultimately based upon the Java programming language. We define a predicate system, similar to th ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
Abstract. We define a small functional calculus that expresses classbased object oriented features and is modelled on the similar calculi of Featherweight Java [34] and Middleweight Java [15], which are ultimately based upon the Java programming language. We define a predicate system, similar to the one defined in [10], and show subject reduction and expansion, and argue that program analysis systems can be built on top of this system. Generalising the concept of approximant from the Lambda Calculus, we show that all expressions that we can assign a predicate to have an approximant that satisfies the same predicate. From this, a characterisation of (head)normalisation follows. 1
A Typebased 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) objectoriented (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 typebased 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 typebased 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.
AN APPROXIMATION RESULT FOR JAVA VIA STRONGLY NORMALISING INTERSECTION TYPE DERIVATIONS (Extended Abstract)
"... The intersection type discipline (ITD) is wellestablished for 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 ..."
Abstract
 Add to MetaCart
(Show Context)
The intersection type discipline (ITD) is wellestablished for 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) objectoriented (OO) programming paradigm: specifically, we study a small core calculus for Java which is a restriction of Featherweight Java by removing casts. Our main contribution is an approximation result for this programming model, demonstrating a direct correspondence between types and the functional behaviour of programs. This opens the possibility for typebased abstract interpretation and termination analysis for OO. We achieve this result by defining a notion of reduction on type derivations that is strongly normalising, a technique which has also been used for LC and TRS. Finally, we show how the approximation result facilitates a typebased characterisation of (weak) normalisation and termination. We also discuss the relationship between our calculus and TRS, highlighting how our result extends previous work in this area.
Semantic Types and Approximation for Featherweight Java
"... We consider semantics for the classbased objectoriented calculus Featherweight Java based upon approximation. We also define an intersection type assignment systems for this calculus and show that it is sound and complete, i.e. types are preserved under conversion. We establish the link with betwe ..."
Abstract
 Add to MetaCart
(Show Context)
We consider semantics for the classbased objectoriented calculus Featherweight Java based upon approximation. We also define an intersection type assignment systems for this calculus and show that it is sound and complete, i.e. types are preserved under conversion. We establish the link with between type assignment and the approximation semantics by showing an approximation result, which leads to a sufficient condition for headnormalisation and termination. We show the expressivity of our predicate system by defining an encoding of Combinatory Logic into our calculus. We show that this encoding preserves predicateability and also that our system characterises the normalising and strongly normalising terms for this encoding. We thus demonstrate that the great analytic capabilities of intersection types can be applied to the context of classbased object orientation.
Semantic Types for Classbased Objects
, 2012
"... We investigate semanticsbased type assignment for classbased objectoriented programming. Our motivation is developing a theoretical basis for practical, expressive, typebased analysis of the functional behaviour of objectoriented programs. We focus our research using Featherweight Java, studyi ..."
Abstract
 Add to MetaCart
(Show Context)
We investigate semanticsbased type assignment for classbased objectoriented programming. Our motivation is developing a theoretical basis for practical, expressive, typebased analysis of the functional behaviour of objectoriented programs. We focus our research using Featherweight Java, studying two notions of type assignment: one using intersection types, the other a ‘logical ’ restriction of recursive types. We extend to the objectoriented setting some existing results for intersection type systems. In doing so, we contribute to the study of denotational semantics for objectoriented languages. We define a model for Featherweight Java based on approximation, which we relate to our intersection type system via an Approximation Result, proved using a notion of reduction on typing derivations that we show to be strongly normalising. We consider restrictions of our system for which type assignment is decidable, observing that the implicit recursion present in the class mechanism is a limiting factor in making practical use of the expressive power of intersection types. To overcome this, we consider type assignment based on recursive types. Such types traditionally suffer from the inability to characterise convergence, a key element of our approach. To obtain a se
0 Least Upper Bounds on the Size of Confluence and ChurchRosser Diagrams in Term Rewriting and λCalculus 1
"... We study confluence and the ChurchRosser property in term rewriting and λcalculus with explicit bounds on term sizes and reduction lengths. Given a system R, we are interested in the lengths of the reductions in the smallest valleys t → ∗ s ′ ∗ ← t ′ expressed as a function: — for confluence a ..."
Abstract
 Add to MetaCart
We study confluence and the ChurchRosser property in term rewriting and λcalculus with explicit bounds on term sizes and reduction lengths. Given a system R, we are interested in the lengths of the reductions in the smallest valleys t → ∗ s ′ ∗ ← t ′ expressed as a function: — for confluence a function vsR(m, n) where the valleys are for peaks t ∗ ← s → ∗ t ′ with s of size at most m and the reductions of maximum length n, and — for the ChurchRosser property a function cvsR(m, n) where the valleys are for conversions t ↔ ∗ t ′ with t and t ′ of size at most m and the conversion of maximum length n. For confluent term rewriting systems (TRSs), we prove that vsR is a total computable function, and for linear such systems that cvsR is a total computable function. Conversely, we show that every total computable function is the lower bound on the functions vsR(m, n) and cvsR(m, n) for some TRS R: In particular, we show that for every total computable function ϕ: N − → N there is a TRS R with a single term s such that vsR(s, n) ≥ ϕ(n) and cvsR(n, n) ≥ ϕ(n) for all n. For orthogonal TRSs R we prove that there is a constant k such that (a) vsR(m, n) is bounded from above by a function exponential in k and (b) cvsR(m, n) is bounded from above by a function in the fourth level of the Grzegorczyk hierarchy. Similarly, for λcalculus, we show that vsR(m, n) is bounded from above by a function in the fourth level of the Grzegorczyk hierarchy.