## Proving Theorems about LISP Functions (1975)

Citations: | 50 - 2 self |

### BibTeX

@MISC{Boyer75provingtheorems,

author = {Robert S. Boyer and J Strother Moore},

title = {Proving Theorems about LISP Functions},

year = {1975}

}

### Years of Citing Articles

### OpenURL

### Abstract

Program verification is the idea that properties of programs can be precisely stated and proved in the mathematical sense. In this paper, some simple heuristics combining evaluation and mathematical induction are described, which the authors have implemented in a program that automatically proves a wide variety of theorems about recursive LISP functions. The method the program uses to generate induction formulas is described at length. The theorems proved by the program include that REVERSE is its own inverse and that a particular SORT program is correct. A list of theorems proved by the program is given. key words and phrases: LISP, automatic theorem-proving, structural induction, program verification cr categories: 3.64, 4.22, 5.21 1 Introduction We are concerned with proving theorems in a first-order theory of lists, akin to the elementary theory of numbers. We use a subset of LISP as our language because recursive list processing functions are easy to write in LISP and because ...