9 research outputs found
Tree-oriented interactive processing with an application to theorem-proving, appendix E
The concept of unstructured structure editing and ted, an editor for unstructured trees, is described. Ted is used to manipulate hierarchies of information in an unrestricted manner. The tool was implemented and applied to the problem of organizing formal proofs. As a proof management tool, it maintains the validity of a proof and its constituent lemmas independently from the methods used to validate the proof. It includes an adaptable interface which may be used to invoke theorem provers and other aids to proof construction. Using ted, a user may construct, maintain, and verify formal proofs using a variety of theorem provers, proof checkers, and formatters
Decision-making and problem-solving methods in automation technology
The state of the art in the automation of decision making and problem solving is reviewed. The information upon which the report is based was derived from literature searches, visits to university and government laboratories performing basic research in the area, and a 1980 Langley Research Center sponsored conferences on the subject. It is the contention of the authors that the technology in this area is being generated by research primarily in the three disciplines of Artificial Intelligence, Control Theory, and Operations Research. Under the assumption that the state of the art in decision making and problem solving is reflected in the problems being solved, specific problems and methods of their solution are often discussed to elucidate particular aspects of the subject. Synopses of the following major topic areas comprise most of the report: (1) detection and recognition; (2) planning; and scheduling; (3) learning; (4) theorem proving; (5) distributed systems; (6) knowledge bases; (7) search; (8) heuristics; and (9) evolutionary programming
SAGA: A project to automate the management of software production systems
The SAGA system is a software environment that is designed to support most of the software development activities that occur in a software lifecycle. The system can be configured to support specific software development applications using given programming languages, tools, and methodologies. Meta-tools are provided to ease configuration. The SAGA system consists of a small number of software components that are adapted by the meta-tools into specific tools for use in the software development application. The modules are design so that the meta-tools can construct an environment which is both integrated and flexible. The SAGA project is documented in several papers which are presented
Fundamentación de un sistema para la resolución automática de problemas
Tesis doctoral inédita leÃda en la Universidad Autónoma de Madrid. Facultad de Ciencias, Departamento de IngenierÃa Informática. Fecha de lectura: 23-3-9
Interactive program verification using virtual programs
This thesis is concerned with ways of proving the
correctness of computer programs. The first part of the
thesis presents a new method for doing this. The method,
called continuation induction, is based on the ideas of
symbolic execution, the description of a given program by a
virtual program, and the demonstration that these two
programs are equivalent whenever the given program
terminates. The main advantage of continuation induction
over other methods is that it enables programs using a wide
variety of programming constructs such as recursion,
iteration, non-determinism, procedures with side-effects and
jumps out of blocks to be handled in a natural and uniform
way. In the second part of the thesis a program verifier
which uses both this method and Floyd's inductive assertion
method is described. The significance of this verifier is
that it is designed to be extensible, and to this end the
user can declare new functions and predicates to be used in
giving a natural description of the program's intention.
Rules describing these new functions can then be used when
verifying the program. To actually prove the verification
conditions, the system employs automatic simplification, a
relatively clever matcher, a simple natural deduction system
and, most importantly, the user's advice. A large number of
commands are provided for the user in guiding the system to a proof of the program's correctness. The system has been
used to verify various programs including two sorting
programs and a program to invert a permutation 'in place' the proofs of the sorting programs included a proof of the fact that
the final array was a permutation of the original one.
Finally, some observations and suggestions are made
concerning the continued development of such interactive
verification systems