Abstract
We tackle the problem of partial correctness of programs processing structures defined as graphs. We introduce a kernel imperative programming language endowed with atomic actions that participate in the transformation of graph structures and provide a decidable logic for reasoning about these transformations in a Hoare-style calculus. The logic for reasoning about the transformations (baptized \({\cal SROIQ}^\sigma\)) is an extension of the Description Logic (DL) \(\mathcal{SROIQ}\), and the graph structures manipulated by the programs are models of this logic. The programming language is non-standard in that it has an instruction set targeted at graph manipulations (such as insertion and deletion of arcs), and its conditional statements (in loops and selections) are \({\cal SROIQ}^\sigma\) formulas. The main challenge solved in this paper is to show that the resulting proof problems are decidable.
This work has been funded by projects CLIMT (ANR-11-BS02-016) and TGV (CNRS-INRIA-FAPERGS/156779 and 12/0997-7).
Chapter PDF
Similar content being viewed by others
References
Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., Patel-Schneider, P.F. (eds.): The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press, New York (2003)
Brenas, J.H., Echahed, R., Strecker, M.: A hoare-like calculus using the \(\uppercase{\mathcal{sroiq}}^\sigma\) logic on transformation of graphs (extended version). CoRR, arxiv.org (2014)
Brenas, J.H., Echahed, R., Strecker, M.: \(\uppercase{\mathcal{sroiq}}^\sigma\) is decidable. CoRR, arxiv.org (2014)
Calvanese, D., Ortiz, M., Simkus, M.: Evolving graph databases under description logic constraints. In: Proc. of the 26th Int. Workshop on Description Logics (DL 2013). CEUR Electronic Workshop Proceedings, vol. 1014, pp. 120–131 (2013)
Chaabani, M., Echahed, R., Strecker, M.: Logical foundations for reasoning about transformations of knowledge bases. In: Eiter, T., Glimm, B., Kazakov, Y., Krötzsch, M. (eds.) DL Description Logics. CEUR Workshop Proceedings, vol. 1014, pp. 616–627. CEUR-WS.org (2013)
Courcelle, B., Engelfriet, J.: Graph structure and monadic second-order logic, a language theoretic approach. Cambridge University Press (2011)
Habel, A., Pennemann, K.-H., Rensink, A.: Weakest preconditions for high-level programs. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 445–460. Springer, Heidelberg (2006)
Horrocks, I., Kutz, O., Sattler, U.: The even more irresistible SROIQ. In: Proc. of the 10th International Conference of Knowledge Representation and Reasoning, KR-2006, Lake District UK (2006)
Immerman, N., Rabinovich, A., Reps, T., Sagiv, M., Yorsh, G.: The boundary between decidability and undecidability for transitive-closure logics. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 160–174. Springer, Heidelberg (2004)
Liu, H., Lutz, C., Milicic, M., Wolter, F.: Foundations of instance level updates in expressive description logics. Artificial Intelligence 175(18), 2170–2197 (2011)
Møller, A., Schwartzbach, M.I.: The pointer assertion logic engine. In: PLDI, pp. 221–231 (2001)
Poskitt, C.M., Plump, D.: Hoare-style verification of graph programs. Fundam. Inform. 118(1-2), 135–175 (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 IFIP International Federation for Information Processing
About this paper
Cite this paper
Brenas, J.H., Echahed, R., Strecker, M. (2014). A Hoare-Like Calculus Using the SROIQσ Logic on Transformations of Graphs. In: Diaz, J., Lanese, I., Sangiorgi, D. (eds) Theoretical Computer Science. TCS 2014. Lecture Notes in Computer Science, vol 8705. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44602-7_14
Download citation
DOI: https://doi.org/10.1007/978-3-662-44602-7_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-44601-0
Online ISBN: 978-3-662-44602-7
eBook Packages: Computer ScienceComputer Science (R0)