Structural induction: constructions, recursion and parsing
Build finite objects, choose induction hypotheses, prove recursive functions correct and distinguish a generated word from its construction. Written arguments need review; finite traces do not establish a universal theorem.
Open any lesson. Completion records participation; automatic practice checks and human judgment of written arguments are separate. This unit retains its own versioned requirements.
Readiness and preparation
Check your starting point
Try these short questions on paper, then compare your reasoning. They are optional self-checks, not a placement score or a navigation requirement. Use a targeted review when useful and return with your browser’s Back control.
What makes an induction step valid?
A recursive object can have several smaller children, each needing its own hypothesis.
Compare reasoning and find a refresher
Prove the base cases, then assume the claim for the smaller inputs used by a constructor and prove it for the resulting object. Finite examples cannot replace a general step.
Trace finite tree recursion, prove a mirror law and a sharp leaf bound, and generalize a word-reversal invariant when a weak induction hypothesis fails.
Define total recursive functions by constructor cases and justify termination on proper subtrees or shorter words.
Prove mirror involution and a height-dependent leaf bound using both subtree hypotheses.
Strengthen an accumulator claim to quantify over every suffix and prove it using append laws.
Prove that a recursive grammar describes exactly the balanced parenthesis words, then use unique first-return parsing to justify recursive definitions.
Prove both inclusions between a generated set and a prefix-balance description.
Recover and prove uniqueness of the first-return decomposition of any nonempty balanced word.
Distinguish functions on derivations from well-defined functions on words when a grammar is ambiguous.