Results 1  10
of
33
The Use of Explicit Plans to Guide Inductive Proofs
 9th Conference on Automated Deduction
, 1988
"... We propose the use of explicit proof plans to guide the search for a proof in automatic theorem proving. By representing proof plans as the specifications of LCFlike tactics, [Gordon et al 79], and by recording these specifications in a sorted metalogic, we are able to reason about the conjectures ..."
Abstract

Cited by 267 (36 self)
 Add to MetaCart
We propose the use of explicit proof plans to guide the search for a proof in automatic theorem proving. By representing proof plans as the specifications of LCFlike tactics, [Gordon et al 79], and by recording these specifications in a sorted metalogic, we are able to reason about the conjectures to be proved and the methods available to prove them. In this way we can build proof plans of wide generality, formally account for and predict their successes and failures, apply them flexibly, recover from their failures, and learn them from example proofs. We illustrate this technique by building a proof plan based on a simple subset of the implicit proof plan embedded in the BoyerMoore theorem prover, [Boyer & Moore 79]. Keywords Proof plans, inductive proofs, theorem proving, automatic programming, formal methods, planning. Acknowledgements I am grateful for many long conversations with other members of the mathematical reasoning group, from which many of the ideas in this paper e...
Multilanguage Hierarchical Logics (or: How We Can Do Without Modal Logics)
, 1994
"... MultiLanguage systems (ML systems) are formal systems allowing the use of multiple distinct logical languages. In this paper we introduce a class of ML systems which use a hierarchy of first order languages, each language containing names for the language below, and propose them as an alternative to ..."
Abstract

Cited by 178 (47 self)
 Add to MetaCart
MultiLanguage systems (ML systems) are formal systems allowing the use of multiple distinct logical languages. In this paper we introduce a class of ML systems which use a hierarchy of first order languages, each language containing names for the language below, and propose them as an alternative to modal logics. The motivations of our proposal are technical, epistemological and implementational. From a technical point of view, we prove, among other things, that the set of theorems of the most common modal logics can be embedded (under the obvious bijective mapping between a modal and a first order language) into that of the corresponding ML systems. Moreover, we show that ML systems have properties not holding for modal logics and argue that these properties are justified by our intuitions. This claim is motivated by the study of how ML systems can be used in the representation of beliefs (more generally, propositional attitudes) and provability, two areas where modal logics have been extensively used. Finally, from an implementation point of view, we argue that ML systems resemble closely the current practice in the computer representation of propositional attitudes and metatheoretic theorem proving.
Rippling: A Heuristic for Guiding Inductive Proofs
, 1993
"... We describe rippling: a tactic for the heuristic control of the key part of proofs by mathematical induction. This tactic significantly reduces the search for a proof of a wide variety of inductive theorems. We first present a basic version of rippling, followed by various extensions which are neces ..."
Abstract

Cited by 162 (39 self)
 Add to MetaCart
We describe rippling: a tactic for the heuristic control of the key part of proofs by mathematical induction. This tactic significantly reduces the search for a proof of a wide variety of inductive theorems. We first present a basic version of rippling, followed by various extensions which are necessary to capture larger classes of inductive proofs. Finally, we present a generalised form of rippling which embodies these extensions as special cases. We prove that generalised rippling always terminates, and we discuss the implementation of the tactic and its relation with other inductive proof search heuristics.
A Science of Reasoning
, 1991
"... This paper addresses the question of how we can understand reasoning in general and mathematical proofs in particular. It argues the need for a highlevel understanding of proofs to complement the lowlevel understanding provided by Logic. It proposes a role for computation in providing this high ..."
Abstract

Cited by 74 (19 self)
 Add to MetaCart
This paper addresses the question of how we can understand reasoning in general and mathematical proofs in particular. It argues the need for a highlevel understanding of proofs to complement the lowlevel understanding provided by Logic. It proposes a role for computation in providing this highlevel understanding, namely by the association of proof plans with proofs. Proof plans are defined and examples are given for two families of proofs. Criteria are given for assessing the association of a proof plan with a proof. 1 Motivation: the understanding of mathematical proofs The understanding of reasoning has interested researchers since, at least, Aristotle. Logic has been proposed by Aristotle, Boole, Frege and others as a way of formalising arguments and understanding their structure. There have also been psychological studies of how people and animals actually do reason. The work on Logic has been especially influential in the automation of reasoning. For instance, resolution...
A Geometric Constraint Solver
, 1995
"... We report on the development of a twodimensional geometric constraint solver. The solver is a major component of a new generation of CAD systems that we are developing based on a highlevel geometry representation. The solver uses a graphreduction directed algebraic approach, and achieves interact ..."
Abstract

Cited by 61 (9 self)
 Add to MetaCart
We report on the development of a twodimensional geometric constraint solver. The solver is a major component of a new generation of CAD systems that we are developing based on a highlevel geometry representation. The solver uses a graphreduction directed algebraic approach, and achieves interactive speed. We describe the architecture of the solver and its basic capabilities. Then, we discuss in detail how to extend the scope of the solver, with special emphasis placed on the theoretical and human factors involved in finding a solution  in an exponentially large search space  so that the solution is appropriate to the application and the way of finding it is intuitive to an untrained user. 1 Introduction Solving a system of geometric constraints is a problem that has been considered by several communities, and using different approaches. For example, the symbolic computation community has considered the general problem, in the Supported in part by ONR contract N0001490J...
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 41 (2 self)
 Add to MetaCart
. 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. ...
A Metatheory of a Mechanized Object Theory
, 1994
"... In this paper we propose a metatheory, MT which represents the computation which implements its object theory, OT, and, in particular, the computation which implements deduction in OT. To emphasize this fact we say that MT is a metatheory of a mechanized object theory. MT has some "unusual" prope ..."
Abstract

Cited by 22 (10 self)
 Add to MetaCart
In this paper we propose a metatheory, MT which represents the computation which implements its object theory, OT, and, in particular, the computation which implements deduction in OT. To emphasize this fact we say that MT is a metatheory of a mechanized object theory. MT has some "unusual" properties, e.g. it explicitly represents failure in the application of inference rules, and the fact that large amounts of the code implementing OT are partial, i.e. they work only for a limited class of inputs. These properties allow us to use MT to express and prove tactics, i.e. expressions which specify how to compose possibly failing applications of inference rules, to interpret them procedurally to assert theorems in OT, to compile them into the system implementation code, and, finally, to generate MT automatically from the system code. The definition of MT is part of a larger project which aims at the implementation of selfreflective systems, i.e. systems which are able to intros...
Metaprogramming in Logic
 Encyclopedia of Computer Science and Technology
, 1994
"... In this review of metaprogramming in logic we pay equal attention to theoretical and practical issues: the contents range from mathematical and logical preliminaries to implementation and applications in, e.g., software engineering and knowledge representation. The area is one in rapid development b ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
In this review of metaprogramming in logic we pay equal attention to theoretical and practical issues: the contents range from mathematical and logical preliminaries to implementation and applications in, e.g., software engineering and knowledge representation. The area is one in rapid development but we have emphasized such issues that are likely to be important for future metaprogramming languages and methodologies. 1 Introduction The term `metaprogramming' relates to `programming' as `metalanguage' relates to `language' and `metalogic' to `logic': programming where the data represent programs. It should be no surprise that metaprogramming with logic programming languages takes advantage of many results from metalogic. In the most general interpretation we would say that `metaprogramming ' refers to any kind of computer programming where the input or output represents programs. We will refer to a program of this kind as a metaprogram and to its data as object programs. Analogousl...
Definable Naming Relations in Metalevel Systems
 Proceedings of the Third Workshop on Metaprogramming in Logic (META'92), volume 649 of Lecture Notes in Computer Science
, 1992
"... . Metalevel architectures are always, implicitly or explicitly, equipped with a component that establishes a relation between their object and metalevel layers. This socalled naming relation has been a neglected part of the architecture of metalevel systems. This paper argues that the naming re ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
. Metalevel architectures are always, implicitly or explicitly, equipped with a component that establishes a relation between their object and metalevel layers. This socalled naming relation has been a neglected part of the architecture of metalevel systems. This paper argues that the naming relation can be employed to increase the expressiveness and efficiency of metalevel architectures, while preserving known logical properties. We argue that the naming relation should not be a fixed part of a metalevel architecture, but that it should be definable to allow suitable encoding of syntactic information. Once the naming relation is definable, we can also make it meaningful. That is, it can also be used to encode pragmatic and semantic information, allowing for more compact and efficient metatheories. We explore the formal constraints that such a definable naming relation must satisfy, and we describe a definition mechanism for naming relations which is based on term rewriting s...