Abstract
A declarative programming language is based on some logic \(\mathcal{L}\) and its operational semantics is given by a proof calculus which is often presented in a natural deduction style by means of inference rules. Declarative programs are theories \(\mathcal{S}\) of \(\mathcal{L}\) and executing a program is proving goals \(\varphi \) in the inference system \(\mathcal{I}(\mathcal{S})\) associated to \(\mathcal{S}\) as a particularization of the inference system of the logic. The usual soundness assumption for \(\mathcal{L}\) implies that every model \(\mathcal{A}\) of \(\mathcal{S}\) also satisfies \(\varphi \). In this setting, the operational termination of a declarative program is quite naturally defined as the absence of infinite proof trees in the inference system \(\mathcal{I}(\mathcal{S})\). Proving operational termination of declarative programs often involves two main ingredients: (i) the generation of logical models \(\mathcal{A}\) to abstract the program execution (i.e., the provability of specific goals in \(\mathcal{I}(\mathcal{S})\)), and (ii) the use of well-founded relations to guarantee the absence of infinite branches in proof trees and hence of infinite proof trees, possibly taking into account the information about provability encoded by \(\mathcal{A}\). In this paper we show how to deal with (i) and (ii) in a uniform way. The main point is the synthesis of logical models where well-foundedness is a side requirement for some specific predicate symbols.
Partially supported by the EU (FEDER), Spanish MINECO TIN 2013-45732-C4-1-P and TIN2015-69175-C4-1-R, and GV PROMETEOII/2015/013.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
It is well-known that equality \(x=y\) can be defined by the second-order expression \(\forall P (P(x) \Leftrightarrow P(y))\).
- 2.
We have enriched the syntax of Maude modules to specifiy this requirement.
References
Alarcón, B., Gutiérrez, R., Lucas, S., Navarro-Marset, R.: Proving termination properties with mu-term. In: Johnson, M., Pavlovic, D. (eds.) AMAST 2010. LNCS, vol. 6486, pp. 201–208. Springer, Heidelberg (2011)
Alarcón, B., Lucas, S., Navarro-Marset, R.: Using matrix interpretations over the reals in proofs of termination. In: Lucio, F., Moreno, G., Peña, R.. (eds.) Proceedings of the IX Jornadas Sobre Programación y Lenguajes, PROLE 2009, pp. 255–264, September 2009
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)
Cook, B., Rybalchenko, A., Podelski, A.: Proving program termination. Commun. ACM 54(5), 88–98 (2011)
Durán, F., Lucas, S., Marché, C., Meseguer, J., Urbain, X.: Proving operational termination of membership equational programs. High.-Order Symbolic Comput. 21(1–2), 59–88 (2008)
Goguen, J., Meseguer, J.: Models and equality for logical programming. In: Ehrig, H., Kowalsky, R.A., Levi, G., Montanari, U. (eds.) TAPSOFT 1987. LNCS, vol. 250, pp. 1–22. Springer, Heidelberg (1987)
Goguen, J., Meseguer, J.: Order-sorted algebra I: equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theor. Comput. Sci. 105, 217–273 (1992)
Gutiérrez, R., Lucas, S., Reinoso, P.: A tool for the automatic generation of logical models of order-sorted first-order theories (Submitted). http://zenon.dsic.upv.es/ages/
Lucas, S.: Polynomials over the reals in proofs of termination: from theory to practice. RAIRO Theor. Inform. Appl. 39(3), 547–586 (2005)
Lucas, S.: Synthesis of models for order-sorted first-order theories using linear algebra and constraint solving. Electron. Proc. Theor. Comput. Sci. 200, 32–47 (2015)
Lucas, S., Marché, C., Meseguer, J.: Operational termination of conditional term rewriting systems. Inform. Proc. Lett. 95, 446–453 (2005)
Lucas, S., Meseguer, J.: Models for logics and conditional constraints in automated proofs of termination. In: Aranda-Corral, G.A., Calmet, J., Martín-Mateos, F.J. (eds.) AISC 2014. LNCS (LNAI), vol. 8884, pp. 7–18. Springer, Heidelberg (2014)
Lucas, S., Meseguer, J.: Operational termination of membership equational programs: the order-sorted way. In: Rosu, G. (ed.) Proceedings of the 7th International Workshop on Rewriting Logic and its Applications, WRLA 2008. Electronic Notes in Theoretical Computer Science, vol. 238, pp. 207–225 (2009)
Lucas, S., Meseguer, J.: Proving operational termination of declarative programs in general logics. In: Danvy, O. (ed.) Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming, PPDP 2014, pp. 111–122. ACM Digital Library (2014)
Meseguer, J.: General logics. In: Ebbinghaus, H.-D., et al. (eds.) Logic Colloquium 1987, pp. 275–329, North-Holland (1989)
Meseguer, J.: Membership algebra as a logical framework for equational specification. In: Parisi-Presicce, F. (ed.) WADT 1997. LNCS, vol. 1376, pp. 18–61. Springer, Heidelberg (1998)
Neurauter, F., Middeldorp, A.: Revisiting matrix interpretations for proving termination of term rewriting. In: Schmidt-Schauss, M. (ed.) Proceedings of the 22nd International Conference on Rewriting Techniques and Applications, RTA 2011. LIPICS, vol. 10, pp. 251–266 (2011)
Shapiro, S.: Foundations without Foundationalism: A Case for Second-Order Logic. Clarendon Press, Oxford (1991)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Lucas, S. (2016). Use of Logical Models for Proving Operational Termination in General Logics. In: Lucanu, D. (eds) Rewriting Logic and Its Applications. WRLA 2016. Lecture Notes in Computer Science(), vol 9942. Springer, Cham. https://doi.org/10.1007/978-3-319-44802-2_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-44802-2_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-44801-5
Online ISBN: 978-3-319-44802-2
eBook Packages: Computer ScienceComputer Science (R0)