Skip to main content

Realizability in Cyclic Proof: Extracting Ordering Information for Infinite Descent

  • Conference paper
  • First Online:
Automated Reasoning with Analytic Tableaux and Related Methods (TABLEAUX 2017)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 10501))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 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. 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

  1. Aczel, P.: An introduction to inductive definitions. In: Barwise, J. (ed.) Handbook of Mathematical Logic, pp. 739–782. North-Holland, Amsterdam (1977)

    Chapter  Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. 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

    Chapter  Google Scholar 

  4. 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

    Chapter  Google Scholar 

  5. 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

    Chapter  Google Scholar 

  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

    Article  MATH  Google Scholar 

  7. Brotherston, J., Simpson, A.: Sequent calculi for induction and infinite descent. J. Log. Comput. 21(6), 1177–1216 (2011). doi:10.1093/logcom/exq052

    Article  MATH  MathSciNet  Google Scholar 

  8. 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

    Book  MATH  Google Scholar 

  9. 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

    Google Scholar 

  10. 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

  11. 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

  12. Johnson, D.B.: Finding all the elementary circuits of a directed graph. SIAM J. Comput. 4(1), 77–84 (1975). doi:10.1137/0204007

    Article  MATH  MathSciNet  Google Scholar 

  13. 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

    MATH  MathSciNet  Google Scholar 

  14. 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

  15. 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)

    Chapter  Google Scholar 

  16. 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

  17. 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

  18. Rowe, R.N.S., Brotherston, J.: Size relationships in abstract cyclic entailment systems. Technical report (2017). https://arxiv.org/abs/1702.03981

  19. 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

    Article  MATH  MathSciNet  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Reuben N. S. Rowe .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics