11 research outputs found
Weak Arithmetic Completeness of Object-Oriented First-Order Assertion Networks
We present a completeness proof of the inductive assertion method for object-oriented programs extended with auxiliary variables. The class of programs considered are assumed to compute over structures which include the standard interpretation of Presburger arithmetic. Further, the assertion language is first-order, i.e., quantification only ranges over basic types like that of the natural numbers, Boolean and Object
Some general incompleteness results for partial correctness logics
AbstractIt is known that incompleteness of Hoare's logic relative to certain data type specifications can occur due to the ability of partial correctness assertions to code unsolvable problems; cf. Andréka, Németi, and Sain (1979, Lecture Notes in Computer Science Vol. 74, pp. 208–218, Springer-Verlag, New York/Berlin) and Bergstra and Tucker (1982, Theoret. Comput. Sci. 17, 303–315). We improve what we think are the main known theorems of this kind, showing that they depend only on very weak assumptions on the data type specification (ensuring the ability to simulate arbitrarily long finite initial segments of the natural numbers with successor), and pointing out that the recursion theoretic strength of the obtained results can be increased
Recursive assertions are not enough - or are they?
AbstractCall a set of assertions A complete (with respect to a class of programs S) if for any p, q∈A and S∈S, wherever {p}S{q} holds, then all intermediate assertions can be chosen from A. This paper is devoted to the study of the problem which sets of assertions are complete in the above sense. We prove that any set of recursive assertions containing true and false is not complete. We prove the completeness for while programs of some more powerful assertions, e.g. the set of recursively enumerable assertions. Finally, we show that by allowing the use of an ‘auxilliary’ coordinate, the set of recursive assertions is complete for while programs
Toward Structured Proofs for Dynamic Logics
We present Kaisar, a structured interactive proof language for differential
dynamic logic (dL), for safety-critical cyber-physical systems (CPS). The
defining feature of Kaisar is *nominal terms*, which simplify CPS proofs by
making the frequently needed historical references to past program states
first-class. To support nominals, we extend the notion of structured proof with
a first-class notion of *structured symbolic execution* of CPS models. We
implement Kaisar in the theorem prover KeYmaera X and reproduce an example on
the safe operation of a parachute and a case study on ground robot control. We
show how nominals simplify common CPS reasoning tasks when combined with other
features of structured proof. We develop an extensive metatheory for Kaisar. In
addition to soundness and completeness, we show a formal specification for
Kaisar's nominals and relate Kaisar to a nominal variant of dL