Overloading Is NP-Complete

A Tutorial Dedicated to Dexter Kozen
  • Jens Palsberg
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7230)


We show that overloading is NP-complete. This solves exercise 6.25 in the 1986 version of the Dragon book.


Constraint System 3SAT Problem Type Rule Type Inference Type Environment 
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.
    Aho, A.V., Sethi, R.I., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison-Wesley, Reading (1986)Google Scholar
  2. 2.
    Camarao, C., Figueiredo, L., Vasconcellos, C.: Constraint-set satisfiability for overloading. In: Proceedings of PPDP (2004)Google Scholar
  3. 3.
    Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. ACM Computing Surveys 17(4), 471–522 (1985)CrossRefGoogle Scholar
  4. 4.
    Castagna, G., Ghelli, G., Longo, G.: A calculus for overloaded functions with subtyping. Information and Computation 117(1), 115–135 (1995)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Coppo, M., Dezani-Ciancaglini, M., Venneri, B.: Principal type schemes and lambda-calculus semantics. In: Seldin, J., Hindley, J. (eds.) To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pp. 535–560. Academic Press (1980)Google Scholar
  6. 6.
    Garey, M.R., Johnson, D.S.: Computers and Intractability. Freeman (1979)Google Scholar
  7. 7.
    Gosling, J., Joy, B., Steele, G., Bracha, G.: Java Language Specification. 3rd edn. (2005),
  8. 8.
    Higham, D.J., Higham, N.J.: MATLAB Guide. 2nd edn. SIAM (2005)Google Scholar
  9. 9.
    Roger Hindley, J.: Types with intersection: An introduction. Formal Aspects of Computing 4, 470–486 (1991)CrossRefGoogle Scholar
  10. 10.
    Kozen, D., Palsberg, J., Schwartzbach, M.I.: Efficient inference of partial types. Journal of Computer and System Sciences 49(2), 306–324 (1994); Preliminary version in Proceedings of FOCS 1992MathSciNetzbMATHCrossRefGoogle Scholar
  11. 11.
    Mathaikutty, D.A., Shukla, S.K.: Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor Design. Artech House (2009)Google Scholar
  12. 12.
    MathWorks. Product documentation, matlab compiler (2011),
  13. 13.
    Paterson, M.S., Wegman, M.N.: Linear unification. Journal of Computer and System Sciences 16, 158–167 (1978)MathSciNetzbMATHCrossRefGoogle Scholar
  14. 14.
    Schaefer, T.J.: The complexity of satisfiability problems. In: Proceedings of the 10th Annual ACM Symposium on Theory of Computing (STOC 1995), pp. 216–226 (1978)Google Scholar
  15. 15.
    Smith, G.: Polymorphic Type Inference for Languages with Overloading and Subtyping. PhD thesis, Cornell University (1991)Google Scholar
  16. 16.
    Smith, G.S.: Principal type schemes for functional programs with overloading and subtyping. Science of Computer Programming 23, 197–226 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
    Vachharajani, M., Vachharajani, N., Malik, S., August, D.I.: Facilitating reuse in hardware models with enhanced type inference. In: Proceedings of IEEE/ACM/IFIP Second International Conference on Hardware/Software Codesign and System Synthesis (1994)Google Scholar
  18. 18.
    Volpano, D.: Haskell-style overloading is NP-hard. In: Proceedings of ICCL 1994, Fifth IEEE International Conference on Computer Languages, pp. 88–95 (May 1994)Google Scholar
  19. 19.
    Volpano, D.: Lower bounds on type checking overloading. Information Processing Letters 57, 9–14 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  20. 20.
    Volpano, D., Smith, G.: On the Complexity of ML Typability with Overloading. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 15–28. Springer, Heidelberg (1991)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Jens Palsberg
    • 1
  1. 1.UCLA, University of CaliforniaLos AngelesUSA

Personalised recommendations