Computability and Completeness in Logics of Programs
Name
MIT-LCS-TM-097.pdf
Size
3.86 MB
Format
Adobe PDF
Checksum (MD5)
cee229b365b63c1ce20ccc84e48b5c55
Author(s) • •
Harel, David
Meyer, Albert R.
Pratt, Vaughan R.
Date Issued
February 1978
Series/Report no.
MIT-LCS-TM-097
Abstract
Dynamic logic is a generalization of first order logic in which quantifiers of the form "for all X…" are replaced by phrases of the form "after executing program α…". This logic subsumes most existing first-order logic of programs that manipulate their environment, including Floyd's and Hoare's logics of partial correctness and Manna and Waldinger's logic of total correctness, yet is more closely related to classical first-order logic than any other proposed logic of programs. We consider two issues: how hard is the validity problem for the formulae of dynamic logic, and how might one axiomatize dynamic logic? We give bounds on the validity problem for some special cases, include a π0/2-completeness result for the partial correctness theories of uninterpreted flowchart programs and a π1/1-completeness result for unrestricted dynamic logic. We also demonstrate the completeness of an axiomatization of dynamic logic relative to arithmetic.
Persistent DSpace Link