Algebraic separation logic (Q549676)

From MaRDI portal





scientific article; zbMATH DE number 5925505
Language Label Description Also known as
default for all languages
No label defined
    English
    Algebraic separation logic
    scientific article; zbMATH DE number 5925505

      Statements

      Algebraic separation logic (English)
      0 references
      0 references
      0 references
      0 references
      18 July 2011
      0 references
      Separation logic is an extension of Hoare logic with reasoning about complex and shared data structures by added assertions to express separation between memory regions. For arbitrary assertions \( p\) and \(q\) the conjunction \(p \star q\) asserts that \(p\) and \(q\) both hold, but each for separate parts of the storage, and \(p-\star q\) holds for a region if (roughly) \(p\) holds in another region then \(q\) holds in joint region of these two regions. In this paper an algebraic approach to separation logic is presented. In particular, an algebraic characterization for assertions of separation logic is given and different classes of assertions are discussed. A relational semantics of the commands of a simple programming language associated with separation logic is given by the presented algebraic framework. It is shown how to algebraically formulate the requirement that a command preserves certain variables. It is claimed that the algebraic view does not only yield new insights into separation logic but also shortens proofs due to a point-free representation.
      0 references
      0 references
      Hoare logic
      0 references
      separation logic
      0 references
      standard Kleene algebra
      0 references
      programming language
      0 references
      semantics
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references

      Identifiers