  We introduce a category-theoreticabstraction of a syntax with auxiliary
functions, called an admissiblemonad morphism. Relying on an abstract form of
structural recursion,we then design generic tools to construct admissible monad
morphismsfrom basic data. These tools automate ubiquitous standard patternslike
(1) defining auxiliary functions in successive, potentiallydependent layers,
and (2) proving properties of auxiliary functions byinduction on syntax. We
cover significant examples from theliterature, including the standard
lambda-calculus withcapture-avoiding substitution, a lambda-calculus with
bindingevaluation contexts, the lambda-mu-calculus with named substitution,
andthe differential lambda-calculus.
