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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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
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
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
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
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
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
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
Boudet, A.: Competing for the AC-unification race. J. Autom. Reasoning 11(2), 185–212 (1993). https://doi.org/10.1007/BF00881905
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
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
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
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
Cheney, J.: Relating nominal and higher-order pattern unification. In: Proceedings of the 19th International Workshop on Unification, UNIF, pp. 104–119 (2005)
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
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
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
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
Fages, F.: Associative-commutative unification. J. Sym. Comput. 3(3), 257–275 (1987). https://doi.org/10.1016/S0747-7171(87)80004-4
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
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
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
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
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
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)
Pitts, A.M.: Nominal Sets: Names and Symmetry in Computer Science. Cambridge University Press, Cambridge (2013)
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
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.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
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
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
Stickel, M.E.: A unification algorithm for associative-commutative functions. J. ACM 28(3), 423–434 (1981). https://doi.org/10.1145/322261.322262
Urban, C.: Nominal techniques in Isabelle/HOL. J. Autom. Reason. 40(4), 327–356 (2008). https://doi.org/10.1007/s10817-008-9097-2
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
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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)