Abstract
In program verification, measures for proving the termination of programs are typically constructed using (notions of size for) the data manipulated by the program. Such data are often described by means of logical formulas. For example, the cyclic proof technique makes use of semantic approximations of inductively defined predicates to construct Fermat-style infinite descent arguments. However, logical formulas must often incorporate explicit size information (e.g. a list length parameter) in order to support inter-procedural analysis.
In this paper, we show that information relating the sizes of inductively defined data can be automatically extracted from cyclic proofs of logical entailments. We characterise this information in terms of a graph-theoretic condition on proofs, and show that this condition can be encoded as a containment between weighted automata. We also show that under certain conditions this containment falls within known decidability results. Our results can be viewed as a form of realizability for cyclic proof theory.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Note this is a stronger property than local soundness, which only requires the conclusion to be valid whenever all of the premises are.
- 2.
Excepting certain instances of the (\(=\)L) rule, e.g. \({\text {P}}{x}, {\text {P}}{x} \vdash \varDelta \Rightarrow {\text {P}}{x}, {\text {P}}{y}, x = y \vdash \varDelta \). However, note that one can check whether any given instance of (\(=\)L) satisfies the injectivity property, and exclude proofs containing such instances from consideration.
References
Aczel, P.: An introduction to inductive definitions. In: Barwise, J. (ed.) Handbook of Mathematical Logic, pp. 739–782. North-Holland, Amsterdam (1977)
Almagor, S., Boker, U., Kupferman, O.: What’s decidable about weighted automata? In: Bultan, T., Hsiung, P.-A. (eds.) ATVA 2011. LNCS, vol. 6996, pp. 482–491. Springer, Heidelberg (2011). doi:10.1007/978-3-642-24372-1_37
Berdine, J., Cook, B., Distefano, D., O’Hearn, P.W.: Automatic termination proofs for programs with shape-shifting heaps. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 386–400. Springer, Heidelberg (2006). doi:10.1007/11817963_35
Brotherston, J.: Cyclic proofs for first-order logic with inductive definitions. In: Beckert, B. (ed.) TABLEAUX 2005. LNCS, vol. 3702, pp. 78–92. Springer, Heidelberg (2005). doi:10.1007/11554554_8
Brotherston, J.: Formalised inductive reasoning in the logic of bunched implications. In: Nielson, H.R., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 87–103. Springer, Heidelberg (2007). doi:10.1007/978-3-540-74061-2_6
Brotherston, J., Bornat, R., Calcagno, C.: Cyclic proofs of program termination in separation logic. ACM SIGPLAN Not. 43, 101–112 (2008). doi:10.1145/1328438.1328453. POPL-35. ACM
Brotherston, J., Simpson, A.: Sequent calculi for induction and infinite descent. J. Log. Comput. 21(6), 1177–1216 (2011). doi:10.1093/logcom/exq052
Droste, M., Kuich, W., Vogler, H.: Handbook of Weighted Automata. Monographs in Theoretical Computer Science. Springer, Heidelberg (2009). doi:10.1007/978-3-642-01492-5
Tellez, G., Brotherston, J.: Automatically verifying temporal properties of pointer programs with cyclic proof. In: de Moura, L. (ed.) CADE 2017. LNCS, vol. 10395. Springer, Cham (2017). doi:10.1007/978-3-319-63046-5_30
Filiot, E., Gentilini, R., Raskin, J.-F.: Finite-valued weighted automata. In: FSTTCS-34. LIPICS, vol. 29, pp. 133–145 (2014). doi:10.4230/LIPIcs.FSTTCS.2014.133
Ishtiaq, S., O’Hearn, P.W.: BI as an assertion language for mutable data structures. In: Proceedings of the POPL-28, pp. 14–26. ACM (2001). doi:10.1145/373243.375719
Johnson, D.B.: Finding all the elementary circuits of a directed graph. SIAM J. Comput. 4(1), 77–84 (1975). doi:10.1137/0204007
Krob, D.: The equality problem for rational series with multiplicities in the tropical semiring is undecidable. IJAC 4(3), 405–426 (1994). doi:10.1142/S0218196794000063
Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination. In: POPL-28, pp. 81–92. ACM (2001). doi:10.1145/373243.360210
Martin-Löf, P.: Hauptsatz for the intuitionistic theory of iterated inductive definitions. 2nd Scandinavian Logic Symposium. Studies in Logic and the Foundations of Mathematics, vol. 63, pp. 179–216. North-Holland, Amsterdam (1971)
Reynolds, J.C.: Separation logic: a logic for shared mutable data structures. In: Proceedings of the LICS-17, pp. 55–74. IEEE (2002). doi:10.1109/LICS.2002.1029817
Rowe, R.N.S., Brotherston, J.: Automatic cyclic termination proofs for recursive procedures in separation logic. In: CPP-6, pp. 53–65. ACM (2017). doi:10.1145/3018610.3018623
Rowe, R.N.S., Brotherston, J.: Size relationships in abstract cyclic entailment systems. Technical report (2017). https://arxiv.org/abs/1702.03981
Weber, A., Seidl, H.: On the degree of ambiguity of finite automata. Theor. Comput. Sci. 88(2), 325–349 (1991). doi:10.1016/0304-3975(91)90381-B
Acknowledgements
We extend thanks to Radu Grigore, Carsten Fuhs, and the PPLV group at UCL for useful discussions and invaluable comments. We are grateful to Alexandra Silva for suggesting to investigate weighted automata. This work was supported primarily by EPSRC grant EP/K040049/1, and also by EPSRC grant EP/N028759/1.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Rowe, R.N.S., Brotherston, J. (2017). Realizability in Cyclic Proof: Extracting Ordering Information for Infinite Descent. In: Schmidt, R., Nalon, C. (eds) Automated Reasoning with Analytic Tableaux and Related Methods. TABLEAUX 2017. Lecture Notes in Computer Science(), vol 10501. Springer, Cham. https://doi.org/10.1007/978-3-319-66902-1_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-66902-1_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-66901-4
Online ISBN: 978-3-319-66902-1
eBook Packages: Computer ScienceComputer Science (R0)