Skip to main content

Descriptive and Relative Completeness of Logics for Higher-Order Functions

  • Conference paper
Automata, Languages and Programming (ICALP 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4052))

Included in the following conference series:

Abstract

This paper establishes a strong completeness property of compositional program logics for pure and imperative higher-order functions introduced in [18, 16, 17, 19, 3]. This property, called descriptive completeness, says that for each program there is an assertion fully describing the program’s behaviour up to the standard observational semantics. This formula is inductively calculable from the program text alone. As a consequence we obtain the first relative completeness result for compositional logics of pure and imperative call-by-value higher-order functions in the full type hierarchy.

Work is partially supported by EPSRC GR/R03075/01, GR/T04236/01, GR/S55538/01, GR/T04724/01, GR/T03208/01 and IST-2005-015905 MOBIUS.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Comon, H., Jurski, Y.: Higher-order matching and tree automata. In: Nielsen, M. (ed.) Computer Science Logic. 11th International Workshop, CSL’97, Annual Conference of the EACSL, Aarhus, Denmark, August 23-29, 1997. LNCS, vol. 1414, pp. 157–176. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  2. A prototype implementation of an algorithm deriving characteristic formulae (October 2005), http://www.dcs.qmul.ac.uk/~martinb/capg

  3. Berger, M., Honda, K., Yoshida, N.: A logical analysis of aliasing for higher-order imperative functions. In: ICFP 2005, pp. 280–293 (2005)

    Google Scholar 

  4. Blass, A., Gurevich, Y.: The Underlying Logic of Hoare Logic. In: Current Trends in Theoretical Computer Science, pp. 409–436 (2001)

    Google Scholar 

  5. Clarke, E.M.: The characterization problem for Hoare logics. In: Proc. Royal Society meeting on Mathematical logic and programming languages, pp. 89–106 (1985)

    Google Scholar 

  6. Cook, S.A.: Soundness and completeness of an axiom system for program verification. SIAM J. Comput. 7(1), 70–90 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  7. Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. In: CUP (1990)

    Google Scholar 

  8. de Bakker, J.W.: Mathematical Theory of Program Correctness, Upper Saddle River, NJ, USA. Prentice-Hall, Englewood Cliffs (1980)

    MATH  Google Scholar 

  9. Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)

    Article  MathSciNet  Google Scholar 

  10. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  11. Floyd, R.W.: Assigning meaning to programs. In: Symp. in Applied Math., vol. 19 (1967)

    Google Scholar 

  12. Gorelick, G.: A complete axiomatic system for proving assertions about recursive and non-recursive programs. Technical Report 75, Univ. of Toronto (1975)

    Google Scholar 

  13. Graf, S., Sifakis, J.: A Modal Characterization of Observational Congruence on Finite Terms of CCS. In: Paredaens, J. (ed.) ICALP 1984. LNCS, vol. 172, pp. 222–234. Springer, Heidelberg (1984)

    Google Scholar 

  14. Gunter, C.A.: Semantics of Programming Languages. MIT Press, Cambridge (1995)

    Google Scholar 

  15. Halpern, J.Y.: A good Hoare axiom system for an ALGOL-like language. In: 11th POPL, pp. 262–271. ACM Press, New York (1984)

    Google Scholar 

  16. Honda, K.: From process logic to program logic. In: ICFP 2004, pp. 163–174. ACM Press, New York (2004)

    Chapter  Google Scholar 

  17. Honda, K.: From process logic to program logic (full version of [16]),Typescript, 52 pages (November 2004), Available at: www.dcs.qmul.ac.uk/~kohei/logics

  18. Honda, K., Yoshida, N.: A compositional logic for polymorphic higher-order functions. In: PPDP 2004, pp. 191–202. ACM, New York (2004)

    Chapter  Google Scholar 

  19. Honda, K., Yoshida, N., Berger, M.: An observationally complete program logic for imperative higher-order functions. In: LICS 2005, pp. 270–279 (2005)

    Google Scholar 

  20. King, J.C.: A program verifier. In: IFIP Congress (1), pp. 234–249 (1971)

    Google Scholar 

  21. Kleymann, T.: Hoare logic and auxiliary variables. Technical report, University of Edinburgh, LFCS ECS-LFCS-98-399 (October 1998)

    Google Scholar 

  22. Leivant, D.: Logical and mathematical reasoning about imperative programs: preliminary report. In: Proc. POPL1985, pp. 132–140 (1985)

    Google Scholar 

  23. Leivant, D.: Partial Correctness Assertions Provable in Dynamic Logics. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol. 2987, pp. 304–317. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  24. Mendelson, E.: Introduction to Mathematical Logic. Wadsworth Inc (1987)

    Google Scholar 

  25. Olderog, E.-R.: Sound and Complete Hoare-like Calculi Based on Copy Rules. Acta Inf 16, 161–197 (1981)

    MATH  MathSciNet  Google Scholar 

  26. Owicki, S., Lamport, L.: Proving liveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4(3), 455–495 (1982)

    Article  MATH  Google Scholar 

  27. Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)

    Google Scholar 

  28. Plotkin, G.D., Stirling, C.: A framework for intuitionistic modal logics. In: Theor. Aspects of Reasoning about Knowledge, pp. 399–406. Morgan Kaufmann, San Francisco (1986)

    Google Scholar 

  29. Smyth, M.: Power domains and predicate transformers: A topological view. In: Díaz, J. (ed.) ICALP 1983. LNCS, vol. 154, pp. 662–675. Springer, Heidelberg (1983)

    Chapter  Google Scholar 

  30. Sokołowski, S.: Axioms for total correctness. Acta Inf. 9, 61–71 (1977)

    MATH  Google Scholar 

  31. Steffen, B.: Characteristic formulae. In: Ronchi Della Rocca, S., Ausiello, G., Dezani-Ciancaglini, M. (eds.) ICALP 1989. LNCS, vol. 372, pp. 723–732. Springer, Heidelberg (1989)

    Chapter  Google Scholar 

  32. Steffen, B., Ingólfsdóttir, A.: Characteristic formulae for processes with divergence. Inf. Comput. 110(1), 149–163 (1994), doi:10.1006/inco.1994.1028

    Article  MATH  Google Scholar 

  33. von Oheimb, D.: Hoare logic for mutual recursion and local variables. In: Pandu Rangan, C., Raman, V., Ramanujam, R. (eds.) FST TCS 1999. LNCS, vol. 1738, pp. 168–180. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Honda, K., Berger, M., Yoshida, N. (2006). Descriptive and Relative Completeness of Logics for Higher-Order Functions. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds) Automata, Languages and Programming. ICALP 2006. Lecture Notes in Computer Science, vol 4052. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11787006_31

Download citation

  • DOI: https://doi.org/10.1007/11787006_31

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-35907-4

  • Online ISBN: 978-3-540-35908-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics