Empty types in polymorphic lambda calculus

  • Authors:
  • A. R. Meyer;J. C. Mitchell;E. Moggi;R. Statman

  • Affiliations:
  • MIT Lab. for Computer Sci.;AT&T Bell Labs;Univ. Edinburgh;Mathematics Dept., Carnegie-Mellon Univ.

  • Venue:
  • POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

The model theory of simply typed and polymorphic (second-order) lambda calculus changes when types are allowed to be empty. For example, the “polymorphic Boolean” type really has exactly two elements in a polymorphic model only if the “absurd” type ∀t.t is empty. The standard &bgr;-&egr; axioms and equational inference rules which are complete when all types are nonempty are not complete for models with empty types. Without a little care about variable elimination, the standard rules are not even sound for empty types. We extend the standard system to obtain a complete proof system for models with empty types. The completeness proof is complicated by the fact that equational “term models” are not so easily obtained: in contrast to the nonempty case, not every theory with empty types is the theory of a single model.