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

Daniel M. Leivant · 2006

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 phialphaof DL; and for every formula phi of DLthere 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

Read the paper · More papers on PaperTik