A First Order Logic with Frames

01/25/2019
by   Christof Löding, et al.
0

We propose a novel logic, called Frame Logic (FL), that extends first-order logic (with recursive definitions) using a construct Fr(·) that captures the implicit frames of formulas--- the precise subset of the universe upon which their meaning depends. Using such frames, we formulate proof rules that facilitate frame reasoning elegantly when the underlying model undergoes change. We show that the logic is expressive by expressing several properties of data-structures and also exhibit a translation from a separation logic that defines precise formulas to frame logic. Finally, we design a program logic based on frame logic for reasoning with programs that dynamically update heaps that facilitates local specifications and frame reasoning. We present both localized proof rules as well as rules that can derive the weakest tightest preconditions in FL. We show that verification conditions for recursion-free program blocks can be derived also in pure first-order logic with recursive definitions with an appropriate frame rule, facilitating frame reasoning.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/08/2023

Outcome Separation Logic: Local Reasoning for Correctness and Incorrectness with Computational Effects

Separation logic's compositionality and local reasoning properties have ...
research
05/10/2021

A Framework for Reasoning About LF Specifications

This thesis develops a framework for formalizing reasoning about specifi...
research
09/19/2019

Proof Pearl: Magic Wand as Frame

Separation logic adds two connectives to assertion languages: separating...
research
03/13/2021

Proving and Disproving Programs with Shared Mutable Data

We present a tool for verification of deterministic programs with shared...
research
06/26/2018

Towards a Logic for Reasoning About LF Specifications

We describe the development of a logic for reasoning about specification...
research
09/18/2019

A Tractable Logic for Molecular Biology

We introduce a logic for knowledge representation and reasoning on prote...
research
10/05/2022

Gradual C0: Symbolic Execution for Efficient Gradual Verification

Current static verification techniques such as separation logic support ...

Please sign up or login with your details

Forgot password? Click here to reset