Advertisement

Reduction and unification in Lambda calculi with subtypes

  • Tobias NipkowEmail author
  • Zhenyu QianEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 607)

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, i.e. “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.

A generic algorithm for pre-unification modulo βη-conversion and an arbitrary subtype relation is presented. Furthermore it is shown that unification w.r.t. any subtype relation is universal.

Keywords

Normal Form Base Type Unification Algorithm Critical Pair Type Inference 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    P. B. Andrews, S. Issar, D. Nesmith, and F. Pfenning. The TPS theorem proving system. In M. Stickel, editor, Proc. 10th Int. Conf. Automated Deduction, pages 641–642. LNCS 449, 1990.Google Scholar
  2. [2]
    H. P. Barendregt. The Lambda Calculus, its Syntax and Semantics. North Holland, 2nd edition, 1984.Google Scholar
  3. [3]
    L. Cardelli. A semantics of multiple inheritance. Information and Computation, 76:130–164, 1988.Google Scholar
  4. [4]
    P.-L. Curien and G. Ghelli. Subtyping + extensionality: Confluence of βηtop reduction in F≤. In T. Ito and A. R. Meyer, editors, Proc. Conf. Theoretical Aspects of Computer Software, pages 731–749. LNCS 526, 1991.Google Scholar
  5. [5]
    G. Huet. A unification algorithm for typed λ-calculus. Theoretical Computer Science, 1:27–57, 1975.Google Scholar
  6. [6]
    G. Huet and B. Lang. Proving and applying program transformations expressed with second-order patterns. Acta Informatica, 11:31–55, 1978.Google Scholar
  7. [7]
    J.-P. Jouannaud and C. Kirchner. Solving equations in abstract algebras: A rule-based survey of unification. In J.-L. Lassez and G. Plotkin, editors, Computational Logic: Essays in Honor of Alan Robinson, pages 257–321. MIT Press, 1991.Google Scholar
  8. [8]
    G. Kahn. Natural semantics. In Proc. 4th Annual Symp. Theoretical Aspects of Computer Science, pages 22–39. LNCS 247, 1987.Google Scholar
  9. [9]
    D. Miller. A logic programming language with lambda-abstraction, function variables, and simple unification. In P. Schroeder-Heister, editor, Extensions of Logic Programming, pages 253–281. LNCS 475, 1991.Google Scholar
  10. [10]
    J. C. Mitchell. Coercion and type inference. In Proc. 11th ACM Symp. Principles of Programming Languages, pages 175–185, 1984.Google Scholar
  11. [11]
    J. C. Mitchell. Type inference with simple subtypes. J. Functional Programming, 1:245–285, 1991.Google Scholar
  12. [12]
    G. Nadathur and D. Miller. An overview of Aprolog. In R. A. Kowalski and K. A. Bowen, editors, Proc. 5th Int. Logic Programming Conference, pages 810–827. MIT Press, 1988.Google Scholar
  13. [13]
    T. Nipkow. Higher-order unification, polymorphism, and subsorts. In Proc. 2nd Int. Workshop Conditional and Typed Rewriting Systems. LNCS 516, 1991.Google Scholar
  14. [14]
    L. C. Paulson. Isabelle: The next 700 theorem provers. In P. Odifreddi, editor, Logic and Computer Science, pages 361–385. Academic Press, 1990.Google Scholar
  15. [15]
    F. Pfenning and C. Elliott. Higher-order abstract syntax. In Proc. SIGPLAN '88 Symp. Language Design and Implementation, pages 199–208. ACM Press, 1988.Google Scholar
  16. [16]
    Z. Qian. Higher-order order-sorted algebras. In Proc. 2th Int. Conf. Logic and Algebraic Programming, pages 86–100. LNCS 463, 1990.Google Scholar
  17. [17]
    M. Schmidt-Schauß. Computational Aspects of an Order-Sorted Logic with Term Declarations. LNCS 395, 1989.Google Scholar
  18. [18]
    G. Smolka, W. Nutt, J. Goguen, and J. Meseguer. Order-sorted equational computation. In H. Aït-Kaci and M. Nivat, editors, Resolution of Equations in Algebraic Structures, Volume 2, pages 297–367. Academic Press, 1989.Google Scholar
  19. [19]
    G. Snelting. The calculus of context relations. Acta Informatica, 28:411–445, 1991.Google Scholar
  20. [20]
    W. Snyder and J. Gallier. Higher-order unification revisited: Complete sets of transformations. J. Symbolic Computation, 8:101–140, 1989.Google Scholar
  21. [21]
    C. Walther. A mechanical solution of Schubert's Steamroller by many-sorted resolution. Artificial Intelligence, 26:217–224, 1985.Google Scholar
  22. [22]
    C. Walther. Many-sorted unification. J. ACM, 35:1–17, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  1. 1.Institut für InformatikTU MünchenMünchen 2Germany
  2. 2.FB InformatikUniversität BremenBremen 33Germany

Personalised recommendations