Skip to main content

Nominal Unification of Higher Order Expressions with Recursive Let

  • Conference paper
  • First Online:
Logic-Based Program Synthesis and Transformation (LOPSTR 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10184))

Abstract

A sound and complete algorithm for nominal unification of higher-order expressions with a recursive let is described, and shown to run in non-deterministic polynomial time. We also explore specializations like nominal letrec-matching for plain expressions and for DAGs and determine their complexity.

This research has been partially founded by the MINECO/FEDER projects RASO (TIN2015-71799-C2-1-P) and LoCoS (TIN2015-66293-R) and the UdG project MPCUdG2016/055.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

References

  1. Aoto, T., Kikuchi, K.: A rule-based procedure for equivariant nominal unification. In: Informal Proceedings HOR, p. 5 (2016)

    Google Scholar 

  2. Ariola, Z.M., Felleisen, M., Maraist, J., Odersky, M., Wadler, P.: A call-by-need lambda calculus. In: POPL 1995, pp. 233–246. ACM Press, San Francisco (1995)

    Google Scholar 

  3. Ariola, Z.M., Klop, J.W.: Cyclic lambda graph rewriting. In: Proceedings of IEEE LICS, pp. 416–425. IEEE Press (1994)

    Google Scholar 

  4. Ayala-Rincón, M., de Carvalho-Segundo, W., Fernández, M., Nantes-Sobrinho, D.: A formalisation of nominal alpha-equivalence with A and AC function symbols. In: Proceedings of LSFA 2016, pp. 78–93 (2016)

    Google Scholar 

  5. Ayala-Rincón, M., Fernández, M., Nantes-Sobrinho, D.: Nominal narrowing. In: Pientka, B., Kesner, D. (eds.) Proceedings of First FSCD, pp. 11:1–11:17. LIPIcs (2016)

    Google Scholar 

  6. Ayala-Rincón, M., Fernández, M., Rocha-Oliveira, A.C.: Completeness in PVS of a nominal unification algorithm. ENTCS 323(3), 57–74 (2016)

    MathSciNet  Google Scholar 

  7. Baader, F., Snyder, W.: Unification theory. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 445–532. Elsevier, MIT Press, New York, Cambridge (2001)

    Chapter  Google Scholar 

  8. Babai, L.: Graph isomorphism in quasipolynomial time (2016). http://arxiv.org/abs/1512.03547v2

  9. Calvès, C., Fernández, M.: A polynomial nominal unification algorithm. Theor. Comput. Sci. 403(2–3), 285–306 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  10. Cheney, J.: Nominal Logic Programming. Ph.D. thesis, Cornell University, Ithaca (2004)

    Google Scholar 

  11. Cheney, J.: Equivariant unification. In: Giesl, J. (ed.) RTA 2005. LNCS, vol. 3467, pp. 74–89. Springer, Heidelberg (2005). doi:10.1007/978-3-540-32033-3_7

    Chapter  Google Scholar 

  12. Cheney, J.: Relating higher-order pattern unification and nominal unification. In: Proceedings of 19th International Workshop on Unification (UNIF 2005), pp. 104–119 (2005)

    Google Scholar 

  13. Cheney, J.: Toward a general theory of names: binding and scope. In: MERLIN 2005, pp. 33–40. ACM (2005)

    Google Scholar 

  14. Cheney, J.: Equivariant unification. J. Autom. Reasoning 45(3), 267–300 (2010). http://dx.doi.org/10.1007/s10817-009-9164-3

  15. Furst, M.L., Hopcroft, J.E., Luks, E.M.: Polynomial-time algorithms for permutation groups. In: 21st FoCS, pp. 36–41. IEEE Computer Society (1980)

    Google Scholar 

  16. Garey, M.R., Johnson, D.S., Tarjan, R.E.: The planar Hamiltonian circuit problem is NP-complete. SIAM J. Comput. 5(4), 704–714 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  17. Goldfarb, W.D.: The undecidability of the second-order unification problem. Theor. Comput. Sci. 13, 225–230 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  18. Huet, G.P.: A unification algorithm for typed lambda-calculus. Theor. Comput. Sci. 1(1), 27–57 (1975)

    Article  MATH  Google Scholar 

  19. Jeannin, J.B., Kozen, D., Silva, A.: CoCaml: programming with coinductive types. Technical report Computing and Information Science, Cornell University, fundamenta Informaticae (2012). http://hdl.handle.net/1813/30798

  20. Levy, J., Veanes, M.: On the undecidability of second-order unification. Inf. Comput. 159(1–2), 125–150 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  21. Levy, J., Villaret, M.: An efficient nominal unification algorithm. In: Lynch, C. (ed.) Proceedings of 21st RTA, LIPIcs, vol. 6, pp. 209–226. Schloss Dagstuhl (2010)

    Google Scholar 

  22. Levy, J., Villaret, M.: Nominal unification from a higher-order perspective. ACM Trans. Comput. Log. 13(2), 10 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  23. Luks, E.M.: Permutation groups and polynomial-time computation. In: Finkelstein, L., Kantor, W.M. (eds.) Groups And Computation, Proceedings of a DIMACS Workshop (DIMACS), vol. 11, pp. 139–176. DIMACS/AMS (1991)

    Google Scholar 

  24. Marlow, S. (ed.): Haskell 2010 - Language Report (2010)

    Google Scholar 

  25. Martelli, A., Montanari, U.: An efficient unification algorithm. ACM Trans. Program. Lang. Syst. 4(2), 258–282 (1982)

    Article  MATH  Google Scholar 

  26. Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. J. Log. Comput. 1(4), 497–536 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  27. Moran, A., Sands, D., Carlsson, M.: Erratic fudgets: a semantic theory for an embedded coordination language. In: Ciancarini, P., Wolf, A.L. (eds.) COORDINATION 1999. LNCS, vol. 1594, pp. 85–102. Springer, Heidelberg (1999). doi:10.1007/3-540-48919-3_8

    Chapter  Google Scholar 

  28. Picouleau, C.: Complexity of the Hamiltonian cycle in regular graph problem. Theor. Comput. Sci. 131(2), 463–473 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  29. Schmidt-SchauSS, M., Rau, C., Sabel, D.: Algorithms for extended alpha-equivalence and complexity. In: van Raamsdonk, F. (ed.) 24th RTA 2013. LIPIcs, vol. 21, pp. 255–270. Schloss Dagstuhl (2013)

    Google Scholar 

  30. Schmidt-Schauß, M., Sabel, D.: Unification of program expressions with recursive bindings. In: Cheney, J., Vidal, G. (eds.) 18th PPDP, pp. 160–173. ACM (2016). http://doi.acm.org/10.1145/2967973.2968603

  31. Schmidt-Schauß, M., Schütz, M., Sabel, D.: Safety of Nöcker’s strictness analysis. J. Funct. Program. 18(04), 503–551 (2008)

    Article  MATH  Google Scholar 

  32. Schöning, U.: Graph isomorphism is in the low hierarchy. J. Comput. Syst. Sci. 37(3), 312–323 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  33. Simon, L., Mallya, A., Bansal, A., Gupta, G.: Coinductive logic programming. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 330–345. Springer, Heidelberg (2006). doi:10.1007/11799573_25

    Chapter  Google Scholar 

  34. Urban, C., Kaliszyk, C.: General bindings and alpha-equivalence in nominal Isabelle. Log. Methods Comput. Sci. 8(2:14), 1–35 (2012). www.lmcs-online.org

  35. Urban, C., Pitts, A., Gabbay, M.: Nominal unification. In: Baaz, M., Makowsky, J.A. (eds.) CSL 2003. LNCS, vol. 2803, pp. 513–527. Springer, Heidelberg (2003). doi:10.1007/978-3-540-45220-1_41

    Chapter  Google Scholar 

  36. Urban, C., Pitts, A.M., Gabbay, M.J.: Nominal unification. Theor. Comput. Sci. 323(1–3), 473–497 (2004)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Manfred Schmidt-Schauß .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Schmidt-Schauß, M., Kutsia, T., Levy, J., Villaret, M. (2017). Nominal Unification of Higher Order Expressions with Recursive Let. In: Hermenegildo, M., Lopez-Garcia, P. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2016. Lecture Notes in Computer Science(), vol 10184. Springer, Cham. https://doi.org/10.1007/978-3-319-63139-4_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-63139-4_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-63138-7

  • Online ISBN: 978-3-319-63139-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics