Results 1  10
of
28
Modular Data Structure Verification
 EECS DEPARTMENT, MASSACHUSETTS INSTITUTE OF TECHNOLOGY
, 2007
"... This dissertation describes an approach for automatically verifying data structures, focusing on techniques for automatically proving formulas that arise in such verification. I have implemented this approach with my colleagues in a verification system called Jahob. Jahob verifies properties of Java ..."
Abstract

Cited by 36 (21 self)
 Add to MetaCart
This dissertation describes an approach for automatically verifying data structures, focusing on techniques for automatically proving formulas that arise in such verification. I have implemented this approach with my colleagues in a verification system called Jahob. Jahob verifies properties of Java programs with dynamically allocated data structures. Developers write Jahob specifications in classical higherorder logic (HOL); Jahob reduces the verification problem to deciding the validity of HOL formulas. I present a new method for proving HOL formulas by combining automated reasoning techniques. My method consists of 1) splitting formulas into individual HOL conjuncts, 2) soundly approximating each HOL conjunct with a formula in a more tractable fragment and 3) proving the resulting approximation using a decision procedure or a theorem prover. I present three concrete logics; for each logic I show how to use it to approximate HOL formulas, and how to decide the validity of formulas in this logic. First, I present an approximation of HOL based on a translation to firstorder logic, which enables the use of existing resolutionbased theorem provers. Second, I present an approximation of HOL based on field constraint analysis, a new technique that enables
Lightweight relevance filtering for machinegenerated resolution problems
 In ESCoR: Empirically Successful Computerized Reasoning
, 2006
"... Irrelevant clauses in resolution problems increase the search space, making it hard to find proofs in a reasonable time. Simple relevance filtering methods, based on counting function symbols in clauses, improve the success rate for a variety of automatic theorem provers and with various initial set ..."
Abstract

Cited by 31 (8 self)
 Add to MetaCart
Irrelevant clauses in resolution problems increase the search space, making it hard to find proofs in a reasonable time. Simple relevance filtering methods, based on counting function symbols in clauses, improve the success rate for a variety of automatic theorem provers and with various initial settings. We have designed these techniques as part of a project to link automatic theorem provers to the interactive theorem prover Isabelle. They should be applicable to other situations where the resolution problems are produced mechanically and where completeness is less important than achieving a high success rate with limited processor time. 1
Automation for interactive proof: First prototype
 Information and Computation
"... Interactive theorem provers require too much effort from their users. We have been developing a system in which Isabelle users obtain automatic support from automatic theorem provers (ATPs) such as Vampire and SPASS. An ATP is invoked at suitable points in the interactive session, and any proof foun ..."
Abstract

Cited by 29 (10 self)
 Add to MetaCart
Interactive theorem provers require too much effort from their users. We have been developing a system in which Isabelle users obtain automatic support from automatic theorem provers (ATPs) such as Vampire and SPASS. An ATP is invoked at suitable points in the interactive session, and any proof found is given to the user in a window displaying an Isar proof script. There are numerous differences between Isabelle (polymorphic higherorder logic with type classes, natural deduction rule format) and classical ATPs (firstorder, untyped, clause form). Many of these differences have been bridged, and a working prototype that uses background processes already provides much of the desired functionality. 1
Using firstorder theorem provers in the Jahob data structure verification system
 In Byron Cook and Andreas Podelski, editors, Verification, Model Checking, and Abstract Interpretation, LNCS 4349
, 2007
"... Abstract. This paper presents our integration of efficient resolutionbased theorem provers into the Jahob data structure verification system. Our experimental results show that this approach enables Jahob to automatically verify the correctness of a range of complex dynamically instantiable data st ..."
Abstract

Cited by 21 (1 self)
 Add to MetaCart
Abstract. This paper presents our integration of efficient resolutionbased theorem provers into the Jahob data structure verification system. Our experimental results show that this approach enables Jahob to automatically verify the correctness of a range of complex dynamically instantiable data structures, including data structures such as hash tables and search trees, without the need for interactive theorem proving or techniques tailored to individual data structures. Our primary technical results include: (1) a translation from higherorder logic to firstorder logic that enables the application of resolutionbased theorem provers and (2) a proof that eliminating type (sort) information in formulas is both sound and complete, even in the presence of a generic equality operator. Moreover, our experimental results show that the elimination of this type information dramatically decreases the time required to prove the resulting formulas. These techniques enabled us to verify complex correctness properties of Java programs such as a mutable set implemented as an imperative linked list, a finite map implemented as a functional ordered tree, a hash table with a mutable array, and a simple library system example that uses these container data structures. Our system verifies (in a matter of minutes) that data structure operations correctly update the finite map, that they preserve data structure invariants (such as ordering of elements, membership in appropriate hash table buckets, or relationships between sets and relations), and that there are no runtime errors such as null dereferences or array out of bounds accesses. 1
Translating higherorder problems to firstorder clauses
 ESCoR (CEUR Workshop Proceedings
, 2006
"... Proofs involving large specifications are typically carried out through interactive provers that use higherorder logic. A promising approach to improve the automation of interactive provers is by integrating them with automatic provers, which are usually based on firstorder logic. Consequently, it ..."
Abstract

Cited by 17 (5 self)
 Add to MetaCart
Proofs involving large specifications are typically carried out through interactive provers that use higherorder logic. A promising approach to improve the automation of interactive provers is by integrating them with automatic provers, which are usually based on firstorder logic. Consequently, it is necessary to translate higherorder logic formulae to firstorder form. This translation should ideally be both sound and practical. We have implemented three higherorder to firstorder translations, with particular emphasis on the translation of types. Omitting some type information improves the success rate, but can be unsound, so the interactive prover must verify the proofs. In this paper, we will describe our translations and experimental data that compares the three translations in respect of their success rates for various automatic provers. 1
Combined reasoning by automated cooperation
 JOURNAL OF APPLIED LOGIC
, 2008
"... Different reasoning systems have different strengths and weaknesses, and often it is useful to combine these systems to gain as much as possible from their strengths and retain as little as possible from their weaknesses. Of particular interest is the integration of firstorder and higherorder tech ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
Different reasoning systems have different strengths and weaknesses, and often it is useful to combine these systems to gain as much as possible from their strengths and retain as little as possible from their weaknesses. Of particular interest is the integration of firstorder and higherorder techniques. Firstorder reasoning systems, on the one hand, have reached considerable strength in
some niches, but in many areas of mathematics they still cannot reliably solve relatively simple problems, for example, when
reasoning about sets, relations, or functions. Higherorder reasoning systems, on the other hand, can solve problems of this kind
automatically. But the complexity inherent in their calculi prevents them from solving a whole range of problems. However, while
many problems cannot be solved by any one system alone, they can be solved by a combination of these systems.
We present a general agentbased methodology for integrating different reasoning systems. It provides a generic integration
framework which facilitates the cooperation between diverse reasoners, but can also be refined to enable more efficient, specialist
integrations. We empirically evaluate its usefulness, effectiveness and efficiency by case studies involving the integration of first
order and higherorder automated theorem provers, computer algebra systems, and model generators.
Progress report on LEOII, an automatic theorem prover for higherorder logic
, 2007
"... Abstract. LeoII, a resolution based theorem prover for classical higherorder logic, is currently being developed in a one year research project at the University of Cambridge, UK, with support from Saarland University, Germany. We report on the current stage of development of LeoII. In particular, ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
Abstract. LeoII, a resolution based theorem prover for classical higherorder logic, is currently being developed in a one year research project at the University of Cambridge, UK, with support from Saarland University, Germany. We report on the current stage of development of LeoII. In particular, we sketch some main aspects of LeoII’s automated proof search procedure, discuss its cooperation with firstorder specialist provers, show that LeoII is also an interactive proof assistant, and explain its shared term data structure and its term indexing mechanism. 1
Can a higherorder and a firstorder theorem prover cooperate?
 IN FRANZ BAADER AND ANDREI VORONKOV, EDITORS, LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING — 11TH INTERNATIONAL WORKSHOP, LPAR 2004, LNAI 3452
, 2005
"... Stateoftheart firstorder automated theorem proving systems have reached considerable strength over recent years. However, in many areas of mathematics they are still a long way from reliably proving theorems that would be considered relatively simple by humans. For example, when reasoning about ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
Stateoftheart firstorder automated theorem proving systems have reached considerable strength over recent years. However, in many areas of mathematics they are still a long way from reliably proving theorems that would be considered relatively simple by humans. For example, when reasoning about sets, relations, or functions, firstorder systems still exhibit serious weaknesses. While it has been shown in the past that higherorder reasoning systems can solve problems of this kind automatically, the complexity inherent in their calculi and their inefficiency in dealing with large numbers of clauses prevent these systems from solving a whole range of problems. We present a solution to this challenge by combining a higherorder and a firstorder automated theorem prover, both based on the resolution principle, in a flexible and distributed environment. By this we can exploit concise problem formulations without forgoing efficient reasoning on firstorder subproblems. We demonstrate the effectiveness of our approach on a set of problems still considered nontrivial for many firstorder theorem provers.
Integrating External Deduction Tools with ACL2
 Sutcliffe (Eds.), Proceedings of the 6th International Workshop on Implementation of Logics (IWIL 2006
, 2006
"... We present an interface connecting the ACL2 theorem prover with external deduction tools. The logic of ACL2 contains several constructs intended to facilitate structuring of interactive proof development, which complicates the design of such an interface. We discuss some of these complexities and de ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
We present an interface connecting the ACL2 theorem prover with external deduction tools. The logic of ACL2 contains several constructs intended to facilitate structuring of interactive proof development, which complicates the design of such an interface. We discuss some of these complexities and develop a precise specification of the requirements from external tools for sound connection with ACL2. We also develop constructs within ACL2 to enable the developers of external tools to satisfy our specifications. 1
Using a SAT solver as a fast decision procedure for propositional logic in an LCFstyle theorem prover
 In Proc. of 18th Int. Conf. on the Theorem Proving in Higher Order Logics
, 2005
"... Abstract. This paper describes the integration of a leading SAT solver with Isabelle/HOL, a popular interactive theorem prover. The SAT solver generates resolutionstyle proofs for (instances of) propositional tautologies. These proofs are verified by the theorem prover. The presented approach signi ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
Abstract. This paper describes the integration of a leading SAT solver with Isabelle/HOL, a popular interactive theorem prover. The SAT solver generates resolutionstyle proofs for (instances of) propositional tautologies. These proofs are verified by the theorem prover. The presented approach significantly improves Isabelle’s performance on propositional problems, and furthermore exhibits counterexamples for unprovable conjectures. 1