Advertisement

Journal of Automated Reasoning

, Volume 12, Issue 3, pp 389–406 | Cite as

Reduction and unification in lambda calculi with a general notion of subtype

  • Zhenyu Qian
  • Tobias Nipkow
Article

Abstract

Reduction, equality, and unification are studied for a family of simply typed λ-calculi with subtypes. The subtype relation is required to relate base types only to base types and to satisfy some order-theoretic conditions. Constants are required to have a least type, that is, ‘no overloading’. We define the usual β and a subtype-dependent η-reduction. These are related to a typed equality relation and shown to be confluent in a certain sense. We present a generic algorithm for preunification modulo βη-conversion and an arbitrary subtype relation. Furthermore it is shown that unification with respect to any subtype relation is universal.

Key words

simply typed λ-calculi subtypes reduction higher-order unification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Andrews, P. B., Issar, S., Nesmith, D. and Pfenning, F.: The TPS theorem proving system, in M. Stickel (ed.),Proc. 10th Int. Conf. Automated Deduction, Springer-Verlag LNCS 449, 1990, pp. 641–642.Google Scholar
  2. 2.
    Barendregt, H.:The λ-Calculus — Its Syntax and Semantics, North-Holland, Amsterdam, 1984.Google Scholar
  3. 3.
    Cardelli, L.: A semantics of multiple inheritance,Information and Computation 76 (1988), 130–164.Google Scholar
  4. 4.
    Curien, P.-L. and Ghelli, G.: Subtyping + extensionality: Confluence of βη top reduction inF ⩽, in T. Ito and A. R. Meyer (eds.),Proc. Conf. Theoretical Aspects of Computer Software, Springer-Verlag LNCS 526, 1991, pp. 731–749.Google Scholar
  5. 5.
    Huet, G.: A unification algorithm for typed λ-calculus,Theoretical Computer Science 1 (1975), 27–57.Google Scholar
  6. 6.
    Huet, G. and Lang, B.: Proving and applying program transformations expressed with second-order patterns,Acta Informatica 11 (1978) 31–55.Google Scholar
  7. 7.
    Jouannaud, J.-P. and Kirchner, C.: Solving equations in abstract algebras: A rule-based survey of unification, in J.-L. Lassez and G. Plotkin (eds.),Computational Logic: Essays in Honor of Alan Robinson, MIT Press, 1991.Google Scholar
  8. 8.
    Kahn, B.: Natural semantics, inProc. 4th Symp. Theoretical Aspects of Computer Science, Springer-Verlag LNCS 247, 1987, pp. 22–39.Google Scholar
  9. 9.
    Klop, J. W.:Combinatory Reduction Systems, Mathematical Centre Tracts 127. Mathematisch Centrum, Amsterdam, 1980.Google Scholar
  10. 10.
    Kohlhase, M.: Unification in order-sorted type theory, in A. Voronkov (ed.),Proc. Int. Conf. on Logic Programming and Automated Reasoning, Springer-Verlag LNCS 624, 1992, pp. 421–432.Google Scholar
  11. 11.
    Kohlhase, M. and Pfenning, F.: Unification in a λ-calculus with intersection types, in D. Miller (ed.),Proc. Int. Symp. on Logic Programming, MIT Press, 1993, pp. 488–505.Google Scholar
  12. 12.
    Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification,Journal of Logic and Computation 1(4) (1991) 497–536.Google Scholar
  13. 13.
    Miller, D.: Abstract syntax and logic programming, inLogic Programming: Proceedings of the First and Second Russian Conferences on Logic Programming, in Lecture Notes in Artificial Intelligence #592, Springer-Verlag, 1992, pp. 322–337.Google Scholar
  14. 14.
    Mitchell, J. C.: Coercion and type inference, inProc. 11th ACM Symp. Principles of Programming Languages, 1984, pp. 175–185.Google Scholar
  15. 15.
    Mitchell, J. C.: Type inference with simple subtypes,J. Functional Programming 1 (1991), 245–285.Google Scholar
  16. 16.
    Nadathur, G. and Miller, D.: An overview of λ Prolog, in R. A. Kowalski and K. A. Bowen (eds.),Proc. 5th Int. Logic Programming Conference, MIT Press, 1988, pp. 810–827.Google Scholar
  17. 17.
    Nipkow, T.: Higher-order unification, polymorphism, and subsorts, inProc. 2nd Int. Workshop Conditional and Typed Rewriting Systems, Springer-Verlag LNCS 516, 1991, pp. 436–447.Google Scholar
  18. 18.
    Nipkow, T.: Orthogonal higher-order rewrite systems are confluent, in M. Bezem and J. F. Groote (eds.),Proc. Int. Conf. Typed Lambda Calculi and Applications, Springer-Verlag LNCS 664, 1993, pp. 306–317.Google Scholar
  19. 19.
    Nipkow, T. and Qian, Z.: Reduction and unification in lambda calculi with subtypes, in D. Kapur (ed.),Proc. 11th Int. Conf. Automated Deduction, Springer-Verlag LNCS 607, 1992, pp. 66–70.Google Scholar
  20. 20.
    Paulson, L.: Isabelle: The next 700 theorem provers, in P. Odifreddi (ed.),Logic and Computer Science, Academic Press, 1990, pp. 361–385.Google Scholar
  21. 21.
    Pfenning, F. and Elliott, C.: Higher-order abstract syntax, inProc. SIGPLAN '88 Symp. Language Design and Implementation, ACM Press, 1988, pp. 199–200.Google Scholar
  22. 22.
    Qian, Z.: An algebraic semantics of higher-order types with subtypes,Acta Informatica 30 (1993), 569–607.Google Scholar
  23. 23.
    Schmidt-Schauß, M.:Computational Aspects of an Order-Sorted Logic with Term Declarations, Springer-Verlag LNCS 395, 1989.Google Scholar
  24. 24.
    Smolka, G., Nutt, W., Goguen, J. and Meseguer, J.: Order-sorted equational computation, in H. Ait-Kaci and M. Nivat (eds.),Resolution of Equations in Algebraic Structures, Volume 2, Academic Press, New York, 1989, pp. 297–367.Google Scholar
  25. 25.
    Snelting, G.: The calculus of context relations,Acta Informatica 28 (1991), 411–445.Google Scholar
  26. 26.
    Snyder, W. and Gallier, J.: Higher-order unification revisited: Complete sets of transformations,J. Symbolic Computation 8 (1989) 101–140.Google Scholar
  27. 27.
    Walther, C.: A mechanical solution of Schubert's Steamroller by many-sorted resolution,Artificial Intelligence 26 (1985) 217–224.Google Scholar
  28. 28.
    Walther, C.: Many-sorted unification,J. ACM 35 (1988), 1–17.Google Scholar

Copyright information

© Kluwer Academic Publishers 1994

Authors and Affiliations

  • Zhenyu Qian
    • 1
  • Tobias Nipkow
    • 2
  1. 1.FB3 InformatikUniversität Bremen, Bibliothekstr.BremenGermany
  2. 2.Institut für InformatikTechnische Universität MünchenMunichGermany

Personalised recommendations