Results 1  10
of
169
System Description: Proof Planning in HigherOrder Logic with
 15th International Conference on Automated Deduction, volume 1421 of Lecture Notes in Artificial Intelligence
, 1998
"... Introduction Proof planning [4] is an approach to theorem proving which encodes heuristics for constructing mathematical proofs in a metatheory of methods. The Clam system, developed at Edinburgh [3], has been used for several years to develop proof planning, in particular proof plans for induction ..."
Abstract

Cited by 64 (8 self)
 Add to MetaCart
Introduction Proof planning [4] is an approach to theorem proving which encodes heuristics for constructing mathematical proofs in a metatheory of methods. The Clam system, developed at Edinburgh [3], has been used for several years to develop proof planning, in particular proof plans for induction. It has become clear that many of the theoremproving tasks that we would like to perform are naturally higherorder. For example, an important technique called middleout reasoning [6] uses metavariables to stand for some unknown objects in a proof, to be instantiated as the proof proceeds. Domains such as the synthesis and verification of software and hardware systems, and techniques such as proof critics [7], benefit greatly from such middleout reasoning. Since in these domains the metavariables often become instantiated with terms of function type, reasoning with them is naturally higherorder, and higherorder unification is a
Proof Planning with Multiple Strategies
 In Proc. of the First International Conference on Computational Logic
, 2000
"... . Humans have different problem solving strategies at their disposal and they can flexibly employ several strategies when solving a complex problem, whereas previous theorem proving and planning systems typically employ a single strategy or a hard coded combination of a few strategies. We introd ..."
Abstract

Cited by 60 (37 self)
 Add to MetaCart
(Show Context)
. Humans have different problem solving strategies at their disposal and they can flexibly employ several strategies when solving a complex problem, whereas previous theorem proving and planning systems typically employ a single strategy or a hard coded combination of a few strategies. We introduce multistrategy proof planning that allows for combining a number of strategies and for switching flexibly between strategies in a proof planning process. Thereby proof planning becomes more robust since it does not necessarily fail if one problem solving mechanism fails. Rather it can reason about preference of strategies and about failures. Moreover, our strategies provide a means for structuring the vast amount of knowledge such that the planner can cope with the otherwise overwhelming knowledge in mathematics. 1 Introduction The choice of an appropriate problem solving strategy is a crucial human skill and is typically guided by some metalevel reasoning. Trained mathematicia...
Reasoning Theories  Towards an Architecture for Open Mechanized Reasoning Systems
, 1994
"... : Our ultimate goal is to provide a framework and a methodology which will allow users, and not only system developers, to construct complex reasoning systems by composing existing modules, or to add new modules to existing systems, in a "plug and play" manner. These modules and systems ..."
Abstract

Cited by 47 (11 self)
 Add to MetaCart
(Show Context)
: Our ultimate goal is to provide a framework and a methodology which will allow users, and not only system developers, to construct complex reasoning systems by composing existing modules, or to add new modules to existing systems, in a "plug and play" manner. These modules and systems might be based on different logics; have different domain models; use different vocabularies and data structures; use different reasoning strategies; and have different interaction capabilities. This paper makes two main contributions towards our goal. First, it proposes a general architecture for a class of reasoning systems called Open Mechanized Reasoning Systems (OMRSs). An OMRS has three components: a reasoning theory component which is the counterpart of the logical notion of formal system, a control component which consists of a set of inference strategies, and an interaction component which provides an OMRS with the capability of interacting with other systems, including OMRSs and hum...
INKA: The Next Generation
, 1996
"... . The INKA system is a firstorder theorem prover with induction based on the explicit induction paradigm. Since 1986 when a first version of the INKA system was developed there have been many improvements. In this description we will give a short overview of the current system state and its abiliti ..."
Abstract

Cited by 47 (9 self)
 Add to MetaCart
(Show Context)
. The INKA system is a firstorder theorem prover with induction based on the explicit induction paradigm. Since 1986 when a first version of the INKA system was developed there have been many improvements. In this description we will give a short overview of the current system state and its abilities. 1 Introduction The original INKA system dates back to 1986 [2]. The current version of the INKA system which will be described below has been developed at DFKI GmbH 1 between 1991 and 1995. The INKA system is a firstorder theorem prover with induction based on the explicit induction paradigm. In contrast to Nqthm, the BoyerMoore prover, [3], the system is based on a full firstorder calculus, a special variant of an ordersorted resolution calculus with paramodulation, [7]. However, it is not specialized on inductive proofs but possesses a powerful predicatelogic proof component. INKA is designed to be used for practical applications of inductive theorem proving, for instance, in th...
Termination of Nested and Mutually Recursive Algorithms
, 1996
"... This paper deals with automated termination analysis for functional programs. Previously developed methods for automated termination proofs of functional programs often fail for algorithms with nested recursion and they cannot handle algorithms with mutual recursion. We show that termination proofs ..."
Abstract

Cited by 44 (9 self)
 Add to MetaCart
This paper deals with automated termination analysis for functional programs. Previously developed methods for automated termination proofs of functional programs often fail for algorithms with nested recursion and they cannot handle algorithms with mutual recursion. We show that termination proofs for nested and mutually recursive algorithms can be performed without having to prove the correctness of the algorithms simultaneously. Using this result, nested and mutually recursive algorithms do no longer constitute a special problem and the existing methods for automated termination analysis can be extended to nested and mutual recursion in a straightforward way. We give some examples of algorithms whose termination can now be proved automatically (including wellknown challenge problems such as McCarthy's f_91 function).
A Calculus for and Termination of Rippling
 Journal of Automated Reasoning
, 1996
"... . Rippling is a type of rewriting developed for inductive theorem proving that uses annotations to direct search. Rippling has many desirable properties: for example, it is highly goal directed, usually involves little search, and always terminates. In this paper we give a new and more general forma ..."
Abstract

Cited by 43 (2 self)
 Add to MetaCart
(Show Context)
. Rippling is a type of rewriting developed for inductive theorem proving that uses annotations to direct search. Rippling has many desirable properties: for example, it is highly goal directed, usually involves little search, and always terminates. In this paper we give a new and more general formalization of rippling. We introduce a simple calculus for rewriting annotated terms, close in spirit to firstorder rewriting, and prove that it has the formal properties desired of rippling. Next we develop criteria for proving the termination of such annotated rewriting, and introduce orders on annotated terms that lead to termination. In addition, we show how to make rippling more flexible by adapting the termination orders to the problem domain. Our work has practical as well as theoretical advantages: it has led to a very simple implementation of rippling that has been integrated in the Edinburgh CLAM system. Key words: Mathematical Induction, Inductive Theorem Proving, Term Rewriting. ...
Integrating computer algebra into proof planning
 Journal of Automated Reasoning
, 1998
"... Abstract. Mechanised reasoning systems and computer algebra systems have different objectives. Their integration is highly desirable, since formal proofs often involve both of the two di erent tasks, proving and calculating. Even more importantly, proof and computation are often interwoven and not e ..."
Abstract

Cited by 41 (24 self)
 Add to MetaCart
(Show Context)
Abstract. Mechanised reasoning systems and computer algebra systems have different objectives. Their integration is highly desirable, since formal proofs often involve both of the two di erent tasks, proving and calculating. Even more importantly, proof and computation are often interwoven and not easily separable. In this contribution we advocate an integration of computer algebra into mechanised reasoning systems at the proof plan level. This approach allows to view the computer algebra algorithms as methods, that is, declarative representations of the problem solving knowledge speci c to a certain mathematical domain. Automation can be achieved in many cases bysearching for a hierarchic proof plan at the methodlevel using suitable domainspeci c control knowledge about the mathematical algorithms. In other words, the uniform framework of proof planning allows to solve a large class of problems that are not automatically solvable by separate systems. Our approach also gives an answer to the correctness problems inherent insuch an integration. We advocate an approach where the computer algebra system produces highlevel protocol information that can be processed by aninterface to derive proof plans. Such a proof plan in turn can be expanded to proofs at di erent levels of abstraction, so the approach iswellsuited for producing a highlevel verbalised explication as well as for a lowlevel machine checkable calculuslevel proof. We present an implementation of our ideas and exemplify them using an automatically solved example. Changes in the criterion of `rigour of the proof ' engender major revolutions in mathematics.
MiddleOut Reasoning for Logic Program Synthesis
 IN 10TH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING (ICLP93
, 1993
"... We propose a novel approach to automating the synthesis of logic programs: Logic programs are synthesized as a byproduct of the planning of a verification proof. The approach is a twolevel one: At the object level, we prove program verification conjectures in a sorted, firstorder theory. The c ..."
Abstract

Cited by 35 (9 self)
 Add to MetaCart
We propose a novel approach to automating the synthesis of logic programs: Logic programs are synthesized as a byproduct of the planning of a verification proof. The approach is a twolevel one: At the object level, we prove program verification conjectures in a sorted, firstorder theory. The conjectures are of the form 8args \Gamma\Gamma\Gamma\Gamma! : prog(args \Gamma\Gamma\Gamma\Gamma! ) $ spec(args \Gamma\Gamma\Gamma\Gamma! ). At the metalevel, we plan the objectlevel verification with an unspecified program definition. The definition is represented with a (secondorder) metalevel variable, which becomes instantiated in the course of the planning.
Reusing Proofs
 in Proceedings of ECAI94
, 1994
"... . 1 We develop a learning component for a theorem prover designed for verifying statements by mathematical induction. If the prover has found a proof, it is analyzed yielding a socalled catch. The catch provides the features of the proof which are relevant for reusing it in subsequent verification ..."
Abstract

Cited by 35 (8 self)
 Add to MetaCart
(Show Context)
. 1 We develop a learning component for a theorem prover designed for verifying statements by mathematical induction. If the prover has found a proof, it is analyzed yielding a socalled catch. The catch provides the features of the proof which are relevant for reusing it in subsequent verification tasks and may also suggest useful lemmata. Proof analysis techniques for computing the catch are presented. A catch is generalized in a certain sense for increasing the reusability of proofs. We discuss problems arising when learning from proofs and illustrate our method by several examples. 1 INTRODUCTION The improvement of problem solvers by reusing previously computed solutions is an active research area of Artificial Intelligence, emerging in the methodologies of explanationbased learning (EBL) [11, 4, 5] and analogical reasoning (AR) [2, 7, 12]. In EBL a problem's solution is analyzed, yielding an explanation why the solution succeeds. After generalization, the explanation is used for...