Proving Properties of Programs by Structural Induction 论文
1969The Computer Journal引用 327
Logic, programming, and type systemsComputability, Logic, AI AlgorithmsSoftware Engineering Research
摘要
This paper discusses the technique of structural induction for proving theorems about programs. This technique is closely related to recursion induction but makes use of the inductive definition of the data structures handled by the programs. It treats programs with recursion but without assignments or jumps. Some syntactic extensions to Landin's functional programming language ISWIM are suggested which make it easier to program the manipulation of data structures and to develop proofs about such programs. Two sample proofs are given to demonstrate the technique, one for a tree sorting algorithm and one for a simple compiler for expressions.