Synopses & Reviews
In this book, the author develops deduction-oriented methods for reasoning about functional and logic programs. The methods are based on the inductive theories of suitable data type specifications and exploit both classical theorem-proving and term rewriting. Detailed examples accompany the development of the methods, and their use is supported by a prototyping system that is documented at the end of the book.
Review
"...promotes specification and programming on the basis of Horn logic with equality....His treatment of the subject differs from others in that he tries to capture the actual styles and applications of programming, neither too general with respect to the underlying logic, nor too restrictive for the practice of programming. He generalizes and unifies results from classical theorem-proving and term rewriting to provide proof methods tailored to declarative program synthesis and verification. Detailed examples accompany the development of the methods, whose use is supported by a documented prototyping system." Xiang Li, Mathematical Reviews
Synopsis
Here Dr Padawitz emphasizes verification based on logical inference rules, i.e. deduction (in contrast with model-theoretic approaches, deductive methods can be automated to some extent). His treatment of the subject differs from others in that he tries to capture the actual styles and applications of programming; neither too general with respect to the underlying logic, nor too restrictive for the practice of programming.
Synopsis
Declarative programs consist of mathematical functions and relations and are amenable to formal specification and verification, since the methods of logic and proof can be applied to the programs in a well-defined manner. Here Dr Padawitz emphasizes verification based on logical inference rules, i.e. deduction (in contrast with model-theoretic approaches, deductive methods can be automated to some extent). His treatment of the subject differs from others in that he tries to capture the actual styles and applications of programming; neither too general with respect to the underlying logic, nor too restrictive for the practice of programming.
Table of Contents
Introduction; 1. Preliminaries; 2. Guards, generators and constructors; 3. Models and correctness; 4. Computing goal solutions; 5. Inductive expansion; 6. Directed expansion and reduction; 7. Implications of ground confluence; 8. Examples; 9. EXPANDER: inductive expansion in SML; References; Index.