Skip to main content

Nominal Unification with Letrec and Environment-Variables

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

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.

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 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.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. Calvès, C., Fernández, M.: A polynomial nominal unification algorithm. Theoret. Comput. Sci. 403(2–3), 285–306 (2008)

    Article  MathSciNet  Google Scholar 

  2. Cheney, J.: Nominal Logic Programming. Ph.D. thesis, Cornell University, Ithaca, NY, August 2004

    Google Scholar 

  3. Cheney, J., Momigliano, A.: \(\alpha \)-check: a mechanized metatheory model checker. Theory Pract. Logic Program. 17(3), 311–352 (2017)

    Article  MathSciNet  Google Scholar 

  4. 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

    Google Scholar 

  5. Hansen, M.R., Rischel, H.: Functional Programming Using F#. Cambridge (2013)

    Google Scholar 

  6. Haskell: Haskell, an advanced, purely functional programming language (2019)

    Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. Kikuchi, K., Aoto., T.: Confluence and commutation for nominal rewriting systems with atom-variables. In: LOPSTR 2020 (2020, to appear)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Kutz, Y., Schmidt-Schauß, M.: Rewriting with generalized nominal unification. MSCS 30, 710–735 (2020.) Special issue 6 (Special Issue: Unification)

    Google Scholar 

  11. 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 

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

    Google Scholar 

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

    Article  Google Scholar 

  14. Milner, R.: Communicating And Mobile Systems - The Pi-Calculus. Cambridge University Press, Cambridge (1999)

    MATH  Google Scholar 

  15. Minsky, Y., Madhavapeddy, A., Hickey, J.: Real World OCaml. O’Reilly (2013)

    Google Scholar 

  16. Pitts, A.: Nominal techniques. ACM SIGLOG News 3(1):57–72 (2016)

    Google Scholar 

  17. Pitts, A.M.: Nominal Sets: Names and Symmetry in Computer Science. Cambridge University Press, New YorkD (2013)

    Book  Google Scholar 

  18. 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

    Chapter  Google Scholar 

  19. 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

    Chapter  Google Scholar 

  20. 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)

    Google Scholar 

  21. Schmidt-Schauß, M., Kutsia, T., Levy, J., Villaret, M., Kutz., Y.: Nominal unification of higher order expressions with recursive let (2019, in preparation)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. Schmidt-Schauß, M., Sabel, D., Kutz, Y.: Nominal unification with atom-variables. J. Symb. Comput. 90, 42–64 (2019)

    Google Scholar 

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

    Article  Google Scholar 

  26. Urban, C.: Nominal techniques in Isabelle/HOL. J. Autom. Reasoning 40(4), 327–356 (2008)

    Article  MathSciNet  Google Scholar 

  27. Urban, C., Kaliszyk, C.: General bindings and alpha-equivalence in nominal Isabelle. Log. Methods Comput. Sci. 8(2), 1–35 (2012)

    Article  MathSciNet  Google Scholar 

  28. 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

    Chapter  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

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics