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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Aoto, T., Kikuchi, K.: A rule-based procedure for equivariant nominal unification. In: Informal Proceedings HOR, p. 5 (2016)
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)
Ariola, Z.M., Klop, J.W.: Cyclic lambda graph rewriting. In: Proceedings of IEEE LICS, pp. 416–425. IEEE Press (1994)
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)
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)
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)
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)
Babai, L.: Graph isomorphism in quasipolynomial time (2016). http://arxiv.org/abs/1512.03547v2
Calvès, C., Fernández, M.: A polynomial nominal unification algorithm. Theor. Comput. Sci. 403(2–3), 285–306 (2008)
Cheney, J.: Nominal Logic Programming. Ph.D. thesis, Cornell University, Ithaca (2004)
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
Cheney, J.: Relating higher-order pattern unification and nominal unification. In: Proceedings of 19th International Workshop on Unification (UNIF 2005), pp. 104–119 (2005)
Cheney, J.: Toward a general theory of names: binding and scope. In: MERLIN 2005, pp. 33–40. ACM (2005)
Cheney, J.: Equivariant unification. J. Autom. Reasoning 45(3), 267–300 (2010). http://dx.doi.org/10.1007/s10817-009-9164-3
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)
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)
Goldfarb, W.D.: The undecidability of the second-order unification problem. Theor. Comput. Sci. 13, 225–230 (1981)
Huet, G.P.: A unification algorithm for typed lambda-calculus. Theor. Comput. Sci. 1(1), 27–57 (1975)
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
Levy, J., Veanes, M.: On the undecidability of second-order unification. Inf. Comput. 159(1–2), 125–150 (2000)
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)
Levy, J., Villaret, M.: Nominal unification from a higher-order perspective. ACM Trans. Comput. Log. 13(2), 10 (2012)
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)
Marlow, S. (ed.): Haskell 2010 - Language Report (2010)
Martelli, A., Montanari, U.: An efficient unification algorithm. ACM Trans. Program. Lang. Syst. 4(2), 258–282 (1982)
Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. J. Log. Comput. 1(4), 497–536 (1991)
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
Picouleau, C.: Complexity of the Hamiltonian cycle in regular graph problem. Theor. Comput. Sci. 131(2), 463–473 (1994)
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)
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
Schmidt-Schauß, M., Schütz, M., Sabel, D.: Safety of Nöcker’s strictness analysis. J. Funct. Program. 18(04), 503–551 (2008)
Schöning, U.: Graph isomorphism is in the low hierarchy. J. Comput. Syst. Sci. 37(3), 312–323 (1988)
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
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
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
Urban, C., Pitts, A.M., Gabbay, M.J.: Nominal unification. Theor. Comput. Sci. 323(1–3), 473–497 (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)