ML typability is dexptime-complete

  • A. J. Kfoury
  • J. Tiuryn
  • P. Urzyczyn
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 431)


We carry out an analysis of typability of terms in ML. Our main result is that this problem is DEXPTIME-hard, where by DEXPTIME we mean DTIME\((2^{n^{O(1)} } )\). This, together with the known exponential-time algorithm that solves the problem, yields the DEXPTIME-completeness result. This settles an open problem of P. Kanellakis and J.C. Mitchell.

Part of our analysis is an algebraic characterization of ML typability in terms of a restricted form of semi-unification, which we identify as acyclic semi-unification. We prove that ML typability and acyclic semi-unification are log-space equivalent problems. We believe this result is of independent interest.


Open Type Type Expression Algebraic Characterization Path Equation Binary Control 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Clément, D., Despeyroux, J., Despeyroux, T., Kahn, G., “A simple applicative language: Mini-ML”, Proc. ACM Conference on Lisp and Functional Programming, pp 13–27, 1986.Google Scholar
  2. [2]
    Chandra, A.K., Kozen, D. and Stockmeyer, L. “Alternation,” J. Assoc. Comput. Mach. 28:1, pp 114–133, 1981.Google Scholar
  3. [3]
    Dwork, C., Kanelakis, P., Mitchell, J.C., “On the sequential nature of unification”, J. of Logic Programming, 1, pp 35–50, 1984.CrossRefGoogle Scholar
  4. [4]
    Damas, L. and Milner, R., “Principal type schemes for functional programs,” Proc. 9-th ACM Symp. Principles of Prog. Lang., pp 207–212, 1982.Google Scholar
  5. [5]
    Henglein, F., “Type inference and semi-unification”, Proc. ACM Symp. LISP and Functional Programming, July 1988.Google Scholar
  6. [6]
    Kanellakis, P., Mitchell, J.C., “Polymorphic unification and ML typing”, Proc. 16-th Symp. on Principles of Prog. Lang., pp 105–115, Jan 1989.Google Scholar
  7. [7]
    Kapur, D., Musser, D., Narendran, P., and Stillman, J., “Semi-unification”, Proc. of 8-th Conference on Foundations of Software Technology and Theoretical Computer Science, Pune, India, Dec. 1988.Google Scholar
  8. [8]
    Kfoury, A.J., Tiuryn, J. and Urzyczyn, P., “Computational consequences and partial solutions of a generalized unification problem”, Proc. of IEEE 4-th LICS 1989.Google Scholar
  9. [9]
    Kfoury, A.J., Tiuryn, J. and Urzyczyn, P., “Undecidability of the semi-unification problem” Manuscript, October 1989.Google Scholar
  10. [10]
    Milner, R., “A theory of type polymorphism in programming”, J. of Computer and System Sciences, Vol. 17, pp 348–375, 1978.CrossRefGoogle Scholar
  11. [11]
    Milner, R., “The standard ML core language”, Polymorphism, II (2), October 1985.Google Scholar
  12. [12]
    Paterson, M.S., Wegman, M.N., “Linear unification”, JCSS, 16, pp 158–167, 1978.Google Scholar
  13. [13]
    Tyszkiewicz, J. “Typability in the finitely typed lambda calculus is PTIME-complete,” MS thesis, University of Warsaw, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • A. J. Kfoury
    • 1
  • J. Tiuryn
    • 2
  • P. Urzyczyn
    • 2
  1. 1.Dept of Computer ScienceBoston UniversityUSA
  2. 2.Institute of MathematicsUniversity of WarsawPoland

Personalised recommendations