Local Theory Extensions, Hierarchical Reasoning and Applications to Verification (original) (raw)
Related papers
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.
On Local Reasoning in Verification
Lecture Notes in Computer Science, 2008
We present a general framework which allows to identify complex theories important in verification for which efficient reasoning methods exist. The framework we present is based on a general notion of locality. We show that locality considerations allow us to obtain parameterized decidability and complexity results for many (combinations of) theories important in verification in general and in the verification of parametric systems in particular. We give numerous examples; in particular we show that several theories of data structures studied in the verification literature are local extensions of a base theory. The general framework we use allows us to identify situations in which some of the syntactical restrictions imposed in previous papers can be relaxed.
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.
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.
Automated Reasoning in Some Local Extensions of Ordered Structures
37th International Symposium on Multiple-Valued Logic (ISMVL'07), 2007
We give a uniform method for automated reasoning in several types of extensions of ordered algebraic structures (definitional extensions, extensions with boundedness axioms or with monotonicity axioms). We show that such extensions are local and, hence, efficient methods for hierarchical reasoning exist in all these cases.
SMT 2007: 5th International Workshop on Satisfiability Modulo Theories
2007
Finding precise yet small abstractions automatically has been one of the biggest challenges in software verification. In this talk, I shall outline some recent work in generating abstractions automatically through the analysis of counterexample traces. Decision procedures play a fundamental role in this process, both to check whether a counterexample is genuine or spurious, and to generate abstract explanations in case the counterexample is spurious. Conversely, algorithms for counterexample analysis have influenced the interface exposed by a modern decision procedure: in addition to a ”yes/no” decision, the decision procedure must produce proofs of unsatisfiability and interpolants. Proof Procedures for Separated Heap Abstractions
Automatic Decidability for Theories Modulo Integer Offsets
2012
Many verification problems can be reduced to a satisfiability problem modulo theories. For building satisfiability procedures the rewriting-based approach uses a general calculus for equational reasoning named superposition. Schematic superposition, in turn, provides a mean to reason on the derivations computed by superposition. Until now, schematic superposition was only studied for standard superposition. We present a schematic superposition calculus modulo a fragment of arithmetics, namely the theory of Integer Offsets. This new schematic calculus is used to prove the decidability of the satisfiability problem for some theories extending Integer Offsets. We illustrate our theoretical contribution on theories representing extensions of classical data structures, e.g., lists and records. An implementation in the rewriting-based Maude system constitutes a practical contribution. It enables automatic decidability proofs for theories of practical use.
Resolution-based Theorem Proving for SHn-Logics (Extended Abstract)
2007
In this paper we illustrate by means of an example, namely SHn-logics, a method for translation to clause form and automated theorem proving for first-order manyvalued logics based on distributive lattices with operators. 1 Introduction The main goal of this paper is to present a method for translation to clause form and automated theorem proving in finitely-valued logics having as algebras of truth values distributive lattices with certain types of operators. Many non-classical logics that occur in practical applications fall in this class. One of the advantages of distributive lattices (with well-behaved operators) is the existence, in such cases, of good representation theorems, such as the Priestley representation theorem. The method for translation to clause form we present uses the Priestley dual of the algebra of truth values. The ideas behind this method are very natural, even if the algebraic notions used may at first sight seem involved. This is why in this paper we illust...
Satisfiability Modulo Theories: An Appetizer
Lecture Notes in Computer Science, 2009
Satisfiability Modulo Theories (SMT) is about checking the satisfiability of logical formulas over one or more theories. The problem draws on a combination of some of the most fundamental areas in computer science. It combines the problem of Boolean satisfiability with domains, such as, those studied in convex optimization and termmanipulating symbolic systems. It also draws on the most prolific problems in the past century of symbolic logic: the decision problem, completeness and incompleteness of logical theories, and finally complexity theory. The problem of modularly combining special purpose algorithms for each domain is as deep and intriguing as finding new algorithms that work particularly well in the context of a combination. SMT also enjoys a very useful role in software engineering. Modern software, hardware analysis and model-based tools are increasingly complex and multi-faceted software systems. However, at their core is invariably a component using symbolic logic for describing states and transformations between them. A well tuned SMT solver that takes into account the state-of-the-art breakthroughs usually scales orders of magnitude beyond custom ad-hoc solvers.