Inductive Data Structures
The concept of inductive definition, introduced in the specific case of natural numbers, is easily extended to generic data structures as long as they are finitely defined. These correspond to the notion of freely-generated expressions from abstract algebra. We demonstrate this technique in the case of trees, and define lists as a special case. Such inductive definition of data structures is paralled by a simple generalization of traditional proofs by induction, called structural induction.