A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
Proving Theorems about LISP Functions
Journal of the ACM (JACM)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Introduction to Mathematical Theory of Computation
Introduction to Mathematical Theory of Computation
Human Problem Solving
First order compiler: A deterministic logic program synthesis algorithm
Journal of Symbolic Computation
Hi-index | 0.05 |
We shall lay down a programming calculus in which we develop a methodology for reasoning about data and programs. Our language, L, is ordinary first order predicate logic. A subset of this language, Lp, is our programming language that can be run efficiently in PROLOG. The calculus consists of a natural deduction system that is used for deducing programs and a system for efficient computation of programs. The axioms of the calculus characterize the data structures. Definitions are used for program specifications and mappings between data structures. The programs are deduced from the axioms and the definitions. Examples of deduced programs are a LISP-program and a program that Burstall and Darlington could not obtain in their transformation system.