Abstract
This paper discusses Ctrl, a tool to analyse – both automatically and manually – term rewriting with logical constraints. Ctrl can be used with TRSs on arbitrary underlying logics, and automatically analyse various properties such as termination, confluence and quasi-reductivity. Ctrl also offers both a manual and automatic mode for equivalence tests using inductive theorem proving, giving support for and verification of “hand-written” term equivalence proofs.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This research is supported by the Austrian Science Fund (FWF) international project I963 and the Graduate Program for RWDC Leaders of Nagoya University.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
However, to avoid ambiguity in the input parser, the brackets and individual strings in the input file may not use the protected symbols [, , and ;, or spaces.
- 2.
This failure is not unlikely, as constrained reduction following [11] requires validity of quantified formulas \(\exists \mathbf {x} [\varphi (\mathbf {x})]\), which is hard for most solvers. To improve performance, Ctrl uses default choices for \(\mathbf {x}\); this method is omitted here for space reasons.
- 3.
The translation for integer transition systems uses a variation of Marc Brockschmidt’s SMT-Pushdown tool at https://github.com/mmjb/SMTPushdown.
References
de Moura, L., Bjørner, N.S.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)
Falke, S., Kapur, D.: A term rewriting approach to the automated termination analysis of imperative programs. In: Schmidt, R.A. (ed.) CADE-22. LNCS, vol. 5663, pp. 277–293. Springer, Heidelberg (2009)
Falke, S., Kapur, D.: Rewriting Induction + Linear arithmetic = Decision procedure. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS, vol. 7364, pp. 241–255. Springer, Heidelberg (2012)
Falke, S., Kapur, D., Sinz, C.: Termination analysis of C programs using compiler intermediate languages. In: Schmidt-Schauß, M. (ed.) Proc. RTA 2011. LIPIcs, vol. 10, pp. 41–50. Dagstuhl (2011)
Furuichi, Y., Nishida, N., Sakai, M., Kusakari, K., Sakabe, T.: Approach to procedural-program verification based on implicit induction of constrained term rewriting systems. IPSJ Trans. Program. 1(2), 100–121 (2008). In Japanese
Giesl, J., Brockschmidt, M., Emmes, F., Frohn, F., Fuhs, C., Otto, C., Plücker, M., Schneider-Kamp, P., Ströder, T., Swiderski, S., Thiemann, R.: Proving Termination of Programs Automatically with AProVE. In: Kapur, D., Weidenbach, C., Demri, S. (eds.) IJCAR 2014. LNCS, vol. 8562, pp. 184–191. Springer, Heidelberg (2014)
Giesl, J., Raffelsieper, M., Schneider-Kamp, P., Swiderski, S., Thiemann, R.: Automated termination proofs for Haskell by term rewriting. ACM Trans. Program. Lang. Syst. (TOPLAS) 33(2), 71–739 (2011)
Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. J. Autom. Reason. 37(3), 155–203 (2006)
Kop, C.: Termination of LCTRSs. In: Waldmann, J. (ed.) Proceedings of WST, pp. 59–63 (2013)
Kop, C., Nishida, N.: Term Rewriting with Logical Constraints. In: Fontaine, P., Ringeissen, C., Schmidt, R.A. (eds.) FroCoS 2013. LNCS, vol. 8152, pp. 343–358. Springer, Heidelberg (2013)
Kop, C., Nishida, N.: Automatic constrained rewriting induction towards verifying procedural programs. In: Garrigue, J. (ed.) APLAS 2014. LNCS, vol. 8858, pp. 334–353. Springer, Heidelberg (2014)
Kop, C., Nishida, N.: Towards verifying procedural programs using constrained rewriting induction. Technical report (2014). http://arxiv.org/abs/1409.0166
Otto, C., Brockschmidt, M., von Essen, C., Giesl, J.: Automated termination analysis of Java Bytecode by term rewriting. In: Lynch, C. (ed.) Proc. RTA 2010. LIPIcs, vol. 6, pp. 259–276. Dagstuhl (2010)
Reddy, U.S: Term rewriting induction. In: Stickel, M. (ed.) Proc. CADE 1990. LNCS, vol. 449, pp. 162–177. Springer, Heidelberg (1990)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kop, C., Nishida, N. (2015). Constrained Term Rewriting tooL. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2015. Lecture Notes in Computer Science(), vol 9450. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-48899-7_38
Download citation
DOI: https://doi.org/10.1007/978-3-662-48899-7_38
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-48898-0
Online ISBN: 978-3-662-48899-7
eBook Packages: Computer ScienceComputer Science (R0)