ML Typability is DEXTIME-Complete

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.

[1]  John C. Mitchell,et al.  Polymorphic unification and ML typing , 1989, POPL '89.

[2]  Robin Milner,et al.  Principal type-schemes for functional programs , 1982, POPL '82.

[3]  Paliath Narendran,et al.  Semi-Unification , 1991, Theor. Comput. Sci..

[4]  Robin Milner The standard ML core language , 1984 .

[5]  John C. Mitchell,et al.  On the Sequential Nature of Unification , 1984, J. Log. Program..

[6]  Mike Paterson,et al.  Linear unification , 1976, STOC '76.

[7]  Jerzy Tiuryn,et al.  The undecidability of the semi-unification problem , 1990, STOC '90.

[8]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[9]  Dominique Clément,et al.  A simple applicative language: mini-ML , 1986, LFP '86.

[10]  Fritz Henglein,et al.  Type inference and semi-unification , 1988, LISP and Functional Programming.

[11]  Jerzy Tiuryn,et al.  Computational consequences and partial solutions of a generalized unification problem , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.