Top-down synthesis of divide-and-conquer algorithms
Artificial Intelligence
New Generation Computing - Selected papers from the international workshop on algorithmic learning theory,1990
Extending the proof plan methodology to computer configuration problems
Applied Artificial Intelligence
An adaption of proof-planning to declarer play in bridge
ECAI '92 Proceedings of the 10th European conference on Artificial intelligence
Predicate synthesis from formal specifications
ECAI '92 Proceedings of the 10th European conference on Artificial intelligence
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Rippling: a heuristic for guiding inductive proofs
Artificial Intelligence
On proving the termination of algorithms by machine
Artificial Intelligence
Automated Refinement of First-Order Horn-Clause Domain Theories
Machine Learning
Applications of inductive logic programming
Communications of the ACM
Search in games with incomplete information: a case study using Bridge card play
Artificial Intelligence
Planning Proofs of Equations in CCS
Automated Software Engineering
Introduction to Functional Programming
Introduction to Functional Programming
Learning Logical Definitions from Relations
Machine Learning
The Use of Planning Critics in Mechanizing Inductive Proofs
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Proof Plans for the Correction of False Conjectures
LPAR '94 Proceedings of the 5th International Conference on Logic Programming and Automated Reasoning
Experiments in Automating Hardware Verification Using Inductive Proof Planning
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
The Use of Explicit Plans to Guide Inductive Proofs
Proceedings of the 9th International Conference on Automated Deduction
Proceedings of the 10th International Conference on Automated Deduction
CADE-13 Proceedings of the 13th International Conference on Automated Deduction: Automated Deduction
Automatic synthesis of recursive programs: the proof-planning paradigm
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
An ML Editor Based on Proofs-as-Programs
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
The Use of Abduction and Recursion-Editor Techniques for the Correction of Faulty Conjectures
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
The Importance of Non-theorems and Counterexamples in Program Verification
Verified Software: Theories, Tools, Experiments
Some encounters on the productive use of a failed proof attempt or a counterexample
MICAI'10 Proceedings of the 9th Mexican international conference on Advances in artificial intelligence: Part I
Hi-index | 0.00 |
The synthesis of programs as well as other synthetic tasks often end up with an unprovable, partially false conjecture. A successful subsequent synthesis attempt depends on determining why the conjecture is faulty and how it can be corrected. Hence, it is highly desirable to have an automated means for detecting and correcting faulty conjectures.We introduce a method for patching faulty conjectures. The method is based on abduction and performs its task during an attempt to prove a given conjecture. On input ∀X. G(X), the method builds a definition for a corrective predicate, P(X), such that ∀X. P(X) → G(X) is a theorem. The synthesis of a corrective predicate is guided by the constructive principle of formulae as types, relating inference with computation.We take the construction of a corrective predicate as a program transformation task. The method consists of a collection of construction commands. A construction command is a small program that makes use of one or more program editing commands, geared towards building recursive, equational procedures.A synthesised corrective predicate is guaranteed to be correct, turning a faulty conjecture into a theorem. Whether conditional or not, it will be well-defined. If recursive, it will also be terminating.Our method is amenable to mechanisation, but careful search guidance is required for making a productive use of the failure of a proof. A failed proof attempt quickly yields a huge, possibly infinite, deduction tree, giving rise to exponentially many abductive explanations. We suggest that a proof planning approach can structure the task of correcting a formula in such a way as to allow significant automation, while dramatically restricting the search space.