Abstract
Logically Constrained Term Rewriting Systems (LCTRSs) provide a framework very suitable for modeling both imperative and functional languages. One may convert programs in traditional languages into LCTRSs, and then use methods from term rewriting to analyze properties such as termination or program equivalence.
In particular in functional programming, higher-order constructs arise naturally. These have been studied using higher-order term rewriting. The recent definition of LCSTRSs combines higher-order rewriting with logical constraints, which creates the framework to closely model functional programs, but very few methods for their analysis have thus far been defined. Here, we study program equivalence for LCSTRSs, combining the definition of rewriting induction for first-order constrained rewriting with insights from unconstrained higher-order equivalence analysis.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
De Angelis, E., Fioravanti, F., Pettorossi, A., Proietti, M.: Relational verification through horn clause transformation. In: Rival, X. (ed.) SAS 2016. LNCS, vol. 9837, pp. 147–169. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53413-7_8
Aoto, T., Nishida, N., Schöpf, J.: Equational theories and validity for logically constrained term rewriting. In: Proceedings of the FSCD 2024. LIPIcs, vol. 299, pp. 31:1–31:21 (2024). https://doi.org/10.4230/LIPICS.FSCD.2024.31
Aoto, T., Yamada, T., Chiba, Y.: Natural inductive theorems for higher-order rewriting. In: Proceedings of the RTA 2011. LIPIcs, vol. 10, pp. 107–121 (2011). https://doi.org/10.4230/LIPIcs.RTA.2011.107
Aoto, T., Yamada, T., Toyama, Y.: Inductive theorems for higher-order rewriting. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 269–284. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-25979-4_19
Chiba, Y., Aoto, T., Toyama, Y.: Program transformation templates for tupling based on term rewriting. IEICE Trans. Inf. Syst. E93-D(5), 963–973 (2010). https://doi.org/10.1587/transinf.E93.D.963
Delmas, D., Miné, A.: Analysis of software patches using numerical abstract interpretation. In: Chang, B.-Y.E. (ed.) SAS 2019. LNCS, vol. 11822, pp. 225–246. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-32304-2_12
Falke, S., Kapur, D.: Rewriting induction + linear arithmetic = decision procedure. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS (LNAI), vol. 7364, pp. 241–255. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31365-3_20
Felsing, D., Grebing, S., Klebanov, V., Rümmer, P., Ulbrich, M.: Automating regression verification. In: Proceedings of the ASE 2014, pp. 349–360. ACM (2014). https://doi.org/10.1145/2642937.2642987
Fuhs, C., Kop, C., Nishida, N.: Verifying procedural programs via constrained rewriting induction. ACM Trans. Comput. Logic (TOCL) 18(2), 14:1–14:50 (2017). https://doi.org/10.1145/3060143
Godlin, B., Strichman, O.: Inference rules for proving the equivalence of recursive procedures. Acta Informatica 45(6), 403–439 (2008). https://doi.org/10.1007/s00236-008-0075-2
Guo, L., Hagens, K., Kop, C., Vale, D.: Higher-order constrained dependency pairs for (universal) computability. In: Proceedings of the MFCSÂ 2024 (2024, to Appear). https://doi.org/10.48550/arXiv.2406.19379
Guo, L., Kop, C.: Higher-order LCTRSs and their termination. In: Weirich, S. (ed.) ESOP 2024. LNCS, vol. 14577, pp. 331–357. Springer, Cham (2024). https://doi.org/10.1007/978-3-031-57267-8_13
Hagens, K., Kop, C.: Rewriting induction for higher-order constrained term rewriting systems (2024). https://www.cs.ru.nl/~cynthiakop/lopstr24.pdf; pre-editing copy of this paper including appendix
Huth, M., Ryan, M.D.: Modelling and Reasoning About Systems. Cambridge University Press (2004). https://doi.org/10.1017/CBO9780511810275
Koike, H., Toyama, Y.: Inductionless induction and rewriting induction. Comput. Softw. 17(6), 509–520 (2000). https://doi.org/10.11309/jssst.17.509. (in Japanese)
Kop, C., Nishida, N.: Term rewriting with logical constraints. In: Fontaine, P., Ringeissen, C., Schmidt, R.A. (eds.) FroCoS 2013. LNCS (LNAI), vol. 8152, pp. 343–358. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40885-4_24
Kop, C., Nishida, N.: Constrained term rewriting tooL. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) LPAR 2015. LNCS, vol. 9450, pp. 549–557. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48899-7_38
Kop, C., Raamsdonk, F.v.: Dynamic dependency pairs for algebraic functional systems. LMCS 8(2), 1–51 (2012). https://doi.org/10.2168/LMCS-8(2:10)2012
Kusakari, K.: On proving termination of term rewriting systems with higher-order variables. IPSJ Trans. Program. 42(7), 35–45 (2001). http://id.nii.ac.jp/1001/00016864/
Nakabayashi, N., Nishida, N., Kusakari, K., Sakabe, T., Sakai, M.: Lemma generation method in rewriting induction for constrained term rewriting systems. Comput. Softw. 28(1), 173–189 (2010). https://www.trs.css.i.nagoya-u.ac.jp/crisys/nakabayashi10.pdf
Nishida, N., Kojima, M., Kato, T.: On transforming imperative programs into logically constrained term rewrite systems via injective functions from configurations to terms. In: Proceedings of the WPTEÂ 2022 (2022). https://wvvw.easychair.org/publications/preprint_download/DbM2
Partush, N., Yahav, E.: Abstract semantic differencing via speculative correlation. In: Proceedings of the OOPSLA 2014, pp. 811–828. ACM (2014). https://doi.org/10.1145/2660193.2660245
Reddy, U.S.: Term rewriting induction. In: Stickel, M.E. (ed.) CADE 1990. LNCS, vol. 449, pp. 162–177. Springer, Heidelberg (1990). https://doi.org/10.1007/3-540-52885-7_86
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Hagens, K., Kop, C. (2024). Rewriting Induction for Higher-Order Constrained Term Rewriting Systems. In: Bowles, J., Søndergaard, H. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2024. Lecture Notes in Computer Science, vol 14919. Springer, Cham. https://doi.org/10.1007/978-3-031-71294-4_12
Download citation
DOI: https://doi.org/10.1007/978-3-031-71294-4_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-71293-7
Online ISBN: 978-3-031-71294-4
eBook Packages: Computer ScienceComputer Science (R0)