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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
A prototype implementation of an algorithm deriving characteristic formulae (October 2005), http://www.dcs.qmul.ac.uk/~martinb/capg
Berger, M., Honda, K., Yoshida, N.: A logical analysis of aliasing for higher-order imperative functions. In: ICFP 2005, pp. 280–293 (2005)
Blass, A., Gurevich, Y.: The Underlying Logic of Hoare Logic. In: Current Trends in Theoretical Computer Science, pp. 409–436 (2001)
Clarke, E.M.: The characterization problem for Hoare logics. In: Proc. Royal Society meeting on Mathematical logic and programming languages, pp. 89–106 (1985)
Cook, S.A.: Soundness and completeness of an axiom system for program verification. SIAM J. Comput. 7(1), 70–90 (1978)
Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. In: CUP (1990)
de Bakker, J.W.: Mathematical Theory of Program Correctness, Upper Saddle River, NJ, USA. Prentice-Hall, Englewood Cliffs (1980)
Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Floyd, R.W.: Assigning meaning to programs. In: Symp. in Applied Math., vol. 19 (1967)
Gorelick, G.: A complete axiomatic system for proving assertions about recursive and non-recursive programs. Technical Report 75, Univ. of Toronto (1975)
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)
Gunter, C.A.: Semantics of Programming Languages. MIT Press, Cambridge (1995)
Halpern, J.Y.: A good Hoare axiom system for an ALGOL-like language. In: 11th POPL, pp. 262–271. ACM Press, New York (1984)
Honda, K.: From process logic to program logic. In: ICFP 2004, pp. 163–174. ACM Press, New York (2004)
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
Honda, K., Yoshida, N.: A compositional logic for polymorphic higher-order functions. In: PPDP 2004, pp. 191–202. ACM, New York (2004)
Honda, K., Yoshida, N., Berger, M.: An observationally complete program logic for imperative higher-order functions. In: LICS 2005, pp. 270–279 (2005)
King, J.C.: A program verifier. In: IFIP Congress (1), pp. 234–249 (1971)
Kleymann, T.: Hoare logic and auxiliary variables. Technical report, University of Edinburgh, LFCS ECS-LFCS-98-399 (October 1998)
Leivant, D.: Logical and mathematical reasoning about imperative programs: preliminary report. In: Proc. POPL1985, pp. 132–140 (1985)
Leivant, D.: Partial Correctness Assertions Provable in Dynamic Logics. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol. 2987, pp. 304–317. Springer, Heidelberg (2004)
Mendelson, E.: Introduction to Mathematical Logic. Wadsworth Inc (1987)
Olderog, E.-R.: Sound and Complete Hoare-like Calculi Based on Copy Rules. Acta Inf 16, 161–197 (1981)
Owicki, S., Lamport, L.: Proving liveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4(3), 455–495 (1982)
Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)
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)
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)
Sokołowski, S.: Axioms for total correctness. Acta Inf. 9, 61–71 (1977)
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)
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
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)