Corpus ID: 4713695

Completeness of Cyclic Proofs for Symbolic Heaps

  title={Completeness of Cyclic Proofs for Symbolic Heaps},
  author={M. Tatsuta and K. Nakazawa and D. Kimura},
Separation logic is successful for software verification in both theory and practice. Decision procedure for symbolic heaps is one of the key issues. This paper proposes a cyclic proof system for symbolic heaps with general form of inductive definitions, and shows its soundness and completeness. The decision procedure for entailments of symbolic heaps with inductive definitions is also given. Decidability for entailments of symbolic heaps with inductive definitions is an important question… Expand
Spatial Factorization in Cyclic-Proof System for Separation Logic
A new inference rule is introduced, called the factor rule, which enables us to factorize the inductive predicates in spatial formulas and to find predicates to be unfolded in the Unfold-Match-Remove proof strategy. Expand


Completeness of Cyclic Proofs for Symbolic Heaps with Inductive Definitions
The completeness is proved by using a proof search algorithm and it also gives us a decision procedure for entailments of symbolic heaps with cone inductive definitions. Expand
Symbolic Execution with Separation Logic
A sound method for automatically proving Hoare triples for loop-free code in Separation Logic, for certain preconditions and postconditions (symbolic heaps) for symbolic heaps, and extraction of frame axioms from incomplete proofs. Expand
Model checking for symbolic-heap separation logic with inductive predicates
The problem of checking that a given stack-heap memory state satisfies a given formula in this language, as arises e.g. in software testing or runtime verification, is shown to be decidable and a bottom-up fixed point algorithm is presented that decides the problem and runs in exponential time in the size of the problem instance. Expand
Deciding Entailments in Inductive Separation Logic with Tree Automata
This work reduces the entailment problem for a non-trivial subset of SL describing trees to the language inclusion of tree automata (TA), which provides tight complexity bounds for the problem and shows that entailment in this fragment is EXPTIME-complete. Expand
A decision procedure for satisfiability in separation logic with inductive predicates
We show that the satisfiability problem for the "symbolic heap" fragment of separation logic with general inductively defined predicates --- which includes most fragments employed in programExpand
Automating Separation Logic with Trees and Data
A fragment of classical first-order logic for local reasoning about tree-like data structures is presented and implemented and integrated into an SL-based verification tool, successfully used to verify functional correctness of tree-based data structure implementations. Expand
A Decidable Fragment of Separation Logic
A fragment of separation logic oriented to linked lists, and a complete proof system is provided for the fragment, the termination of which furnishes a second decision procedure for validity of entailments. Expand
Foundations for Decision Problems in Separation Logic with General Inductive Predicates
It is shown that entailment is in general undecidable, and ExpTime-hard in a fragment recently shown to be decidable by Iosif et al, and entailment in the base language is \(\Pi_2^{\text{P})-complete, the upper bound even holds in the presence of list predicates. Expand
The Tree Width of Separation Logic with Recursive Definitions
It is proved that any Separation Logic formula using rather general recursively defined predicates is decidable for satisfiability, and moreover, entailments between such formulae are decidability for validity. Expand
Automated Cyclic Entailment Proofs in Separation Logic
A general automated proof procedure, based upon cyclic proof, for inductive entailments in separation logic, implemented via a deep embedding of cyclic proofs in the HOL Light theorem prover, which is able to prove a number of non-trivial entailments involving inductive predicates. Expand