Intersection and Union Types: Syntax and Semantics

Type assignment systems with intersection and union types are introduced. Although the subject reduction property with respect to s-reduction does not hold for a natural deduction-like system, we manage to overcome this problem in two, different ways. The first is to adopt a notion of parallel reduction, which is a refinement of Gross-Knuth reduction. The second is to introduce type theories to refine the system, among which is the theory called ? that induces an assignment system preserving s-reduction. This type assignment system further clarifies the relation with the intersection discipline through the decomposition, first, of a disjunctive type into a set of conjunctive types and, second, of a derivation in the new type assignment system into a set of derivations in the intersection type assignment system. For this system we propose three semantics and prove soundness and completeness theorems.

[1]  J. Roger Hindley,et al.  The Completeness Theorem for Typing lambda-Terms , 1983, Theor. Comput. Sci..

[2]  Mariangiola Dezani-Ciancaglini,et al.  Combining Type Disciplines , 1994, Ann. Pure Appl. Log..

[3]  Daniel Leivant Discrete polymorphism , 1990, LISP and Functional Programming.

[4]  John C. Reynolds,et al.  Preliminary design of the programming language Forsythe , 1988 .

[5]  Mariangiola Dezani-Ciancaglini,et al.  Filter Models for a Parallel and Non Deterministic Lambda-Calculus , 1993, MFCS.

[6]  M. E. Szabo,et al.  The collected papers of Gerhard Gentzen , 1969 .

[7]  Saul Kripke,et al.  A completeness theorem in modal logic , 1959, Journal of Symbolic Logic.

[8]  E. G. K. Lopez-Escobar,et al.  Proof functional connectives , 1985 .

[9]  Simona Ronchi Della Rocca,et al.  Characterization Theorems for a Filter Lambda Model , 1982, Inf. Control..

[10]  Dana S. Scott,et al.  Lectures on a Mathematical Theory of Computation , 1982 .

[11]  Christopher P. Wadsworth,et al.  The Relation Between Computational and Denotational Properties for Scott's Dinfty-Models of the Lambda-Calculus , 1976, SIAM J. Comput..

[12]  B. Pierce Programming with intersection types, union types, and polymorphism , 1991 .

[13]  John C. Mitchell,et al.  Kripke-Style Models for Typed lambda Calculus , 1991, Ann. Pure Appl. Log..

[14]  Ronald Harrop,et al.  Concerning formulas of the types A→B ν C,A →(Ex)B(x) in intuitionistic formal systems , 1960, Journal of Symbolic Logic.

[15]  M.Dezani Mdezani,et al.  Applicative Information Systems , 1983 .

[16]  Benjamin C. Pierce,et al.  A decision procedure for the subtype relation on intersection types with bounded variables , 1989 .

[17]  Corrado Böhm,et al.  Functional Programming and Combinatory Algebras , 1988, International Symposium on Mathematical Foundations of Computer Science.

[18]  Gérard Boudol,et al.  Lambda-Calculi for (Strict) Parallel Functions , 1994, Inf. Comput..

[19]  J. Roger Hindley Coppo-Dezani Types do not Correspond to Propositional Logic , 1984, Theor. Comput. Sci..

[20]  M. Dezani-Ciancaglini,et al.  Extended Type Structures and Filter Lambda Models , 1984 .

[21]  Mariangiola Dezani-Ciancaglini,et al.  Functional Characters of Solvable Terms , 1981, Math. Log. Q..

[22]  Alberto Ferrari,et al.  Type Inference, Abstract Interpretation and Strictness Analysis , 1993, Theor. Comput. Sci..

[23]  Samson Abramsky,et al.  Domain Theory in Logical Form , 1991, LICS.

[24]  Gérard Boudol,et al.  A lambda-calculus for parallel functions , 1990 .

[25]  Simona Ronchi Della Rocca,et al.  Principal Type Schemes for an Extended Type Theory , 1984, Theor. Comput. Sci..

[26]  Gordon D. Plotkin,et al.  An Ideal Model for Recursive Polymorphic Types , 1986, Inf. Control..

[27]  Dana S. Scott,et al.  Some Domain Theory and Denotational Semantics in Coq , 2009, TPHOLs.

[28]  John C. Reynolds,et al.  Syntactic Control of Inference, Part 2 , 1989, ICALP.

[29]  Richard Sylvan,et al.  The semantics of entailment—II , 1972, Journal of Philosophical Logic.

[30]  Mariangiola Dezani-Ciancaglini,et al.  Fully Abstract Semantics for Concurrent Lambda-calculus , 1994, TACS.

[31]  Corrado Böhm,et al.  Automatic Synthesis of Typed Lambda-Programs on Term Algebras , 1985, Theor. Comput. Sci..

[32]  Richard Statman,et al.  Empty types in polymorphic lambda calculus , 1987, POPL '87.

[33]  Mariangiola Dezani-Ciancaglini,et al.  A filter lambda model and the completeness of type assignment , 1983, Journal of Symbolic Logic.

[34]  Mariangiola Dezani-Ciancaglini,et al.  Intersection and Union Types , 1991, TACS.

[35]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[36]  Albert R. Meyer,et al.  What is a Model of the Lambda Calculus? , 1982, Inf. Control..