Strategies for mechanizing structural induction

  • Authors:
  • Raymond Aubin

  • Affiliations:
  • Department of Computer Science, Concordia University, Montreal, Quebec, Canada and School of Computer Science and Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland, U.K.

  • Venue:
  • IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
  • Year:
  • 1977

Quantified Score

Hi-index 0.00

Visualization

Abstract

A theorem proving system has been programmed for automating mildly complex proofs by structural induction. One purpose was to prove properties of simple functional programs without loops or assignments. One can see the formal system as a generalization of number theory: the formal language is typed and the induction rule is valid for all types. Proofs are generated by working backward from the goal. The induction strategy splits into two parts: (1) the selection of induction variables, which is claimed to be linked to the useful generalization of terms to variables, and (2) the generation of induction subgoals, in particular, the selection and specialization of hypotheses. Other strategies include a fast simplification algorithm. The prover can cope with situations as complex as the definition and correctness proof of a simple compiling algorithm for expressions.