. We introduce a language based upon lambda calculus with products, coproducts and strictly positive inductive types that allows the denition of recursive terms. We present the implementation (\foetus") of a syntactical check that ensures that all such terms are structurally recursive, i.e. recursive calls appear only with arguments structurally smaller than the input parameters of considered terms. To ensure the correctness of the termination checker, we show that all structurally recursive...