Waldinger, Richard
Overview
Works:  67 works in 235 publications in 2 languages and 1,320 library holdings 

Roles:  Author 
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 1984 and 1990 in English and held by 485 WorldCat member libraries worldwide
Mathematical logic; Theories with induction
23 editions published between 1984 and 1990 in English and held by 485 WorldCat member libraries worldwide
Mathematical logic; Theories with induction
Studies in automatic programming logic by
Zohar Manna(
Book
)
14 editions published in 1977 in English and Italian and held by 321 WorldCat member libraries worldwide
14 editions published in 1977 in English and Italian and held by 321 WorldCat member libraries worldwide
The deductive foundations of computer programming : a onevolume version of The logical basis for computer programming by
Zohar Manna(
Book
)
13 editions published between 1943 and 1993 in English and held by 186 WorldCat member libraries worldwide
13 editions published between 1943 and 1993 in English and held by 186 WorldCat member libraries worldwide
The Logical basis for computer programming by
Zohar Manna(
Book
)
8 editions published in 1985 in English and held by 45 WorldCat member libraries worldwide
8 editions published in 1985 in English and held by 45 WorldCat member libraries worldwide
Is "sometime" sometimes better than "always"? : Intermittent assertions in proving program correctness by
Zohar Manna(
Book
)
16 editions published between 1976 and 1977 in English and Undetermined and held by 21 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 Knuth and further developed by Burstall, promises to provide a valuable complement to the more conventional methods. The technique is introduced and illustrated with a number of examples. It is then shown that a correctness proof using the invariant assertion method or the subgoal induction method can always be expressed using intermittent assertions instead, but that the reverse is not always the case. The method can also be used just to prove termination, and any proof of termination using the conventional wellfounded sets approach can be rephrased as a proof using intermittent assertions. Finally, it is shown how the method can be applied to prove the validity of program transformations and the correctness of continuously operating programs
16 editions published between 1976 and 1977 in English and Undetermined and held by 21 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 Knuth and further developed by Burstall, promises to provide a valuable complement to the more conventional methods. The technique is introduced and illustrated with a number of examples. It is then shown that a correctness proof using the invariant assertion method or the subgoal induction method can always be expressed using intermittent assertions instead, but that the reverse is not always the case. The method can also be used just to prove termination, and any proof of termination using the conventional wellfounded sets approach can be rephrased as a proof using intermittent assertions. Finally, it is shown how the method can be applied to prove the validity of program transformations and the correctness of continuously operating programs
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
Fundamentals of deductive program synthesis by
Zohar Manna(
Book
)
4 editions published in 1992 in English and held by 15 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
4 editions published in 1992 in English and held by 15 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
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
Special relations in programsynthetic deduction by
Zohar Manna(
Book
)
7 editions published between 1981 and 1982 in English and Undetermined and held by 14 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)
7 editions published between 1981 and 1982 in English and Undetermined and held by 14 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)
The logic of computer programming by
Zohar Manna(
Book
)
8 editions published in 1977 in English and Undetermined and held by 13 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 13 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)
TABLOG : the deductivetableau programming language by
Yonathan Malachi(
Book
)
8 editions published in 1984 in English and Undetermined and held by 13 WorldCat member libraries worldwide
8 editions published in 1984 in English and Undetermined and held by 13 WorldCat member libraries worldwide
Special relations in automated deduction by
Zohar Manna(
Book
)
7 editions published in 1985 in English and Undetermined and held by 12 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 12 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
A deductive approach to program synthesis by
Zohar Manna(
Book
)
8 editions published in 1978 in English and Undetermined and held by 11 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)
8 editions published in 1978 in English and Undetermined and held by 11 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
)
7 editions published in 1981 in English and held by 10 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)
7 editions published in 1981 in English and held by 10 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)
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)
The origin of the binarysearch paradigm by
Zohar Manna(
Book
)
7 editions published in 1985 in English and Undetermined and held by 10 WorldCat member libraries worldwide
In a binarysearch algorithm for the computation of a numerical function, the interval in which the desired output is sought is divided in half at each iteration. The paper considers how such algorithms might be derived from their specifications by an automatic programsynthesis system. The derivation of the binarysearch concept has been found to be surprisingly straightforward. The programs obtained, though reasonably simple and efficient, are quite different from those that would have been constructed by informal means. Additional keywords: Mathematical programming, Specifications, Transformations(Mathematics), and Derivatives(Mathematics). (Author)
7 editions published in 1985 in English and Undetermined and held by 10 WorldCat member libraries worldwide
In a binarysearch algorithm for the computation of a numerical function, the interval in which the desired output is sought is divided in half at each iteration. The paper considers how such algorithms might be derived from their specifications by an automatic programsynthesis system. The derivation of the binarysearch concept has been found to be surprisingly straightforward. The programs obtained, though reasonably simple and efficient, are quite different from those that would have been constructed by informal means. Additional keywords: Mathematical programming, Specifications, Transformations(Mathematics), and Derivatives(Mathematics). (Author)
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)
QA4 : a procedural calculus for intuitive reasoning by
Johns F Rulifson(
Book
)
6 editions published in 1972 in English and held by 9 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
6 editions published in 1972 in English and held by 9 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
Synthesis : dreams=>programs by
Zohar Manna(
Book
)
7 editions published in 1977 in English and Undetermined and held by 9 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 9 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
Structured programming with recursion by
Zohar Manna(
Book
)
6 editions published in 1978 in English and Undetermined and held by 8 WorldCat member libraries worldwide
6 editions published in 1978 in English and Undetermined and held by 8 WorldCat member libraries worldwide
more
fewer
Audience Level
0 

1  
Kids  General  Special 
Related Identities
 Manna, Zohar Author
 Stanford University Computer Science Department
 Stanford Research Institute Artificial Intelligence Group
 Malachi, Yonathan Author
 Rulifson, Johns F. Author
 Stanford Artificial Intelligence Laboratory
 Katz, Shmuel
 Derksen, Jan A. Author
 Levitt, Karl
 STANFORD UNIV CA DEPT OF COMPUTER SCIENCE
Associated Subjects
Algorithms Artificial intelligence Automatic programming (Computer science) Automatic theorem proving Binary system (Mathematics) Canada Computer programming Computer programs Computer programsTesting Computer programsVerification Induction (Mathematics) LISP (Computer program language) Logic Logic, Symbolic and mathematical Logic programming Nilsson, Nils J., Numerical calculationsData processing Planning Problem solving Programming languages (Electronic computers) Proof theory Recursive programming Rosen, Charles Scientists Search theory Stanford Research Institute Structured programming TABLOG (Computer program language) United States Verification (Logic)