Abstract
Unification algorithms of nominal expressions with letrec and atom- and expression-variables are already described in the literature. However, only explicit environments could be treated in nominal unification and the use of abstract environments was restricted to nominal matching. This severely restricts the use of algorithms in applications. The following two restrictions permit a step forward and strongly improve the coverage of the application cases: expression- and environment-variables are restricted to occur at most once in the input equations. A terminating and complete nominal unification algorithm is described that computes complete sets of constrained unifiers. Since the set of ground instances of a complete set may be empty due to constraints, we also provide a decision algorithm for inputs which do not contain permutation-variables and show that then nominal unifiability is NP-complete. For input without an occurrence-restriction for expression-variables and w.r.t. garbage-free ground expressions, we sketch an adapted unification algorithm that produces a complete set of unifiers in NP time. For the decision problem we conjecture that it is harder in this case. We believe that lifting the linearity restrictions for environment-variables leads to a prohibitively high computational complexity.
The authors are supported by the Deutsche Forschungsgemeinschaft (DFG) under grant SCHM 986/11-1.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Calvès, C., Fernández, M.: A polynomial nominal unification algorithm. Theoret. Comput. Sci. 403(2–3), 285–306 (2008)
Cheney, J.: Nominal Logic Programming. Ph.D. thesis, Cornell University, Ithaca, NY, August 2004
Cheney, J., Momigliano, A.: \(\alpha \)-check: a mechanized metatheory model checker. Theory Pract. Logic Program. 17(3), 311–352 (2017)
A. Gascón, G. Godoy, and M. Schmidt-Schauß. Unification and matching on compressed terms. ACM Trans. Comput. Log. 12(4):26:1–26:37, 2011
Hansen, M.R., Rischel, H.: Functional Programming Using F#. Cambridge (2013)
Haskell: Haskell, an advanced, purely functional programming language (2019)
Jones, S.P., Santos, A.: Compilation by transformation in the Glasgow Haskell Compiler. In: Hammond, K., Turner, D.N., Sansom, P.M. (eds.) Functional Programming, pp. 184–204. Springer, London (1995). https://doi.org/10.1007/978-1-4471-3573-9_13
Kikuchi, K., Aoto., T.: Confluence and commutation for nominal rewriting systems with atom-variables. In: LOPSTR 2020 (2020, to appear)
Kutz, Y., Schmidt-Schauß, M.: Rewriting with generalized nominal unification. Frank report 63, Institut für Informatik. Fachbereich Informatik und Mathematik. J. W. Goethe-Universität Frankfurt am Main (2019)
Kutz, Y., Schmidt-Schauß, M.: Rewriting with generalized nominal unification. MSCS 30, 710–735 (2020.) Special issue 6 (Special Issue: Unification)
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)
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)
Milner, R.: Communicating And Mobile Systems - The Pi-Calculus. Cambridge University Press, Cambridge (1999)
Minsky, Y., Madhavapeddy, A., Hickey, J.: Real World OCaml. O’Reilly (2013)
Pitts, A.: Nominal techniques. ACM SIGLOG News 3(1):57–72 (2016)
Pitts, A.M.: Nominal Sets: Names and Symmetry in Computer Science. Cambridge University Press, New YorkD (2013)
Sangiorgi, D., Walker, D.: on barbed equivalences in \(\pi \)-calculus. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 292–304. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44685-0_20
Schmidt-Schauß, M., Kutsia, T., Levy, J., Villaret, M.: Nominal unification of higher order expressions with recursive let. In: Hermenegildo, M.V., Lopez-Garcia, P. (eds.) LOPSTR 2016. LNCS, vol. 10184, pp. 328–344. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63139-4_19
Schmidt-Schauß, M., Kutsia, T., Levy, J., Villaret, M., Kutz, Y.: Nominal unification of higher order expressions with recursive let. Frank report 62, Institut für Informatik. Fachbereich Informatik und Mathematik. J. W. Goethe-Universität Frankfurt am Main (2019)
Schmidt-Schauß, M., Kutsia, T., Levy, J., Villaret, M., Kutz., Y.: Nominal unification of higher order expressions with recursive let (2019, in preparation)
Schmidt-Schauß, 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.: Nominal unification with atom and context variables. In: Kirchner, H. (ed.) Proceedings of 3rd FSCD 2018, LIPIcs, vol. 108, pp. 28:1–28:20. Schloss Dagstuhl (2018)
Schmidt-Schauß, M., Sabel, D., Kutz, Y.: Nominal unification with atom-variables. J. Symb. Comput. 90, 42–64 (2019)
Schmidt-Schauß, M., Schütz, M., Sabel, D.: Safety of Nöcker’s strictness analysis. J. Funct. Program. 18(04), 503–551 (2008)
Urban, C.: Nominal techniques in Isabelle/HOL. J. Autom. Reasoning 40(4), 327–356 (2008)
Urban, C., Kaliszyk, C.: General bindings and alpha-equivalence in nominal Isabelle. Log. Methods Comput. Sci. 8(2), 1–35 (2012)
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). https://doi.org/10.1007/978-3-540-45220-1_41
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Schmidt-Schauß, M., Kutz, Y. (2021). Nominal Unification with Letrec and Environment-Variables. In: Fernández, M. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2020. Lecture Notes in Computer Science(), vol 12561. Springer, Cham. https://doi.org/10.1007/978-3-030-68446-4_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-68446-4_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-68445-7
Online ISBN: 978-3-030-68446-4
eBook Packages: Computer ScienceComputer Science (R0)