Proceedings

Strategies for Mechanizing Structural Induction

Download BibTeX Cite

Proceedings of the Fifth International Joint Conference on Artificial Intelligence. Knowledge Acquisition. Pages 363-368.

© 1977 International Joint Conferences on Artificial Intelligence

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.

  1. LOOKUP NM ST) NAT) [))
  2. MO OP) FUNCTION) [) )
  3. MSE E ST) NAT) (CASES E [[SIMPLE NM) (LOOKUP NM ST)) [[COMPOUND OP El E2 ] [APPLY [MO 0?) MS E El ST] [ M SE E2 ST))])) Next, "'e turn to the taraet lanauaae. Syn- tactically, it is a set of programs which are lists of instructions. Postfixed notation is us- ed. We also give a function to concatenate two target language programs. PR, PRl, and PR2 are variables of type PROGRAM; and IN, of type IN- STRUCT: [INSTRUCT [OPERATE OPE-"''.TOR] ~FETCH N/.ME )] [PI<OGRAM (.NULLPR ] [ADD IN S ~' I!UC'f PROGI<AH) ] [[[CONCAT PRl PR2) PROGRAM) [CASES PRl [ [NULLPR ] PR2 )
  4. ADD IN PRl] [ADD IN (CONCAT PRl PR2] ]) )
  5. Knowlerl~e Acq,-4: Auhln Bibliography
  6. Aubin, Raymond. "Mechanizing structural induc- tion." Ph.D. thesis, University of Edinburgh, Edinburgh, 1976.
  7. Boyer, RobertS., and Moore, J. "A lemma driven automatic theorem prover for recursive func - tion theory." Computer Science Lab. SRI, 1977. IJCAI
  8. Boyer, RobertS., and Moore,J. "Proving theorems about LISP functions." J. ACM 22, 1 (1975): 129-144. IJCAI
  9. Brotz, Douglas K. "Embedding heuristic problem solving methods in a mechanical theorem prov- er." STAN-CS-74-443, Computer Science Dept., Stanford Univ. 1974.
  10. Burstall, R.M. "Proving properties of programs by structural induction." Comp.J. 12, 1 (1969) : 41-48.
  11. Cartwright, Robert. "User-defined data types as an aid to verifying LISP programs." In Proc. Coll. Aut. Lang. and Prog., pp.228-256. Ed. s. Michaelson and R. Milner. Edinburgh: Edinburgh University Press, 1976.
  12. Gentzen, Gerhard. Recherche sur la deduction logique. Trad. et comm. R. Feys et J. Ladriere. Paris: PUF, 1955.
  13. Gordon, M. ; Milner, R.; and Wadsworth, C. "Edin- burgh LCF. " Dept. of Computer Science, Uni v. of Edinburgh, 1977.
  14. Hoare, C.A.R. "Recursive data structures." Int. J. Comp. and Inf. Sc. 4,2 (1975): 105- 132.
  15. Milner, R., and Weyrauch, R. "Proving compiler correctness in a mechanized logic." In Mach- ine Intelligence 7, pp. 51-70. Ed. B.Meltzer and D. Michie. Edinburgh: Edinburgh Univer- sity Press, 1972.
  16. Moore, J Strother. "Computational logic: struc- ture sharing and proof of program properties." Ph.D. thesis, Univ. of Edinburgh, Edinburgh, 1973.
  17. Moore, J Strother. "Introducing iteration into the pure LISP theorem-prover." IEEE Trans. Soft. Eng. 1, 3 (1975): 328-338.
  18. Prawitz, Dag. "Ideas and results of proof theory." In Proc. 2nd Scand. Log. Symp., pp. 235-307.
  19. Ed. J. Fenstad. Amsterdam: North-Holland, 1971.
  20. Vuillemin, Jean E. "Proof techniques for recur- sive programs." Memo AIM-218/STAN-CS-73-393, Computer Science Dept., Standord Univ. 1973.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards