#### DMCA

## Fundamentals Of Deductive Program Synthesis (1992)

Venue: | IEEE Transactions on Software Engineering |

Citations: | 76 - 1 self |

### Citations

1093 |
A machine-oriented logic based on the resolution principle
- Robinson
- 1965
(Show Context)
Citation Context ...ive systems. We may classify automatic theorem provers according to the logical theories on which they focus. ffl Predicate Logic with Equality. Much work has exploited the resolution (J. A. Robinson =-=[Ro65]-=-) and paramodulation (Wos and G. Robinson [WR69]) inference rules for these theories. Theorem provers based on these ideas, such as those developed at the Argonne National Laboratory (McCune [Mc90]), ... |

801 | Predicate Logic as Programming Language
- Kowalski
- 1974
(Show Context)
Citation Context ...totyping. Assuring a potential user that a specification actually does agree with his expectations (Guttag and Horning [GH80]). ffl Logic Programming. Executing a program expressed in logic (Kowalski =-=[Kow74]-=-). ffl Debugging. Exhibiting inputs that cause a program to fail to meet its specification (Shapiro [Sp83]). ffl Modification. Altering a given program to reflect changes in its specification or envir... |

647 | A transformational system for developing recursive programs
- Burstall, Darlington
- 1977
(Show Context)
Citation Context ...e [BM79]). This is the oldest of the deductive methods. ffl Program Transformation. Transforming a given program into a more efficient, perhaps less understandable equivalent (Burstall and Darlington =-=[BD77]-=-). ffl Rapid Prototyping. Assuring a potential user that a specification actually does agree with his expectations (Guttag and Horning [GH80]). ffl Logic Programming. Executing a program expressed in ... |

591 |
A Computational Logic
- Boyer, Moore
- 1979
(Show Context)
Citation Context ...e mention some of the other deductive software-development methods, with representative references. ffl Program Verification. Proving that a given program meets a given specification (Boyer and Moore =-=[BM79]-=-). This is the oldest of the deductive methods. ffl Program Transformation. Transforming a given program into a more efficient, perhaps less understandable equivalent (Burstall and Darlington [BD77]).... |

559 |
The calculus of constructions
- Coquand, Huet
- 1988
(Show Context)
Citation Context ...M88]). Of particular relevance to program synthesis is the development of interactive systems to prove theorems in constructive logics. The Nuprl system (Constable et al [Con86], cf. Coquand and Huet =-=[CH88]-=-, Sato [Sa79], Hayashi and Nakano [HN88]) is based on Martin-Lof's constructive logic (Martin-Lof [M-L82], Nordstrom et al [NPS90]) and has been applied to problems in program derivation as well as ma... |

529 |
Algorithmic Program DeBugging
- Shapiro
- 1983
(Show Context)
Citation Context ...and Horning [GH80]). ffl Logic Programming. Executing a program expressed in logic (Kowalski [Kow74]). ffl Debugging. Exhibiting inputs that cause a program to fail to meet its specification (Shapiro =-=[Sp83]-=-). ffl Modification. Altering a given program to reflect changes in its specification or environment (Dershowitz [De83]). In a somewhat different category, we may consider a variety of knowledge-based... |

471 | On the synthesis of a reactive module - Pnueli, Rosner - 1989 |

467 | A generic theorem prover
- Paulson, Isabelle
- 1994
(Show Context)
Citation Context ...'s Logic of Computable Functions. Although these systems are under user control, they provide the capability to encode commonly repeated patterns of inference as tactics. The system Isabelle (Paulson =-=[Pa89]-=-) arises from LCF but is generic; that is, it allows us to describe a new logic, then prove theorems in that logic (cf. Felty and Miller [FM88]). Of particular relevance to program synthesis is the de... |

185 |
A deductive approach to program synthesis
- Manna, Waldinger
- 1980
(Show Context)
Citation Context ...oal z 2srsr ! (z + ffl) 2 z The Resolution Rule The resolution rule is a nonclausal version of the classical Robinson [Ro65] resolution principle introduced for program synthesis (Manna and Waldinger =-=[MW80]-=-); a similar nonclausal resolution rule was developed independently by Murray [Mu82]. The rule corresponds to a case analysis in an informal argument, and it accounts for the introduction of condition... |

153 |
Edinburgh LCF: a mechanised logic of computation
- Gordon, Milner, et al.
- 1979
(Show Context)
Citation Context ...ctive proofs. The BoyerMoore system, which specializes in proof by induction, does not prove theorems with existential quantifiers. Many of the interactive systems have grown out of LCF (Gordon et al =-=[GMW79]-=-), which was based on Scott's Logic of Computable Functions. Although these systems are under user control, they provide the capability to encode commonly repeated patterns of inference as tactics. Th... |

131 | Automated deduction by theory resolution
- Stickel
- 1985
(Show Context)
Citation Context ...rules for real numbers [BH80] and set theory [Hi90]. We have seen that we can specialize a rule to a particular theory or subtheory if we have a special unification algorithm for that theory. Stickel =-=[St85]-=- has shown that we can also specialize a rule if we are given a procedure for determining the validity of sentences in a subtheory. The specialized rule can then be used to perform derivations in a co... |

129 | Theorem proving via general matings
- Andrews
- 1981
(Show Context)
Citation Context ...ry logic and equivalential calculus. Recent theorem proving systems for predicate logic with equality have employed term-rewriting systems (Kapur and Narendran [KN84]) and connection methods (Andrews =-=[An81]-=-, Bibel [Bi83]), rather than resolution and paramodulation, as the primary inference technique. ffl Theories with Induction. A separate body of work focuses on proofs requiring the principal of mathem... |

109 |
Uni theory
- Siekmann
- 1989
(Show Context)
Citation Context ... result of unifying the two terms f(a; x) and f(b; y) can be either fx / b; y / ag or fx / f(b; u); y / f(a; u)g, where u is a new variable. Special unification algorithms have been devised (Siekmann =-=[Si89]-=-) for treating operators with various combinations of properties, including associativity, commutativity, identity, and idempotence. More general E-unification algorithms (e.g., Fay [Fa79]) treat oper... |

91 |
A unification algorithm for associative-commutative functions" Journal of the association for computing machinery Vol
- Stickel
- 1981
(Show Context)
Citation Context ...ion functions in the theories of numbers or the conjunction and disjunction connectives in any logicial theory, may be incorporated into an associative-commutative (AC) unification algorithm (Stickel =-=[St81]-=-). While the ordinary unification algorithm would not be able to unify the two terms a + (x + b) and (c + a) + b, the AC algorithm would, returning the unifier fx / cg. Completeness results for the al... |

78 |
Specifying theorem provers in a higherorder logic programming language
- Felty, Miller
- 1988
(Show Context)
Citation Context ...ns of inference as tactics. The system Isabelle (Paulson [Pa89]) arises from LCF but is generic; that is, it allows us to describe a new logic, then prove theorems in that logic (cf. Felty and Miller =-=[FM88]-=-). Of particular relevance to program synthesis is the development of interactive systems to prove theorems in constructive logics. The Nuprl system (Constable et al [Con86], cf. Coquand and Huet [CH8... |

69 |
Top-down synthesis of divide-and-conquer algorithms
- Smith
- 1985
(Show Context)
Citation Context ...am to reflect changes in its specification or environment (Dershowitz [De83]). In a somewhat different category, we may consider a variety of knowledge-based software development methods (e.g., Smith =-=[Sm85]-=-) which rely on imitating the techniques of the experienced programmer. Automated deduction is exploited here in an auxiliary role; the programming process is not regarded as a task of proving a theor... |

67 |
First-Order Unification in an Equational Theory
- Fay
- 1979
(Show Context)
Citation Context ...d (Siekmann [Si89]) for treating operators with various combinations of properties, including associativity, commutativity, identity, and idempotence. More general E-unification algorithms (e.g., Fay =-=[Fa79]-=-) treat operators with properties defined by a set of equations supplied by the user. Some of these algorithms produce multiple most-general unifiers or even an infinite stream of unifiers; some are n... |

50 |
Properties of Substitutions and Unifications
- Eder
- 1985
(Show Context)
Citation Context ...empotence had not been studied in connection with unification, so we were surprised to require its introduction into the specification. (Idempotence has been studied independently in the work of Eder =-=[Ed85]-=-.) SPECIALIZED INFERENCE RULES Progress in program synthesis depends on the development of techniques for automated deduction, both interactive and automatic. The inference rules we have introduced so... |

40 |
Computational aspects of an order sorted logic with term declarations
- Schmidt-Schauss
- 1989
(Show Context)
Citation Context ...ealing with sort relations; these are the unary relations, such as integer(x), string(x), or char(x), that serve to categorize our set of objects. Sorted unification algorithms (e.g., Schmidt-Schauss =-=[Sc88]-=-) allow us to provide a declaration that associates a particular sort relation with each variable and term. Thus we might declare that x is of sort integer and s is of sort string. The sorted unificat... |

39 | Formal specification as a design tool
- Guttag, Homing
- 1980
(Show Context)
Citation Context ...ps less understandable equivalent (Burstall and Darlington [BD77]). ffl Rapid Prototyping. Assuring a potential user that a specification actually does agree with his expectations (Guttag and Horning =-=[GH80]-=-). ffl Logic Programming. Executing a program expressed in logic (Kowalski [Kow74]). ffl Debugging. Exhibiting inputs that cause a program to fail to meet its specification (Shapiro [Sp83]). ffl Modif... |

38 |
Deductive synthesis of the unification algorithm
- Manna, Manna, et al.
- 1981
(Show Context)
Citation Context ...), and head \Gamma tail (s) \Deltashead(s), respectively. Some generalizations, however, are more difficult to motivate. For example, in the derivation of a unification algorithm (Manna and Waldinger =-=[MW81], Nar-=-di [Na89]), we begin with a specification unify(e 1 ; e 2 ) ( 8 ? ? ? ? ? ? ? ? ? ? ! ? ? ? ? ? ? ? ? ? ? : find ` such that 2 6 6 4 e 1 ` = e 2 `s(8OE) " if e 1 OE = e 2 OE then (9)[OE = `] # 3 ... |

36 |
PX: A Computational Logic
- Hayashi, Nakano
- 1988
(Show Context)
Citation Context ...m synthesis is the development of interactive systems to prove theorems in constructive logics. The Nuprl system (Constable et al [Con86], cf. Coquand and Huet [CH88], Sato [Sa79], Hayashi and Nakano =-=[HN88]-=-) is based on Martin-Lof's constructive logic (Martin-Lof [M-L82], Nordstrom et al [NPS90]) and has been applied to problems in program derivation as well as mathematics. Although a derivation proof m... |

30 |
Variable Elimination and Chaining in a Resolution-based Prover for Inequalities
- Bledsoe, Hines
- 1980
(Show Context)
Citation Context ...cial treatment to the ordering relation, and eliminate the transitivity and other so-called monotonicity properties of these relations. Bledsoe and Hines give special inference rules for real numbers =-=[BH80]-=- and set theory [Hi90]. We have seen that we can specialize a rule to a particular theory or subtheory if we have a special unification algorithm for that theory. Stickel [St85] has shown that we can ... |

25 |
Completely Non-Clausal Theorem Proving
- Murray
- 1982
(Show Context)
Citation Context ...version of the classical Robinson [Ro65] resolution principle introduced for program synthesis (Manna and Waldinger [MW80]); a similar nonclausal resolution rule was developed independently by Murray =-=[Mu82]-=-. The rule corresponds to a case analysis in an informal argument, and it accounts for the introduction of conditional terms in program derivation. We present it first as it applies to two goals. Rule... |

21 |
Paramodulation and Theorem Proving in First-order Theories with Equality. Machine Intelligence 4
- Robinson, Wos
- 1969
(Show Context)
Citation Context ...rovers according to the logical theories on which they focus. ffl Predicate Logic with Equality. Much work has exploited the resolution (J. A. Robinson [Ro65]) and paramodulation (Wos and G. Robinson =-=[WR69]-=-) inference rules for these theories. Theorem provers based on these ideas, such as those developed at the Argonne National Laboratory (McCune [Mc90]), regularly settle open questions in mathematics a... |

19 | Special relations in automated deduction in
- Manna, Waldinger
- 1986
(Show Context)
Citation Context ...ws us to give special treatment to the equality relation, and thereby eliminate such axioms as transitivity and the functional-substitutivity of equality from our initial tableau. Manna and Waldinger =-=[MW86]-=- (and, with Stickel, [MSW91]) introduce an analogous rule for dealing with ordering relations; adopting this rule allows us to give special treatment to the ordering relation, and eliminate the transi... |

13 |
The logical basis for computer Programming Volume 1: deductive reasoning Addison-Wesley
- Manna, Waldinger
- 1985
(Show Context)
Citation Context ...roduce some formal preliminaries. We are a bit brisk here; the section may be skimmed by those familiar with these notions. Those wishing a more detailed explanation may refer to Manna and Waldinger (=-=[MW85]-=-, [MW90]). Language We first define the expressions of our language, which consist of the terms and the sentences. The terms include the constants a; b; c; : : : and the variables u; v; w; : : : . Ter... |

9 |
Open questions solved with the assistance of AURA. In Automated Theorem Proving after 25 years. Vol 29 of Contemporary Mathematics
- Wos, Winker
- 1984
(Show Context)
Citation Context ...se theories. Theorem provers based on these ideas, such as those developed at the Argonne National Laboratory (McCune [Mc90]), regularly settle open questions in mathematics and logic (Wos and Winker =-=[WW83]-=-), admittedly in areas in which human intuition is weak, such as combinatory logic and equivalential calculus. Recent theorem proving systems for predicate logic with equality have employed term-rewri... |

6 |
An Equational Approach to Theorem Proving
- Kapur, Narendran
- 1985
(Show Context)
Citation Context ...man intuition is weak, such as combinatory logic and equivalential calculus. Recent theorem proving systems for predicate logic with equality have employed term-rewriting systems (Kapur and Narendran =-=[KN84]-=-) and connection methods (Andrews [An81], Bibel [Bi83]), rather than resolution and paramodulation, as the primary inference technique. ffl Theories with Induction. A separate body of work focuses on ... |

6 |
The Logical Basis for Computer Programming. Volume 2: Deductive Systems
- Manna, Waldinger
- 1990
(Show Context)
Citation Context ...ome formal preliminaries. We are a bit brisk here; the section may be skimmed by those familiar with these notions. Those wishing a more detailed explanation may refer to Manna and Waldinger ([MW85], =-=[MW90]-=-). Language We first define the expressions of our language, which consist of the terms and the sentences. The terms include the constants a; b; c; : : : and the variables u; v; w; : : : . Terms may b... |

5 |
The Evolution of Programs. Birkhauser
- Dershowitz
- 1983
(Show Context)
Citation Context ...xhibiting inputs that cause a program to fail to meet its specification (Shapiro [Sp83]). ffl Modification. Altering a given program to reflect changes in its specification or environment (Dershowitz =-=[De83]-=-). In a somewhat different category, we may consider a variety of knowledge-based software development methods (e.g., Smith [Sm85]) which rely on imitating the techniques of the experienced programmer... |

5 |
Efficient compilation of linear recursive functions into object level loops
- Harrison, Khoshnevisan
- 1986
(Show Context)
Citation Context ... call sqrt(r; 2ffl). These can be replaced by a single recursive call by ordinary elimination of common subexpressions. More sophisticated program transformation techniques (Harrison and Khoshnevisan =-=[HK86]-=-) have been applied to transform the program into a linear iterative form. The Slowsort Program Another example of a program obtained by formal manipulation is this sorting program obtained by Traugot... |

5 |
Deductive synthesis of sorting programs
- Traugott
- 1986
(Show Context)
Citation Context ...have been applied to transform the program into a linear iterative form. The Slowsort Program Another example of a program obtained by formal manipulation is this sorting program obtained by Traugott =-=[Tr89]-=-. sort(l) ( 8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ! ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? : if l = h i then h i else if tail (l) = h i then l else if head(l)shead \Gamma sort \Gamma tail(l) \Delta\Delta then head(l... |

3 |
Formal synthesis of a unification algorithm by the deductive-tableau method
- Nardi
- 1989
(Show Context)
Citation Context ...amma tail (s) \Deltashead(s), respectively. Some generalizations, however, are more difficult to motivate. For example, in the derivation of a unification algorithm (Manna and Waldinger [MW81], Nardi =-=[Na89]), we-=- begin with a specification unify(e 1 ; e 2 ) ( 8 ? ? ? ? ? ? ? ? ? ? ! ? ? ? ? ? ? ? ? ? ? : find ` such that 2 6 6 4 e 1 ` = e 2 `s(8OE) " if e 1 OE = e 2 OE then (9)[OE = `] # 3 7 7 5 (8OE) : ... |

3 |
Towards a mathematical theory of program synthesis
- Sato
- 1979
(Show Context)
Citation Context ...ticular relevance to program synthesis is the development of interactive systems to prove theorems in constructive logics. The Nuprl system (Constable et al [Con86], cf. Coquand and Huet [CH88], Sato =-=[Sa79]-=-, Hayashi and Nakano [HN88]) is based on Martin-Lof's constructive logic (Martin-Lof [M-L82], Nordstrom et al [NPS90]) and has been applied to problems in program derivation as well as mathematics. Al... |

3 |
Checking the proof of Godelâ€™s incompleteness theorem
- Shankar
- 1986
(Show Context)
Citation Context ...lied to large problems in program verification, but has also been applied to the interactive reconstruction of large proofs in mathematics and logic, such as the Godel Incompleteness theorem (Shankar =-=[Sn85]-=-). All of this work is relevant to program synthesis, yet it is difficult to find an existing system with all the features we need. We require the ability to prove theorems involving the quantifiers a... |

1 |
et al, Using the Deductive Tableau System
- Burback, Manna, et al.
- 1990
(Show Context)
Citation Context ...eas from resolution and from inductive theorem proving, and it is intended for both interactive and automatic implementation. An interactive synthesis system, based on the theorem prover described in =-=[BMW90]-=-, has been implemented. PRELIMINARIES In this section we introduce some formal preliminaries. We are a bit brisk here; the section may be skimmed by those familiar with these notions. Those wishing a ... |

1 |
Str ffl +ve `: The Str ffl +ve-based Subset
- Hines
- 1990
(Show Context)
Citation Context ...ordering relation, and eliminate the transitivity and other so-called monotonicity properties of these relations. Bledsoe and Hines give special inference rules for real numbers [BH80] and set theory =-=[Hi90]-=-. We have seen that we can specialize a rule to a particular theory or subtheory if we have a special unification algorithm for that theory. Stickel [St85] has shown that we can also specialize a rule... |

1 |
The Origin of a Binary-Search Paradigm, Science of Computer Programming 9
- Manna, Waldinger
- 1987
(Show Context)
Citation Context ...lse last \Gamma tail (s) \Delta : The Final Square-Root Program We do not give the full derivation for the square-root program we have been using as an example; it is described in Manna and Waldinger =-=[MW87a]-=-. The final program we obtain is sqrt(r; ffl) ( 8 ? ? ? ? ? ? ? ! ? ? ? ? ? ? ? : if max(r; 1) ! ffl then 0 else if \Gamma sqrt(r; 2ffl) + ffl \Delta 2sr then sqrt(r; 2ffl) + ffl else sqrt(r; 2ffl) Le... |

1 |
The Deductive Synthesis of Imperative
- Manna, Waldinger
- 1987
(Show Context)
Citation Context ...grams, which return an output but produce no side effects. Some work on the deductive synthesis of imperative programs, which may alter data structures and produce other side effects, is discussed in =-=[MW87b]-=-. We have also disregarded the synthesis of concurrent, real-time, and reactive programs, which may interact with their environments [e.g., PR88]. We have considered specifications only in the form of... |