Table of Contents
Fetching ...

On A Parameterized Theory of Dynamic Logic for Operationally-based Programs

Yuanrui Zhang

TL;DR

DLp supports cyclic reasoning, providing an incremental derivation process for recursive programs, making it more convenient to reason about without prior program transformations, and analyze and prove the soundness and completeness of DLp under certain conditions.

Abstract

Applying dynamic logics to program verifications is a challenge, because their axiomatic rules for regular expressions can be difficult to be adapted to different program models. We present a novel dynamic logic, called DLp, which supports reasoning based on programs' operational semantics. For those programs whose transitional behaviours are their standard or natural semantics, DLp makes their verifications easier since one can directly apply the program transitions for reasoning, without the need of re-designing and validating new rules as in most other dynamic logics. DLp is parametric. It provides a model-independent framework consisting of a relatively small set of inference rules, which depends on a given set of trustworthy rules for the operational semantics. These features of DLp let multiple models easily compared in its framework and makes it compatible with existing dynamic-logic theories. DLp supports cyclic reasoning, providing an incremental derivation process for recursive programs, making it more convenient to reason about without prior program transformations. We analyze and prove the soundness and completeness of DLp under certain conditions. Several case studies illustrate the features of DLp and fully demonstrate its potential usage.

On A Parameterized Theory of Dynamic Logic for Operationally-based Programs

TL;DR

DLp supports cyclic reasoning, providing an incremental derivation process for recursive programs, making it more convenient to reason about without prior program transformations, and analyze and prove the soundness and completeness of DLp under certain conditions.

Abstract

Applying dynamic logics to program verifications is a challenge, because their axiomatic rules for regular expressions can be difficult to be adapted to different program models. We present a novel dynamic logic, called DLp, which supports reasoning based on programs' operational semantics. For those programs whose transitional behaviours are their standard or natural semantics, DLp makes their verifications easier since one can directly apply the program transitions for reasoning, without the need of re-designing and validating new rules as in most other dynamic logics. DLp is parametric. It provides a model-independent framework consisting of a relatively small set of inference rules, which depends on a given set of trustworthy rules for the operational semantics. These features of DLp let multiple models easily compared in its framework and makes it compatible with existing dynamic-logic theories. DLp supports cyclic reasoning, providing an incremental derivation process for recursive programs, making it more convenient to reason about without prior program transformations. We analyze and prove the soundness and completeness of DLp under certain conditions. Several case studies illustrate the features of DLp and fully demonstrate its potential usage.
Paper Structure (35 sections, 11 theorems, 60 equations, 8 tables)

This paper contains 35 sections, 11 theorems, 60 equations, 8 tables.

Key Result

theorem 1

Each rule from $Pr_{\textit{ldlp}}$ in Table table:General Rules for LDL is sound.

Theorems & Definitions (33)

  • definition 1: Programs & Formulas
  • definition 2: $\hbox{DL$\mathfrak{p}$}$ Formulas
  • definition 3: Program-labeled Kripke Structures
  • definition 4: Execution Paths
  • definition 5: Semantics of $\hbox{DL$\mathfrak{p}$}$ Formulas
  • definition 6: Labels & Label Mappings
  • definition 7: Labeled $\hbox{DL$\mathfrak{p}$}$ Formulas
  • definition 8: Substitution of Labels
  • definition 9: Semantics of Labeled $\hbox{DL$\mathfrak{p}$}$ Formulas
  • definition 10: Assumptions on Set $\textbf{Pr}_{\textit{op}}$ (${Pr_\textit{dlp}}$)
  • ...and 23 more