7 research outputs found
On Isomorphism of "Functional" Intersection and Union Types
Type isomorphism is useful for retrieving library components, since a
function in a library can have a type different from, but isomorphic to, the
one expected by the user. Moreover type isomorphism gives for free the coercion
required to include the function in the user program with the right type. The
present paper faces the problem of type isomorphism in a system with
intersection and union types. In the presence of intersection and union,
isomorphism is not a congruence and cannot be characterised in an equational
way. A characterisation can still be given, quite complicated by the
interference between functional and non functional types. This drawback is
faced in the paper by interpreting each atomic type as the set of functions
mapping any argument into the interpretation of the type itself. This choice
has been suggested by the initial projection of Scott's inverse limit
lambda-model. The main result of this paper is a condition assuring type
isomorphism, based on an isomorphism preserving reduction.Comment: In Proceedings ITRS 2014, arXiv:1503.0437
Retractions in Intersection Types
This paper deals with retraction - intended as isomorphic embedding - in
intersection types building left and right inverses as terms of a lambda
calculus with a bottom constant. The main result is a necessary and sufficient
condition two strict intersection types must satisfy in order to assure the
existence of two terms showing the first type to be a retract of the second
one. Moreover, the characterisation of retraction in the standard intersection
types is discussed.Comment: In Proceedings ITRS 2016, arXiv:1702.0187
Toward Isomorphism of Intersection and Union types
This paper investigates type isomorphism in a lambda-calculus with
intersection and union types. It is known that in lambda-calculus, the
isomorphism between two types is realised by a pair of terms inverse one each
other. Notably, invertible terms are linear terms of a particular shape, called
finite hereditary permutators. Typing properties of finite hereditary
permutators are then studied in a relevant type inference system with
intersection and union types for linear terms. In particular, an isomorphism
preserving reduction between types is defined. Type reduction is confluent and
terminating, and induces a notion of normal form of types. The properties of
normal types are a crucial step toward the complete characterisation of type
isomorphism. The main results of this paper are, on one hand, the fact that two
types with the same normal form are isomorphic, on the other hand, the
characterisation of the isomorphism between types in normal form, modulo
isomorphism of arrow types.Comment: In Proceedings ITRS 2012, arXiv:1307.784
Isomorphism of "Functional" Intersection Types
Type isomorphism for intersection types is quite odd, since it is not a congruence and it does not extend type equality in the standard interpretation of types. The lack of congruence is due to the proof theoretic nature of the intersection introduction rule, which requires the same term to be the subject of both premises. A partial congruence can be recovered by introducing a suitable notion of type similarity. Type equality in standard models becomes included in type isomorphism whenever atomic types have "functional" interpretations, i.e. they are equivalent to arrow types. This paper characterises type isomorphism for a type system in which the equivalence between atomic types and arrow types is induced by the initial projections of the Scott\u27s model via the correspondence between inverse limit models and filter lambda-models