Results 1  10
of
41
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
Translating HigherOrder Clauses to FirstOrder Clauses
"... Abstract. Interactive provers typically use higherorder logic, while automatic provers typically use firstorder logic. In order to integrate interactive provers with automatic ones, it is necessary to translate higherorder formulae to firstorder form. The translation should ideally be both sound ..."
Abstract

Cited by 27 (3 self)
 Add to MetaCart
Abstract. Interactive provers typically use higherorder logic, while automatic provers typically use firstorder logic. In order to integrate interactive provers with automatic ones, it is necessary to translate higherorder formulae to firstorder form. The translation should ideally be both sound and practical. We have investigated several methods of translating function applications, types and λabstractions. Omitting some type information improves the success rate, but can be unsound, so the interactive prover must verify the proofs. This paper presents experimental data that compares the translations in respect of their success rates for three automatic provers. 1.
A Polymorphic Intermediate Verification Language: Design and Logical Encoding
"... Intermediate languages are a paradigm to separate concerns in software verification systems when bridging the gap between programming languages and the logics understood by theorem provers. While such intermediate languages traditionally only offer rather simple type systems, this paper argues that ..."
Abstract

Cited by 25 (2 self)
 Add to MetaCart
Intermediate languages are a paradigm to separate concerns in software verification systems when bridging the gap between programming languages and the logics understood by theorem provers. While such intermediate languages traditionally only offer rather simple type systems, this paper argues that it is both advantageous and feasible to integrate richer type systems with features like (higherranked) polymorphism and quantification over types. As a concrete solution, the paper presents the type system of Boogie 2, an intermediate verification language that is used in several program verifiers. The paper gives two encodings of types and formulae in simply typed logic such that SMT solvers and other theorem provers can be used to discharge verification conditions.
Sledgehammer: Judgement Day
"... Sledgehammer, a component of the interactive theorem prover Isabelle, finds proofs in higherorder logic by calling the automated provers for firstorder logic E, SPASS and Vampire. This paper is the largest and most detailed empirical evaluation of such a link to date. Our test data consists of 12 ..."
Abstract

Cited by 23 (3 self)
 Add to MetaCart
Sledgehammer, a component of the interactive theorem prover Isabelle, finds proofs in higherorder logic by calling the automated provers for firstorder logic E, SPASS and Vampire. This paper is the largest and most detailed empirical evaluation of such a link to date. Our test data consists of 1240 proof goals arising in 7 diverse Isabelle theories, thus representing typical Isabelle proof obligations. We measure the effectiveness of Sledgehammer and many other parameters such as run time and complexity of proofs. A facility for minimizing the number of facts needed to prove a goal is presented and analyzed.
Three Years of Experience with Sledgehammer, a Practical Link between Automatic and Interactive Theorem Provers
"... Sledgehammer is a highly successful subsystem of Isabelle/HOL that calls automatic theorem provers to assist with interactive proof construction. It requires no user configuration: it can be invoked with a single mouse gesture at any point in a proof. It automatically finds relevant lemmas from all ..."
Abstract

Cited by 19 (5 self)
 Add to MetaCart
Sledgehammer is a highly successful subsystem of Isabelle/HOL that calls automatic theorem provers to assist with interactive proof construction. It requires no user configuration: it can be invoked with a single mouse gesture at any point in a proof. It automatically finds relevant lemmas from all those currently available. An unusual aspect of its architecture is its use of unsound translations, coupled with its delivery of results as Isabelle/HOL proof scripts: its output cannot be trusted, but it does not need to be trusted. Sledgehammer works well with Isar structured proofs and allows beginners to prove challenging theorems. 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
SourceLevel Proof Reconstruction for Interactive Theorem Proving
"... Abstract. Interactive proof assistants should verify the proofs they receive from automatic theorem provers. Normally this proof reconstruction takes place internally, forming part of the integration between the two tools. We have implemented sourcelevel proof reconstruction: resolution proofs are ..."
Abstract

Cited by 17 (2 self)
 Add to MetaCart
Abstract. Interactive proof assistants should verify the proofs they receive from automatic theorem provers. Normally this proof reconstruction takes place internally, forming part of the integration between the two tools. We have implemented sourcelevel proof reconstruction: resolution proofs are automatically translated to Isabelle proof scripts. Users can insert this text into their proof development or (if they wish) examine it manually. Each step of a proof is justified by calling Hurd’s Metis prover, which we have ported to Isabelle. A recurrent issue in this project is the treatment of Isabelle’s axiomatic type classes. 1
Extending Sledgehammer with SMT Solvers
"... Abstract. Sledgehammer is a component of Isabelle/HOL that employs firstorder automatic theorem provers (ATPs) to discharge goals arising in interactive proofs. It heuristically selects relevant facts and, if an ATP is successful, produces a snippet that replays the proof in Isabelle. We extended Sl ..."
Abstract

Cited by 15 (6 self)
 Add to MetaCart
Abstract. Sledgehammer is a component of Isabelle/HOL that employs firstorder automatic theorem provers (ATPs) to discharge goals arising in interactive proofs. It heuristically selects relevant facts and, if an ATP is successful, produces a snippet that replays the proof in Isabelle. We extended Sledgehammer to invoke satisfiability modulo theories (SMT) solvers as well, exploiting its relevance filter and parallel architecture. Isabelle users are now pleasantly surprised by SMT proofs for problems beyond the ATPs ’ reach. Remarkably, the best SMT solver performs better than the best ATP on most of our benchmarks. 1
A sound semantics for OCamllight
 In: Programming Languages and Systems, 17th European Symposium on Programming, ESOP 2008, Lecture Notes in Computer Science
, 2008
"... Abstract. Few programming languages have a mathematically rigorous definition or metatheory—in part because they are perceived as too large and complex to work with. This paper demonstrates the feasibility of such undertakings: we formalize a substantial portion of the semantics of Objective Caml’s ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
Abstract. Few programming languages have a mathematically rigorous definition or metatheory—in part because they are perceived as too large and complex to work with. This paper demonstrates the feasibility of such undertakings: we formalize a substantial portion of the semantics of Objective Caml’s core language (which had not previously been given a formal semantics), and we develop a mechanized type soundness proof in HOL. We also develop an executable version of the operational semantics, verify that it coincides with our semantic definition, and use it to test conformance between the semantics and the OCaml implementation. We intend our semantics to be a suitable substrate for the verification of OCaml programs. 1 Mechanizing Metatheory Researchers in programming languages and program verification routinely develop their ideas in the context of core calculi and idealized models. The advantage of the core calculus approach comes from the efficacy of pencilandpaper mathematics, both for specification and proof; however, these techniques do not scale well. Usable programming
Handling polymorphism in automated deduction
 In 21th International Conference on Automated Deduction (CADE21), volume 4603 of LNCS (LNAI
, 2007
"... Abstract. Polymorphism has become a common way of designing short and reusable programs by abstracting generic definitions from typespecific ones. Such a convenience is valuable in logic as well, because it unburdens the specifier from writing redundant declarations of logical symbols. However, top ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
Abstract. Polymorphism has become a common way of designing short and reusable programs by abstracting generic definitions from typespecific ones. Such a convenience is valuable in logic as well, because it unburdens the specifier from writing redundant declarations of logical symbols. However, top shelf automated theorem provers such as Simplify, Yices or other SMTLIB ones do not handle polymorphism. To this end, we present efficient reductions of polymorphism in both unsorted and manysorted first order logics. For each encoding, we show that the formulas and their encoded counterparts are logically equivalent in the context of automated theorem proving. The efficiency keynote is to disturb the prover as little as possible, especially the internal decision procedures used for special sorts, e.g. integer linear arithmetic, to which we apply a special treatment. The corresponding implementations are presented in the framework of the Why/Caduceus toolkit. 1