Dynamic Logic with Non-rigid Functions
- Cite this paper as:
- Beckert B., Platzer A. (2006) Dynamic Logic with Non-rigid Functions. In: Furbach U., Shankar N. (eds) Automated Reasoning. IJCAR 2006. Lecture Notes in Computer Science, vol 4130. Springer, Berlin, Heidelberg
We introduce a dynamic logic that is enriched by non-rigid functions, i.e., functions that may change their value from state to state (during program execution), and we present a (relatively) complete sequent calculus for this logic. In conjunction with dynamically typed object enumerators, non-rigid functions allow to embed notions of object-orientation in dynamic logic, thereby forming a basis for verification of object-oriented programs. A semantical generalisation of substitutions, called state update, which we add to the logic, constitutes the central technical device for dealing with object aliasing during function modification. With these few extensions, our dynamic logic captures the essential aspects of the complex verification system KeY and, hence, constitutes a foundation for object-oriented verification with the principles of reasoning that underly the successful KeY case studies.
KeywordsDynamic logic sequent calculus program logic software verification logical foundations of programming languages object-orientation
Unable to display preview. Download preview PDF.