On Local Reasoning in Verification (original) (raw)
Related papers
Local Theory Extensions, Hierarchical Reasoning and Applications to Verification
2007
Many problems occurring in verification can be reduced to proving the satisfiability of conjunctions of literals in a background theory. This can be a concrete theory (e.g. the theory of real or rational numbers), the extension of a theory with additional functions (free, monotone, or recursively defined) or a combination of theories. It is therefore very important to have efficient procedures for checking the satisfiability of conjunctions of ground literals in such theories. We present some new results on hierarchical and modular reasoning in complex theories, as well as several examples of application domains in which efficient reasoning is possible. We show, in particular, that various phenomena analyzed in the verification literature can be explained in a unified way using the notion of local theory extension.
Notions of locality and their logical characterizations over finite models
Journal of Symbolic Logic, 1999
Many known tools for proving expressibility bounds for first-ordér logic are based on one of several locality properties. In this paper we characterize the relationship between those notions of locality. We note that Gaifman's locality theorem gives rise to two notions: one deals with sentences and one with open formulae. We prove that the former implies Hanf's notion of locality, which in turn implies Gaifman's locality for open formulae. Each of these implies the bounded degree property, which is one of the easiest tools for proving expressibility bounds. These results apply beyond the first-order case. We use them to derive expressibility bounds for first-order logic with unary quantifiers and counting. We also characterize the notions of locality on structures of small degree.
On Hierarchical Reasoning in Combinations of Theories
Lecture Notes in Computer Science, 2010
In this paper we study theory combinations over non-disjoint signatures in which hierarchical and modular reasoning is possible. We use a notion of locality of a theory extension parameterized by a closure operator on ground terms. We give criteria for recognizing these types of theory extensions. We then show that combinations of extensions of theories which are local in this extended sense have also a locality property and hence allow modular and hierarchical reasoning. We thus obtain parameterized decidability and complexity results for many (combinations of) theories important in verification.
Hierarchic Reasoning in Local Theory Extensions
Lecture Notes in Computer Science, 2005
We show that for special types of extensions of a base theory, which we call local, efficient hierarchic reasoning is possible. We identify situations in which it is possible, for an extension T1 of a theory T0, to express the decidability and complexity of the universal theory of T1 in terms of the decidability resp. complexity of suitable fragments of the theory T0 (universal or ∀∃). These results apply to theories related to data types, but also to certain theories of functions from mathematics.
Parameterized Provability in Equational Logic
2017
In this work we study the validity problem in equational logic from the perspective of parameterized complexity theory. We introduce a variant of equational logic in which sentences are pairs of the form \((t_1 =t_2,\omega )\), where \(t_1 =t_2\) is an equation, and \(\omega \) is an arbitrary ordering of the positions corresponding to subterms of \(t_1\) and \(t_2\). We call such pairs ordered equations. With each ordered equation, one may naturally associate a notion of width, and with each proof of validity of an ordered equation, one may naturally associate a notion of depth. We define the width of such a proof as the maximum width of an ordered equation occurring in it. Finally, we introduce a parameter b that restricts the way in which variables are substituted for terms. We say that a proof is b-bounded if all substitutions used in it satisfy such restriction.
The Complexity of Model Checking Higher-Order Fixpoint Logic
Logical Methods in Computer Science, 2007
Higher-Order Fixpoint Logic (HFL) is a hybrid of the simply typed λ-calculus and the modal µ-calculus. This makes it a highly expressive temporal logic that is capable of expressing various interesting correctness properties of programs that are not expressible in the modal µ-calculus.
Applications of Hierarchical Reasoning in the Verification of Complex Systems
Electronic Notes in Theoretical Computer Science, 2007
In this paper we show how hierarchical reasoning can be used to verify properties of complex systems. Chains of local theory extensions are used to model a case study taken from the European Train Control System (ETCS) standard, but considerably simplified. We show how testing invariants and bounded model checking (for safety properties expressed by universally quantified formulae, depending on certain parameters of the systems) can automatically be reduced to checking satisfiability of ground formulae over a base theory.
Verification of distributed systems with local–global predicates
Formal Aspects of Computing, 2010
This paper describes a methodology for developing and verifying a class of distributed systems in which the state space may be discrete or continuous. Our focus is on systems where changes are local in that a small number of components change state while the remainder of the system is unchanged. A proof methodology is developed that ensures global properties, such as invariants and convergence, by guaranteeing local properties within subsystems. This methodology is used to prove the correctness of concrete examples. We present a PVS library of theorems and proofs that can be used to reduce the work required to develop and verify programs in this class. A transformation of these libraries to Java is also outlined.
A decidable class of verification conditions for programs with higher order store
2009
Recent years have seen a surge in techniques and tools for automatic and semi-automatic static checking of imperative heap-manipulating programs. At the heart of such tools are algorithms for automatic logical reasoning, using heap description formalisms such as separation logic. In this paper we work towards extending these static checking techniques to languages with procedures as first class citizens. To do this, we first identify a class of entailment problems which arise naturally as verification conditions during the static checking of higher order heap-manipulating programs. We then present a decision procedure for this class and prove its correctness. Entailments in our class combine simple symbolic heaps, which are descriptions of the heap using a subset of separation logic, with (limited use of) nested Hoare triples to specify properties of higher order procedures.