Waldinger, Richard
Overview
Works:  62 works in 248 publications in 3 languages and 1,367 library holdings 

Roles:  Author, Other 
Classifications:  QA76.6, 001.642 
Publication Timeline
.
Most widely held works about
Richard Waldinger
Most widely held works by
Richard Waldinger
The logical basis for computer programming by
Zohar Manna(
Book
)
23 editions published between 1985 and 1990 in English and Spanish and held by 484 WorldCat member libraries worldwide
Mathematical logic; Theories with induction
23 editions published between 1985 and 1990 in English and Spanish and held by 484 WorldCat member libraries worldwide
Mathematical logic; Theories with induction
Studies in automatic programming logic by
Zohar Manna(
Book
)
15 editions published in 1977 in English and Italian and held by 323 WorldCat member libraries worldwide
15 editions published in 1977 in English and Italian and held by 323 WorldCat member libraries worldwide
The deductive foundations of computer programming : a onevolume version of The logical basis for computer programming by
Zohar Manna(
Book
)
17 editions published between 1943 and 1993 in English and held by 196 WorldCat member libraries worldwide
17 editions published between 1943 and 1993 in English and held by 196 WorldCat member libraries worldwide
The logical basis for computer programming by
Zohar Manna(
Book
)
13 editions published between 1985 and 1990 in English and held by 58 WorldCat member libraries worldwide
13 editions published between 1985 and 1990 in English and held by 58 WorldCat member libraries worldwide
How to clear a block : a theory of plans by
Zohar Manna(
Book
)
7 editions published between 1986 and 1987 in English and Undetermined and held by 19 WorldCat member libraries worldwide
Problems in commonsense and robot planning are approached by methods adapted from program synthesis research; planning is regard as an application of automated deduction. To support this approach, we introduce a variant of situational logic, called plan theory, in which plans are explicit objects. A machineoriented deductivetableau inference system is adapted to plan theory. Equations and equivalences of the theory are built into a unification algorithm for the system. Frame axioms are built into the resolution rule. Special attention is paid to the derivation of conditional and recursive plans. Inductive proofs of theorems for even the simplest planning problems, such as clearing a block, have been found to require challenging generalizations
7 editions published between 1986 and 1987 in English and Undetermined and held by 19 WorldCat member libraries worldwide
Problems in commonsense and robot planning are approached by methods adapted from program synthesis research; planning is regard as an application of automated deduction. To support this approach, we introduce a variant of situational logic, called plan theory, in which plans are explicit objects. A machineoriented deductivetableau inference system is adapted to plan theory. Equations and equivalences of the theory are built into a unification algorithm for the system. Frame axioms are built into the resolution rule. Special attention is paid to the derivation of conditional and recursive plans. Inductive proofs of theorems for even the simplest planning problems, such as clearing a block, have been found to require challenging generalizations
Is "sometime" sometimes better than "always"? : Intermittent assertions in proving program correctness by
Zohar Manna(
Book
)
13 editions published between 1976 and 1977 in English and Undetermined and held by 18 WorldCat member libraries worldwide
This paper explores a technique for proving the correctness and termination of programs simultaneously. This approach, which we call the intermittentassertion method, involves documenting the program with assertions that must be true at some time when control is passing through the corresponding point, but that need not be true every time. The method, introduced by Burstall, promises to provide a valuable complement to the more conventional methods. The intermittentassertion method is introduced with a number of examples of correctness and termination proofs. Some of these proofs are markedly simpler than their conventional counterparts. On the other hand, we show that a proof of correctness or termination by any of the conventional techniques can be rephrased directly as a proof using intermittent assertions. Finally, we show how the intermittentassertion method can be applied to prove the validity of program transformations and the correctness of continuously operating programs
13 editions published between 1976 and 1977 in English and Undetermined and held by 18 WorldCat member libraries worldwide
This paper explores a technique for proving the correctness and termination of programs simultaneously. This approach, which we call the intermittentassertion method, involves documenting the program with assertions that must be true at some time when control is passing through the corresponding point, but that need not be true every time. The method, introduced by Burstall, promises to provide a valuable complement to the more conventional methods. The intermittentassertion method is introduced with a number of examples of correctness and termination proofs. Some of these proofs are markedly simpler than their conventional counterparts. On the other hand, we show that a proof of correctness or termination by any of the conventional techniques can be rephrased directly as a proof using intermittent assertions. Finally, we show how the intermittentassertion method can be applied to prove the validity of program transformations and the correctness of continuously operating programs
Fundamentals of deductive program synthesis by
Zohar Manna(
Book
)
6 editions published in 1992 in English and held by 16 WorldCat member libraries worldwide
Abstract: "An informal tutorial is presented for program synthesis, with an emphasis on deductive methods. According to this approach, to construct a program meeting a given specification, we prove the existence of an object meeting the specified conditions. The proof is restricted to be sufficiently constructive, in the sense that, in establishing the existence of the desired output, the proof is forced to indicate a computational method for finding it. That method becomes the basis for a program that can be extracted from the proof. The exposition is based on the deductivetableau system, a theoremproving framework particularly suitable for program synthesis
6 editions published in 1992 in English and held by 16 WorldCat member libraries worldwide
Abstract: "An informal tutorial is presented for program synthesis, with an emphasis on deductive methods. According to this approach, to construct a program meeting a given specification, we prove the existence of an object meeting the specified conditions. The proof is restricted to be sufficiently constructive, in the sense that, in establishing the existence of the desired output, the proof is forced to indicate a computational method for finding it. That method becomes the basis for a program that can be extracted from the proof. The exposition is based on the deductivetableau system, a theoremproving framework particularly suitable for program synthesis
The logic of computer programming by
Zohar Manna(
Book
)
8 editions published in 1977 in English and Undetermined and held by 15 WorldCat member libraries worldwide
Techniques derived from mathematical logic promise to provide an alternative to the conventional methodology for constructing, debugging, and optimizing computer programs. Ultimately, these techniques are intended to lead to the automation of many of the facets of the programming process. This paper provides a unified tutorial exposition of the logical techniques, illustrating each with examples. The strengths and limitations of each technique as a practical programming aid are assessed and attempts to implement these methods in experimental systems are discussed. (Author)
8 editions published in 1977 in English and Undetermined and held by 15 WorldCat member libraries worldwide
Techniques derived from mathematical logic promise to provide an alternative to the conventional methodology for constructing, debugging, and optimizing computer programs. Ultimately, these techniques are intended to lead to the automation of many of the facets of the programming process. This paper provides a unified tutorial exposition of the logical techniques, illustrating each with examples. The strengths and limitations of each technique as a practical programming aid are assessed and attempts to implement these methods in experimental systems are discussed. (Author)
Deductive reasoning by
Zohar Manna(
Book
)
1 edition published in 1985 in Undetermined and held by 14 WorldCat member libraries worldwide
1 edition published in 1985 in Undetermined and held by 14 WorldCat member libraries worldwide
Deductive systems by
Zohar Manna(
Book
)
2 editions published between 1985 and 1990 in Undetermined and English and held by 14 WorldCat member libraries worldwide
2 editions published between 1985 and 1990 in Undetermined and English and held by 14 WorldCat member libraries worldwide
TABLOG : the deductivetableau programming language by
Yonathan Malachi(
Book
)
9 editions published in 1984 in English and Undetermined and held by 14 WorldCat member libraries worldwide
Our research concentrated on the following topics: The DeductiveTableau System, The TABLOG language and its implementation, A Resolution Approach to Temporal Proofs, Temporal Logic Programming, Logic Programming Semantics: Techniques and Applications. Keywords: Programming language. (sdw/jes)
9 editions published in 1984 in English and Undetermined and held by 14 WorldCat member libraries worldwide
Our research concentrated on the following topics: The DeductiveTableau System, The TABLOG language and its implementation, A Resolution Approach to Temporal Proofs, Temporal Logic Programming, Logic Programming Semantics: Techniques and Applications. Keywords: Programming language. (sdw/jes)
Special relations in automated deduction by
Zohar Manna(
Book
)
7 editions published in 1985 in English and Undetermined and held by 13 WorldCat member libraries worldwide
Two deduction rules are introduced to give streamlined treatment to relations of special importance in an automated theorem proving system. These rules, the relation replacement and relation matching rules, generalise to an arbitrary binary relation the paramodulation and resolution rules, respectively, for equality, and may operate within a nonclausal or clausal system. The new rules depend on an extension of the notion of polarity to apply to subterms as well as to subsentences, with respect to a given binary relation. The rules allow us to eliminate troublesome axioms, such as transitivity and monotonicity, from the system; proofs are shorter and more comprehensible, and the search space is correspondingly deflated
7 editions published in 1985 in English and Undetermined and held by 13 WorldCat member libraries worldwide
Two deduction rules are introduced to give streamlined treatment to relations of special importance in an automated theorem proving system. These rules, the relation replacement and relation matching rules, generalise to an arbitrary binary relation the paramodulation and resolution rules, respectively, for equality, and may operate within a nonclausal or clausal system. The new rules depend on an extension of the notion of polarity to apply to subterms as well as to subsentences, with respect to a given binary relation. The rules allow us to eliminate troublesome axioms, such as transitivity and monotonicity, from the system; proofs are shorter and more comprehensible, and the search space is correspondingly deflated
Special relations in programsynthetic deduction by
Zohar Manna(
Book
)
6 editions published between 1981 and 1982 in English and Undetermined and held by 13 WorldCat member libraries worldwide
Program synthesis is the automated derivation of a computer program from a given specification. In the deductive approach, the synthesis of a program is regarded as a theoremproving problem; the desired program is constructed as a byproduct of the proof. This paper presents a formal deduction system for program synthesis, with special features for handling equality, the equivalence connective, and ordering relations. In proving theorems involving the equivalence connective, it is awkward to remove all the quantifiers before attempting the proof. The system therefore deals with partially skolemized sentences, in which some of the quantifiers may be left in place. A rule is provided for removing individual quantifiers when required after the proof is under way. The system is also nonclausal; i.e., the theorem does not need to be put into conjunctive normal form. The equivalence, implication, and other connectives may be left intact. (Author)
6 editions published between 1981 and 1982 in English and Undetermined and held by 13 WorldCat member libraries worldwide
Program synthesis is the automated derivation of a computer program from a given specification. In the deductive approach, the synthesis of a program is regarded as a theoremproving problem; the desired program is constructed as a byproduct of the proof. This paper presents a formal deduction system for program synthesis, with special features for handling equality, the equivalence connective, and ordering relations. In proving theorems involving the equivalence connective, it is awkward to remove all the quantifiers before attempting the proof. The system therefore deals with partially skolemized sentences, in which some of the quantifiers may be left in place. A rule is provided for removing individual quantifiers when required after the proof is under way. The system is also nonclausal; i.e., the theorem does not need to be put into conjunctive normal form. The equivalence, implication, and other connectives may be left intact. (Author)
QA4 : a procedural calculus for intuitive reasoning by
Johns F Rulifson(
Book
)
7 editions published in 1972 in English and held by 10 WorldCat member libraries worldwide
This report presents a language, called QA4, designed to facilitate the construction of problemsolving systems used for robot planning, theorem proving, and automatic program synthesis and verification. QA4 integrates an omegaorder logic language with canonical composition, associative retrieval, and pattern matching of expressions; process structure programming; goaldirected searching; and demons. Thus it provides many useful programming aids. More importantly, however, it provides a semantic framework for common sense reasoning about these problem domains. The interpreter for the language is extraordinarily general, and is therefore an adaptable tool for developing the specialized techniques of intuitive, symbolic reasoning used by the intelligent systems
7 editions published in 1972 in English and held by 10 WorldCat member libraries worldwide
This report presents a language, called QA4, designed to facilitate the construction of problemsolving systems used for robot planning, theorem proving, and automatic program synthesis and verification. QA4 integrates an omegaorder logic language with canonical composition, associative retrieval, and pattern matching of expressions; process structure programming; goaldirected searching; and demons. Thus it provides many useful programming aids. More importantly, however, it provides a semantic framework for common sense reasoning about these problem domains. The interpreter for the language is extraordinarily general, and is therefore an adaptable tool for developing the specialized techniques of intuitive, symbolic reasoning used by the intelligent systems
Constructing programs automatically using theorem proving by
Richard Waldinger(
Book
)
7 editions published between 1969 and 1972 in English and Undetermined and held by 10 WorldCat member libraries worldwide
The paper describes a method by which programs may be constructed mechanically. The problem of writing a program is transformed into a theorem proving task. The specifications for the program are used to construct a theorem, the theorem is proved, and the program is derived from the proof of the theorem. The specifications for the program are described as a relation between the input and output variables expressed in predicate calculus. Mechanical theorem proving techniques are used to prove the existence of output variables satisfying the specifications. Existence is proven constructively, so that embedded in the proof is a method to compute the desired output values. A program is extracted from the proof. Restrictions to Robinson's resolution principle are proposed so that only constructive proofs are produced. A proof of the soundness of the method is presented. It is also shown that programs for the entire class of recursive functions may be written by automatic program writing. Thus nothing is lost by restricting application of the resolution principle. An implementation of the method which writes LISP programs is described. (Author)
7 editions published between 1969 and 1972 in English and Undetermined and held by 10 WorldCat member libraries worldwide
The paper describes a method by which programs may be constructed mechanically. The problem of writing a program is transformed into a theorem proving task. The specifications for the program are used to construct a theorem, the theorem is proved, and the program is derived from the proof of the theorem. The specifications for the program are described as a relation between the input and output variables expressed in predicate calculus. Mechanical theorem proving techniques are used to prove the existence of output variables satisfying the specifications. Existence is proven constructively, so that embedded in the proof is a method to compute the desired output values. A program is extracted from the proof. Restrictions to Robinson's resolution principle are proposed so that only constructive proofs are produced. A proof of the soundness of the method is presented. It is also shown that programs for the entire class of recursive functions may be written by automatic program writing. Thus nothing is lost by restricting application of the resolution principle. An implementation of the method which writes LISP programs is described. (Author)
TABLOG : a new approach to logic programming by
Yonathan Malachi(
Book
)
5 editions published between 1985 and 1986 in English and Undetermined and held by 10 WorldCat member libraries worldwide
TABLOG is a programming language based on firstorder predicate logic with equality that combines relational and functional programming. In addition to featuring both the advantages of functional notation and the power of unification as a binding mechanism, TABLOG also supports a more general subset of standard firstorder logic than PROLOG and most other logicprogramming languages. The MannaWaldinger deductivetableau proof system is employed as an interpreter for TABLOG in the same way that PROLOG uses a resolution proof system. Unification is used by TABLOG to match a query with a line in the program and to bind arguments. The basic rules of deduction used for computing are a nonclausal resolution rule that generalizes classical resolution to arbitrary firstorder sentences and an equality rule that is a generalization of narrowing and paramodulation. In this article we described the basic features of TABLOG and its (implemented) sequential interpreter, and we discuss some of its properties. We give examples to demonstrate when TABLOG is better than a functional language like LISP and when it is better than a relational language like PROLOG. (kr)
5 editions published between 1985 and 1986 in English and Undetermined and held by 10 WorldCat member libraries worldwide
TABLOG is a programming language based on firstorder predicate logic with equality that combines relational and functional programming. In addition to featuring both the advantages of functional notation and the power of unification as a binding mechanism, TABLOG also supports a more general subset of standard firstorder logic than PROLOG and most other logicprogramming languages. The MannaWaldinger deductivetableau proof system is employed as an interpreter for TABLOG in the same way that PROLOG uses a resolution proof system. Unification is used by TABLOG to match a query with a line in the program and to bind arguments. The basic rules of deduction used for computing are a nonclausal resolution rule that generalizes classical resolution to arbitrary firstorder sentences and an equality rule that is a generalization of narrowing and paramodulation. In this article we described the basic features of TABLOG and its (implemented) sequential interpreter, and we discuss some of its properties. We give examples to demonstrate when TABLOG is better than a functional language like LISP and when it is better than a relational language like PROLOG. (kr)
Synthesisdreams => programs by
Zohar Manna(
Book
)
7 editions published in 1977 in English and Undetermined and held by 10 WorldCat member libraries worldwide
Deductive techniques are presented for deriving programs systematically from given specifications. The specifications express the purpose of the desired program without giving any hint of the algorithm to be employed. The basic approach is to transform the specifications repeatedly according to certain rules, until a satisfactory program is produced. The rules are guided by a number of strategic controls. These techniques have been incorporated in a running program synthesis system, called DEDALUS. The DEDALUS system accepts specifications expressed in a highlevel language, including set notation, logical quantification, and a rich vocabulary drawn from a variety of subject domains. The system attempts to transform the specifications into a recursive, LISPlike target program. Over one hundred rules have been implemented, each expressed as a small program in the QLISP language
7 editions published in 1977 in English and Undetermined and held by 10 WorldCat member libraries worldwide
Deductive techniques are presented for deriving programs systematically from given specifications. The specifications express the purpose of the desired program without giving any hint of the algorithm to be employed. The basic approach is to transform the specifications repeatedly according to certain rules, until a satisfactory program is produced. The rules are guided by a number of strategic controls. These techniques have been incorporated in a running program synthesis system, called DEDALUS. The DEDALUS system accepts specifications expressed in a highlevel language, including set notation, logical quantification, and a rich vocabulary drawn from a variety of subject domains. The system attempts to transform the specifications into a recursive, LISPlike target program. Over one hundred rules have been implemented, each expressed as a small program in the QLISP language
Towards automatic program synthesis by
Zohar Manna(
Book
)
5 editions published in 1970 in English and held by 10 WorldCat member libraries worldwide
An elementary outline of the theoremproving approach to automatic program synthesis is given, without dwelling on technical details. The method is illustrated by the automatic construction of both recursive and iterative programs operating on natural numbers, lists, and trees. In order to construct a program satisfying certain specifications, a theorem induced by those specifications is proved, and the desired program is extracted from the proof. The same technique is applied to transform recursively defined functions into iterative programs, frequently with a major gain in efficiency. It is emphasized that in order to construct a program with loops or with recursion, the principle of mathematical induction must be applied. The relation between the version of the induction rule used and the form of the program constructed is explored in some detail. (Author)
5 editions published in 1970 in English and held by 10 WorldCat member libraries worldwide
An elementary outline of the theoremproving approach to automatic program synthesis is given, without dwelling on technical details. The method is illustrated by the automatic construction of both recursive and iterative programs operating on natural numbers, lists, and trees. In order to construct a program satisfying certain specifications, a theorem induced by those specifications is proved, and the desired program is extracted from the proof. The same technique is applied to transform recursively defined functions into iterative programs, frequently with a major gain in efficiency. It is emphasized that in order to construct a program with loops or with recursion, the principle of mathematical induction must be applied. The relation between the version of the induction rule used and the form of the program constructed is explored in some detail. (Author)
A deductive approach to program synthesis by
Zohar Manna(
Book
)
5 editions published in 1978 in English and Undetermined and held by 9 WorldCat member libraries worldwide
Program synthesis is the systematic derivation of a program from given specifications. A deductive approach to program synthesis is presented for the construction of recursive programs. This approach regards program synthesis as a theoremproving task and relies on a theoremproving method that combines the features of transformation rules, unification, and mathematical induction within a single framework. (Author)
5 editions published in 1978 in English and Undetermined and held by 9 WorldCat member libraries worldwide
Program synthesis is the systematic derivation of a program from given specifications. A deductive approach to program synthesis is presented for the construction of recursive programs. This approach regards program synthesis as a theoremproving task and relies on a theoremproving method that combines the features of transformation rules, unification, and mathematical induction within a single framework. (Author)
Deductive synthesis of the unification algorithm by
Zohar Manna(
Book
)
4 editions published in 1981 in English and held by 8 WorldCat member libraries worldwide
THE DEDUCTIVE APPROACH IS A FORMAL PROGRAMCONSTRUCTION METHOD IN WHICH THE DERIVATION OF A PROGRAM FROM A GIVEN SPECIFICATION IS REGARDED AS A THEOREMPROVING TASK. To construct a program whose output satisfies the conditions of the specification, we prove a theorem stating the existence of such an output. The proof is restricted to be sufficiently constructive so that a program computing the desired output can be extracted directly from the proof. The program we obtain is applicative and may consist of several mutually recursive procedures. The proof constitutes a demonstration of the correctness of this program. To exhibit the full power of the deductive approach, we apply it to a nontrivial example  the synthesis of a unification algorithm. Unification is the process of finding a common instance of two expressions. Algorithms to perform unification have been central to many theoremproving systems and some programminglanguage processors. The task of deriving a unification algorithm automatically is beyond the power of existing programsynthesis systems. In this paper, we use the deductive approach to derive an algorithm from a simple, highlevel specification of the unification task. We will identify some of the capabilities required of a theoremproving system to perform this derivation automatically. (Author)
4 editions published in 1981 in English and held by 8 WorldCat member libraries worldwide
THE DEDUCTIVE APPROACH IS A FORMAL PROGRAMCONSTRUCTION METHOD IN WHICH THE DERIVATION OF A PROGRAM FROM A GIVEN SPECIFICATION IS REGARDED AS A THEOREMPROVING TASK. To construct a program whose output satisfies the conditions of the specification, we prove a theorem stating the existence of such an output. The proof is restricted to be sufficiently constructive so that a program computing the desired output can be extracted directly from the proof. The program we obtain is applicative and may consist of several mutually recursive procedures. The proof constitutes a demonstration of the correctness of this program. To exhibit the full power of the deductive approach, we apply it to a nontrivial example  the synthesis of a unification algorithm. Unification is the process of finding a common instance of two expressions. Algorithms to perform unification have been central to many theoremproving systems and some programminglanguage processors. The task of deriving a unification algorithm automatically is beyond the power of existing programsynthesis systems. In this paper, we use the deductive approach to derive an algorithm from a simple, highlevel specification of the unification task. We will identify some of the capabilities required of a theoremproving system to perform this derivation automatically. (Author)
more
fewer
Audience Level
0 

1  
Kids  General  Special 
Related Identities
Associated Subjects
Algorithms Artificial intelligence Automatic programming (Computer science) Automatic theorem proving Canada Computer programming Computer programs Computer programsTesting Computer programsVerification Functional programming (Computer science) Induction (Mathematics) LISP (Computer program language) Logic Logic, Symbolic and mathematical Logic programming Nilsson, Nils J., Planning Problem solving Programming languages (Electronic computers) Proof theory Recursive programming Rosen, Charles Scientists Stanford Research Institute Structured programming TABLOG (Computer program language) United States Verification (Logic)