Matching Explicit and Modal Reasoning about Programs: A Proof Theoretic Delineation of Dynamic Logic

We establish a match between two broad approaches to reasoning about programs: modal (dynamic logic) proofs on the one hand, and explicit higher-order reference to program semantics, on the other. We show that Pratt-Segerberg's first-order dynamic logic DL proves precisely program properties that are provable in second-order logic with set-existence restricted to a natural class of formulas, well-known to be related to computation theory. The set-existence principle is for computational formulas, i.e. of the form forallRexistxoarrF where R is relational, F quantifier-free. Depending on the exact nature of the programs considered, some fine tuning is needed. We establish a descriptive match, of independent interest, between programming languages L and particular classes DL of computational formulas, in the following sense: the semantics of programs alphaisinL is explicitly definable, in all relational structures, by a formula phialpha of DL; and for every formula phi of DL there is a program in L whose termination is equivalent to phi. In particular, we match the class of regular programs with random assignments to computational formulas that are "sequential", and the regular programs (without random assignments) to formulas we dub "definite", and that obey a natural variable scoping condition

[1]  Jim Alves-Foss,et al.  Higher Order Logic Theorem Proving and its Applications 8th International Workshop, Aspen Grove, Ut, Usa, September 11-14, 1995 : Proceedings , 1995 .

[2]  Jr. Hartley Rogers Theory of Recursive Functions and Effective Computability , 1969 .

[3]  Vaughan R. Pratt,et al.  SEMANTICAL CONSIDERATIONS ON FLOYD-HOARE LOGIC , 1976, FOCS 1976.

[4]  Daniel Leivant,et al.  Logical and Mathematical Reasoning about Imperative Programs. , 1985 .

[5]  W. V. Quine,et al.  Natural deduction , 2021, An Introduction to Proof Theory.

[6]  Stephen G. Simpson,et al.  Subsystems of second order arithmetic , 1999, Perspectives in mathematical logic.

[7]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[8]  David Harel,et al.  First-Order Dynamic Logic , 1979, Lecture Notes in Computer Science.

[9]  David Harel,et al.  A Programming Language for the Inductive Sets, and Applications , 1984, Inf. Control..

[10]  Daniel Leivant,et al.  Partial Correctness Assertions Provable in Dynamic Logics , 2004, FoSSaCS.

[11]  Rasmus Ejlers Møgelberg,et al.  Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science , 2007 .

[12]  Daniel Leivant,et al.  Proving termination assertions in dynamic logics , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[13]  Leon Henkin,et al.  Completeness in the theory of types , 1950, Journal of Symbolic Logic.

[14]  Yde Venema,et al.  Dynamic Logic by David Harel, Dexter Kozen and Jerzy Tiuryn. The MIT Press, Cambridge, Massachusetts. Hardback: ISBN 0–262–08289–6, $50, xv + 459 pages , 2002, Theory and Practice of Logic Programming.

[15]  Tom Melham,et al.  Higher Order Logic Theorem Proving and Its Applications , 1994, Lecture Notes in Computer Science.

[16]  D. C. Cooper,et al.  Theory of Recursive Functions and Effective Computability , 1969, The Mathematical Gazette.

[17]  K. Segerberg A completeness theorem in the modal logic of programs , 1982 .

[18]  B. Dahn Admissible sets and structures , 1978 .

[19]  Daniel Leivant Logical and mathematical reasoning about imperative programs: preliminary report , 1985, POPL '85.

[20]  Albert R. Meyer,et al.  Computability and completeness in logics of programs (Preliminary Report) , 1977, STOC '77.

[21]  Nobuko Yoshida,et al.  An observationally complete program logic for imperative higher-order functions , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[22]  Bernhard Beckert,et al.  Dynamic Logic , 2007, The KeY Approach.