Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Nominal AC-Matching

  • Conference paper
  • First Online:
Intelligent Computer Mathematics (CICM 2023)

Abstract

The nominal syntax is an extension of the first-order syntax that smoothly represents languages with variable bindings. Nominal matching is first-order matching modulo alpha-equivalence. This work extends a certified first-order AC-unification algorithm to solve nominal AC-matching problems. To our knowledge, this is the first mechanically-verified nominal AC-matching algorithm. Its soundness and completeness were verified using the proof assistant PVS. The formalisation enriches the first-order AC-unification algorithm providing structures and mechanisms to deal with the combinatorial aspects of nominal atoms, permutations and abstractions. Furthermore, by adding a parameter for “protected variables” that cannot be instantiated during the execution, it enables nominal matching. Such a general treatment of protected variables also gives rise to a verified nominal AC-equality checker as a byproduct.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Similar content being viewed by others

References

  1. Ayala-Rincón, M., de Carvalho-Segundo, W., Fernández, M., Nantes-Sobrinho, D.: Nominal C-unification. In: Fioravanti, F., Gallagher, J.P. (eds.) LOPSTR 2017. LNCS, vol. 10855, pp. 235–251. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94460-9_14

    Chapter  Google Scholar 

  2. Ayala-Rincón, M., de Carvalho-Segundo, W., Fernández, M., Nantes-Sobrinho, D.: On solving nominal fixpoint equations. In: Dixon, C., Finger, M. (eds.) FroCoS 2017. LNCS (LNAI), vol. 10483, pp. 209–226. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66167-4_12

    Chapter  MATH  Google Scholar 

  3. Ayala-Rincón, M., de Carvalho Segundo, W., Fernández, M., Nantes-Sobrinho, D., Oliveira, A.C.R.: A formalisation of nominal \(\alpha \)-equivalence with A, C, and AC function symbols. Theor. Comput. Sci. 781, 3–23 (2019). https://doi.org/10.1016/j.tcs.2019.02.020

  4. Ayala-Rincón, M., de Carvalho Segundo, W., Fernández, M., Silva, G.F., Nantes-Sobrinho, D.: Formalising nominal C-unification generalised with protected variables. Math. Struct. Comput. Sci. 31(3), 286–311 (2021). https://doi.org/10.1017/S0960129521000050

    Article  MathSciNet  MATH  Google Scholar 

  5. Ayala-Rincón, M., Fernández, M., Nantes-Sobrinho, D.: On nominal syntax and permutation fixed points. Log. Methods Comput. Sci. 16(1) (2020). https://doi.org/10.23638/LMCS-16(1:19)2020

  6. Ayala-Rincón, M., Fernández, M., Oliveira, A.C.R.: Completeness in PVS of a nominal unification algorithm. In: Proceedings of the 10th Workshop on Logical and Semantic Frameworks, with Applications, LSFA. ENTCS, vol. 323, pp. 57–74. Elsevier (2015). https://doi.org/10.1016/j.entcs.2016.06.005

  7. Ayala-Rincón, M., Fernández, M., Silva, G.F., Sobrinho, D.N.: A certified algorithm for AC-unification. In: 7th International Conference on Formal Structures for Computation and Deduction, FSCD. LIPIcs, vol. 228, pp. 8:1–8:21. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2022). https://doi.org/10.4230/LIPIcs.FSCD.2022.8

  8. Boudet, A.: Competing for the AC-unification race. J. Autom. Reasoning 11(2), 185–212 (1993). https://doi.org/10.1007/BF00881905

    Article  MathSciNet  MATH  Google Scholar 

  9. Boudet, A., Contejean, E.: AC-unification of higher-order patterns. In: Smolka, G. (ed.) CP 1997. LNCS, vol. 1330, pp. 267–281. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0017445

    Chapter  Google Scholar 

  10. Boudet, A., Contejean, E., Devie, H.: A new AC unification algorithm with an algorithm for solving systems of diophantine equations. In: Proceedings of the 5th Annual Symposium on Logic in Computer Science, LICS, pp. 289–299. IEEE Computer Society (1990). https://doi.org/10.1109/LICS.1990.113755

  11. Calvès, C.F., Fernández, M.: Matching and alpha-equivalence check for nominal terms. J. Comput. Syst. Sci. 76(5), 283–301 (2010). https://doi.org/10.1016/j.jcss.2009.10.003

    Article  MathSciNet  MATH  Google Scholar 

  12. Calvès, C., Fernández, M.: A polynomial nominal unification algorithm. Theor. Comput. Sci. 403(2–3), 285–306 (2008). https://doi.org/10.1016/j.tcs.2008.05.012

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

  14. Clausen, M., Fortenbacher, A.: Efficient solution of linear Diophantine equations. J. Sym. Comput. 8(1–2), 201–216 (1989). https://doi.org/10.1016/S0747-7171(89)80025-2

    Article  MathSciNet  MATH  Google Scholar 

  15. Contejean, E.: A certified AC matching algorithm. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 70–84. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-25979-4_5

    Chapter  Google Scholar 

  16. Eker, S.: Associative-commutative rewriting on large terms. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 14–29. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-44881-0_3

    Chapter  MATH  Google Scholar 

  17. Fages, F.: Associative-commutative unification. In: Shostak, R.E. (ed.) CADE 1984. LNCS, vol. 170, pp. 194–208. Springer, New York (1984). https://doi.org/10.1007/978-0-387-34768-4_12

    Chapter  Google Scholar 

  18. Fages, F.: Associative-commutative unification. J. Sym. Comput. 3(3), 257–275 (1987). https://doi.org/10.1016/S0747-7171(87)80004-4

    Article  MathSciNet  MATH  Google Scholar 

  19. Fernández, M., Gabbay, M.J.: Nominal rewriting. Inf. Comput. 205(6), 917–965 (2007). https://doi.org/10.1016/j.ic.2006.12.002

    Article  MathSciNet  MATH  Google Scholar 

  20. Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects Comput. 13(3), 341–363 (2002). https://doi.org/10.1007/s001650200016

    Article  MATH  Google Scholar 

  21. Kumar, R., Norrish, M.: (Nominal) unification by recursive descent with triangular substitutions. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 51–66. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14052-5_6

    Chapter  Google Scholar 

  22. Levy, J., Villaret, M.: An efficient nominal unification algorithm. In: Proceedings of the 21st International Conference on Rewriting Techniques and Applications, RTA. LIPIcs, vol. 6, pp. 209–226. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2010). https://doi.org/10.4230/LIPIcs.RTA.2010.209

  23. Levy, J., Villaret, M.: Nominal unification from a higher-order perspective. ACM Trans. Comput. Log. 13(2), 10:1–10:31 (2012). https://doi.org/10.1145/2159531.2159532

  24. Owre, S., Shankar, N.: The formal semantics of PVS. Technical report. 97-2R, SRI International Computer Science Laboratory, Menlo Park CA 94025 USA (1997, revised 1999)

    Google Scholar 

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

    Google Scholar 

  26. Pottier, F.: An overview of C\(\alpha \)ML. In: Benton, N., Leroy, X. (eds.) Proceedings of the ACM-SIGPLAN Workshop on ML, ML. Electronic Notes in Theoretical Computer Science, vol. 148, pp. 27–52. Elsevier (2005). https://doi.org/10.1016/j.entcs.2005.11.039

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

  28. Schmidt-Schauß, M., Kutsia, T., Levy, J., Villaret, M., Kutz, Y.D.K.: Nominal unification and matching of higher order expressions with recursive let. Fundam. Informaticae 185(3), 247–283 (2022). https://doi.org/10.3233/FI-222110

    Article  MathSciNet  MATH  Google Scholar 

  29. Shinwell, M.R., Pitts, A.M., Gabbay, M.: FreshML: programming with binders made simple. In: Proceedings of the 8th ACM SIGPLAN International Conference on Functional Programming, ICFP, pp. 263–274. ACM (2003). https://doi.org/10.1145/944705.944729

  30. Stickel, M.E.: A complete unification algorithm for associative-commutative functions. In: Advance Papers of the Fourth International Joint Conference on Artificial Intelligence, IJCAI, pp. 71–76 (1975). https://ijcai.org/Proceedings/75/Papers/011.pdf

  31. Stickel, M.E.: A unification algorithm for associative-commutative functions. J. ACM 28(3), 423–434 (1981). https://doi.org/10.1145/322261.322262

    Article  MathSciNet  MATH  Google Scholar 

  32. Urban, C.: Nominal techniques in Isabelle/HOL. J. Autom. Reason. 40(4), 327–356 (2008). https://doi.org/10.1007/s10817-008-9097-2

    Article  MathSciNet  MATH  Google Scholar 

  33. Urban, C.: Nominal unification revisited. In: Proceedings of the 24th International Workshop on Unification, UNIF. EPTCS, vol. 42, pp. 1–11 (2010). https://doi.org/10.4204/EPTCS.42.1

  34. Urban, C., Pitts, A.M., Gabbay, M.: Nominal unification. Theor. Comput. Sci. 323(1–3), 473–497 (2004). https://doi.org/10.1016/j.tcs.2004.06.016

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgments

Partially supported by the Austrian Science Fund (FWF) Project P 35530, Brazilian FAP-DF Project DE 00193.00001175/2021-11, Brazilian CNPq Project Universal 409003/2021-2, and Georgian Rustaveli National Science Foundation Project FR-21-16725. First author was partially funded by a CNPq productivity research grant 313290/2021-0.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gabriel Ferreira Silva .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Ayala-Rincón, M., Fernández, M., Silva, G.F., Kutsia, T., Nantes-Sobrinho, D. (2023). Nominal AC-Matching. In: Dubois, C., Kerber, M. (eds) Intelligent Computer Mathematics. CICM 2023. Lecture Notes in Computer Science(), vol 14101. Springer, Cham. https://doi.org/10.1007/978-3-031-42753-4_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-42753-4_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-42752-7

  • Online ISBN: 978-3-031-42753-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics