Results 1  10
of
41
CGRASS: A System for Transforming Constraint Satisfaction Problems
 Recent Advances in Constraints, 1530, LNCS 2627
, 2002
"... Abstract. Experts at modelling constraint satisfaction problems (CSPs) carefully choose model transformations to reduce greatly the amount of effort that is required to solve a problem by systematic search. It is a considerable challenge to automate such transformations and to identify which transfo ..."
Abstract

Cited by 26 (9 self)
 Add to MetaCart
Abstract. Experts at modelling constraint satisfaction problems (CSPs) carefully choose model transformations to reduce greatly the amount of effort that is required to solve a problem by systematic search. It is a considerable challenge to automate such transformations and to identify which transformations are useful. Transformations include adding constraints that are implied by other constraints, adding constraints that eliminate symmetrical solutions, removing redundant constraints and replacing constraints with their logical equivalents. This paper describes the CGRASS (Constraint Generation And Symmetrybreaking) system that can improve a problem model by automatically performing transformations of these kinds. We focus here on transforming individual CSP instances. Experiments on the Golomb ruler problem suggest that producing good problem formulations solely by transforming problem instances is, generally, infeasible. We argue that, in certain cases, it is better to transform the problem class than individual instances and, furthermore, it can sometimes be better to transform formulations of a problem that are more abstract than a CSP. 1
MiddleOut Reasoning for Synthesis and Induction
, 1995
"... We develop two applications of middleout reasoning in inductive proofs: Logic program synthesis and the selection of induction schemes. Middleout reasoning as part of proof planning was first suggested by Bundy et al [Bundy et al 90a]. Middleout reasoning uses variables to represent unknown te ..."
Abstract

Cited by 26 (11 self)
 Add to MetaCart
We develop two applications of middleout reasoning in inductive proofs: Logic program synthesis and the selection of induction schemes. Middleout reasoning as part of proof planning was first suggested by Bundy et al [Bundy et al 90a]. Middleout reasoning uses variables to represent unknown terms and formulae. Unification instantiates the variables in the subsequent planning, while proof planning provides the necessary search control. Middleout reasoning is used for synthesis by planning the verification of an unknown logic program: The program body is represented with a metavariable. The planning results both in an instantiation of the program body and a plan for the verification of that program. If the plan executes successfully, the synthesized program is partially correct and complete. Middleout reasoning is also used to select induction schemes. Finding an appropriate induction scheme during synthesis is difficult, because the recursion of the program, which is un...
Lemma Discovery in Automating Induction
 13th International Conference on Automated Deduction (CADE13
, 1996
"... . Speculating intermediate lemmas is one of the main reason of user interaction/guidance while mechanically attempting proofs by induction. An approach for generating intermediate lemmas is developed, and its effectiveness is demonstrated while proving properties of recursively defined functions ..."
Abstract

Cited by 20 (2 self)
 Add to MetaCart
. Speculating intermediate lemmas is one of the main reason of user interaction/guidance while mechanically attempting proofs by induction. An approach for generating intermediate lemmas is developed, and its effectiveness is demonstrated while proving properties of recursively defined functions. The approach is guided by the paradigm of attempting to generate a proof of the conclusion subgoal in an induction step by the application of an induction hypothesis(es). Generation of intermediate conjectures is motivated by attempts to find appropriate instantiations for noninduction variables in the main conjecture. In case, the main conjecture does not have any noninduction variables, such variables are introduced by attempting its generalization. A constraint based paradigm is proposed for guessing the missing side of an intermediate conjecture by identifying constraints on the term schemes introduced for the missing side. Definitions and properties of functions are judici...
Invariant Discovery via Failed Proof Attempts
 In Proc. LOPSTR '98, LNCS 1559
, 1998
"... . We present a framework for automating the discovery of loop invariants based upon failed proof attempts. The discovery of suitable loop invariants represents a bottleneck for automatic verification of imperative programs. Using the proof planning framework we reconstruct standard heuristics fo ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
. We present a framework for automating the discovery of loop invariants based upon failed proof attempts. The discovery of suitable loop invariants represents a bottleneck for automatic verification of imperative programs. Using the proof planning framework we reconstruct standard heuristics for developing invariants. We relate these heuristics to the analysis of failed proof attempts allowing us to discover invariants through a process of refinement. 1 Introduction Loop invariants are a well understood technique for specifying the behaviour of programs involving loops. The discovery of suitable invariants, however, is a major bottleneck for automatic verification of imperative programs. Early research in this area [18, 24] exploited both theorem proving techniques as well as domain specific heuristics. However, the potential for interaction between these components was not fully exploited. The proof planning framework, in which we reconstruct the standard heuristics, couples ...
Planning Mathematical Proofs with Methods
 JOURNAL OF INFORMATION PROCESSING AND CYBERNETICS, EIK
, 1994
"... In this article we formally describe a declarative approach for encoding plan operators in proof planning, the socalled methods. The notion of method evolves from the much studied concept tactic and was first used by Bundy. While significant deductive power has been achieved with the planning appro ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
In this article we formally describe a declarative approach for encoding plan operators in proof planning, the socalled methods. The notion of method evolves from the much studied concept tactic and was first used by Bundy. While significant deductive power has been achieved with the planning approach towards automated deduction, the procedural character of the tactic part of methods, however, hinders mechanical modification. Although the strength of a proof planning system largely depends on powerful general procedures which solve a large class of problems, mechanical or even automated modification of methods is nevertheless necessary for at least two reasons. Firstly methods designed for a specific type of problem will never be general enough. For instance, it is very difficult to encode a general method which solves all problems a human mathematician might intuitively consider as a case of homomorphy. Secondly the cognitive ability of adapting existing methods to suit novel situa...
On the Use of Inductive Reasoning in Program Synthesis: Prejudice and Prospects
 IN L. FRIBOURG AND F. TURINI (EDS), JOINT PROC. OF META'94 AND LOPSTR'94
, 1994
"... In this position paper, we give a critical analysis of the deductive and inductive approaches to program synthesis, and of the current research in these fields. From the shortcomings of these approaches and works, we identify future research directions for these fields, as well as a need for coopera ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
In this position paper, we give a critical analysis of the deductive and inductive approaches to program synthesis, and of the current research in these fields. From the shortcomings of these approaches and works, we identify future research directions for these fields, as well as a need for cooperation and crossfertilization between them.
A Proof Planning Framework for Isabelle
, 2005
"... Proof planning is a paradigm for the automation of proof that focuses on encoding intelligence to guide the proof process. The idea is to capture common patterns of reasoning which can be used to derive abstract descriptions of proofs known as proof plans. These can then be executed to provide fully ..."
Abstract

Cited by 13 (9 self)
 Add to MetaCart
Proof planning is a paradigm for the automation of proof that focuses on encoding intelligence to guide the proof process. The idea is to capture common patterns of reasoning which can be used to derive abstract descriptions of proofs known as proof plans. These can then be executed to provide fully formal proofs. This thesis concerns the development and analysis of a novel approach to proof planning that focuses on an explicit representation of choices during search. We embody our approach as a proof planner for the generic proof assistant Isabelle and use the Isar language, which is humanreadable and machinecheckable, to represent proof plans. Within this framework we develop an inductive theorem prover as a case study of our approach to proof planning. Our prover uses the difference reduction heuristic known as rippling to automate the step cases of the inductive proofs. The development of a flexible approach to rippling that supports its various modifications and extensions is the second major focus of this thesis. Here, our inductive theorem prover provides a context in which to evaluate rippling experimentally. This work results in an efficient and powerful inductive theorem prover for Isabelle as well as proposals for further improving the efficiency of rippling. We also draw observations in order
Proof Plans for the Correction of False Conjectures
 5TH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING AND AUTOMATED REASONING, LPAR'94, LECTURE NOTES IN ARTIFICIAL INTELLIGENCE, V. 822
, 1994
"... Theorem proving is the systematic derivation of a mathematical proof from a set of axioms by the use of rules of inference. We are interested in a related but far less explored problem: the analysis and correction of false conjectures, especially where that correction involves finding a collection o ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
Theorem proving is the systematic derivation of a mathematical proof from a set of axioms by the use of rules of inference. We are interested in a related but far less explored problem: the analysis and correction of false conjectures, especially where that correction involves finding a collection of antecedents that, together with a set of axioms, transform nontheorems into theorems. Most failed search trees are huge, and special care is to be taken in order to tackle the combinatorial explosion phenomenon. Fortunately, the planning search space generated by proof plans, see [1], are moderately small. We have explored the possibility of using this technique in the implementation of an abduction mechanism to correct nontheorems.
On the Automatic Discovery of Loop Invariants
, 1997
"... We present a technique for automating the discovery of loop invariants based upon the analysis of failed proof attempts. Previously we have shown how failure analysis may be used productively in the search for inductive proofs. This work had direct application to the verification of functional progr ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
We present a technique for automating the discovery of loop invariants based upon the analysis of failed proof attempts. Previously we have shown how failure analysis may be used productively in the search for inductive proofs. This work had direct application to the verification of functional programs. Here we show how these ideas can also play an important role in the formal verification of imperative programs. While presented as an automatic technique we believe that our approach may be easily integrated within an interactive proof environment.