Mathematical induction is a recursive technique

  • Authors:
  • Robert L. Scot Drysdale

  • Affiliations:
  • Dartmouth College, Hanover, NH, USA

  • Venue:
  • Proceedings of the 42nd ACM technical symposium on Computer science education
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many students find that proof by induction is one of the most difficult topics in discrete mathematics. Even students who are able to write inductive proofs in a Discrete Mathematics course often find it difficult to write inductive proofs in Data Structures, Algorithms, Theory of Computation, and other computer science courses. Part of the reason for this is that discrete mathematics courses tend to emphasize weak induction over the natural numbers, but strong induction over recursively defined structures is much more useful in computer science. This paper argues that learning and using proof by induction is easier if the recursive nature of proof by induction is made explicit, especially for students familiar with recursion. It can be useful to view an inductive proof as a template for a recursive program that takes a specific instance as a parameter and generates a complete direct proof for that instance. The abstract idea of assuming and invoking an inductive hypothesis is replaced by the concrete idea of making a recursive call to prove a lemma. Viewing induction as a recursive process allows us to give a rule for determining what base cases need to be proved in strong induction and simplifies creating correct inductive proofs.