Skip to main content

Nominal Unification

  • Conference paper
Computer Science Logic (CSL 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2803))

Included in the following conference series:

Abstract

We present a generalisation of first-order unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms α-equivalent, i.e. equal up to renaming bound names. For the applications we have in mind, we must consider the simple, textual form of substitution in which names occurring in terms may be captured within the scope of binders upon substitution. We are able to take a ‘nominal’ approach to binding in which bound entities are explicitly named (rather than using nameless, de Bruijn-style representations) and yet get a version of this form of substitution that respects α-equivalence and possesses good algorithmic properties. We achieve this by adapting an existing idea and introducing a key new idea. The existing idea is terms involving explicit substitutions of names for names, except that here we only use explicit permutations (bijective substitutions). The key new idea is that the unification algorithm should solve not only equational problems, but also problems about the freshness of names for terms. There is a simple generalisation of the classical first-order unification algorithm to this setting which retains the latter’s pleasant properties: unification problems involving α-equivalence and freshness are decidable; and solvable problems possess most general solutions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)

    Google Scholar 

  2. Barendregt, H.P.: The Lambda Calculus: Its Syntax and Semantics. North-Holland, Amsterdam (1984)

    MATH  Google Scholar 

  3. Caires, L., Cardelli, L.: A spatial logic for concurrency II. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 209–225. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  4. Cardelli, L., Gardner, P., Ghelli, G.: Manipulating trees with hidden labels. In: Gordon, A.D. (ed.) FOSSACS 2003. LNCS, vol. 2620, pp. 216–232. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  5. Cheney, J., Urban, C.: αProlog, a fresh approach to logic programming modulo α-equivalence. In: Proc. of UNIF 2003, number DSIC-II/12/03 in Departamento de Sistemas Informáticos y Computación Technical Report Series. Universidad Politécnica de Valencia (2003)

    Google Scholar 

  6. Dowek, G.: Higher-order unification and matching. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch. 16, pp. 1009–1062. Elsevier, Amsterdam (2001)

    Chapter  Google Scholar 

  7. Dowek, G., Hardin, T., Kirchner, C.: Higher-order unification via explicit substitutions. In: 10th Symposium of LICS, pp. 366–374. IEEE Computer Society Press, Los Alamitos (1995)

    Google Scholar 

  8. Dowek, G., Hardin, T., Kirchner, C., Pfenning, F.: Higher-order unification via explicit substitutions: the case of higher-order patterns. In: Proc. of JICSLP, pp. 259–273 (1996)

    Google Scholar 

  9. Fiore, M.P., Plotkin, G.D., Turi, D.: Abstract syntax and variable binding. In: 14th Symposium of LICS, pp. 193–202. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  10. Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax involving binders. In: 14th Symposium of LICS, pp. 214–224. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  11. Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects of Computing 13, 341–363 (2002)

    Article  MATH  Google Scholar 

  12. Gunter, C.A.: Semantics of Programming Languages: Structures and Techniques. In: Foundations of Computing, MIT Press, Cambridge (1992)

    Google Scholar 

  13. Hamana, M.: A logic programming language based on binding algebras. In: Kobayashi, N., Pierce, B.C. (eds.) TACS 2001. LNCS, vol. 2215, pp. 243–262. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  14. Hamana, M.: Simple β 0-unification for terms with context holes. In: Proc. of UNIF 2002 (2002) (unpublished proceedings)

    Google Scholar 

  15. Hashimoto, M., Ohori, A.: A typed context calculus. TCS 266, 249–271 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  16. Honsell, F., Miculan, M., Scagnetto, I.: An axiomatic approach to metareasoning on nominal algebras in HOAS. In: Orejas, F., Spirakis, P.G., van Leeuwen, J. (eds.) ICALP 2001. LNCS, vol. 2076, pp. 963–978. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Klop, J.W.: Term rewriting systems. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol. 2, pp. 1–116. OUP (1992)

    Google Scholar 

  18. Martelli, A., Montanari, U.: An efficient unification algorithm. ACM Trans. Programming Languages and Systems 4(2), 258–282 (1982)

    Article  MATH  Google Scholar 

  19. Michaylov, S., Pfenning, F.: An empirical study of the runtime behaviour of higher-order logic programs. In: Proc. Workshop on the λProlog Programming Language, pp. 257–271 (1992); CIS Technical Report MS-CIS-92-86

    Google Scholar 

  20. Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. Journal of Logic and Computation 1, 497–536 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  21. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (parts I and II). Information and Computation 100, 1–77 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  22. Pfenning, F., Elliott, C.: Higher-order abstract syntax. In: Proc. ACM-SIGPLAN Conference on Programming Language Design and Implementation, pp. 199–208. ACM Press, New York (1988)

    Google Scholar 

  23. Pitts, A.M.: Nominal logic: A first order theory of names and binding. In: Kobayashi, N., Pierce, B.C. (eds.) TACS 2001. LNCS, vol. 2215, pp. 219–242. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  24. Pitts, A.M., Gabbay, M.J.: A metalanguage for programming with bound names modulo renaming. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 230–255. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  25. Plotkin, G.D.: An illative theory of relations. In: Situation Theory and its Applications. CSLI Lecure Notes, vol. 22, pp. 133–146. Stanford University, Stanford (1990)

    Google Scholar 

  26. Sato, M., Sakurai, T., Kameyama, Y.: A simply typed context calculus with first-class environments. Journal of Functional and Logic Programming 2002(4) (2002)

    Google Scholar 

  27. Shinwell, M.R., Pitts, A.M., Gabbay, M.J.: FreshML: Programming with binders made simple. In: Proc. of ICFP 2003, ACM Press, New York (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Urban, C., Pitts, A., Gabbay, M. (2003). Nominal Unification. In: Baaz, M., Makowsky, J.A. (eds) Computer Science Logic. CSL 2003. Lecture Notes in Computer Science, vol 2803. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45220-1_41

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45220-1_41

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40801-7

  • Online ISBN: 978-3-540-45220-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics