Twelf has a reduction declaration that can be used to label the outputs of lemmas as non-inflationary, which allows for recursive calls on these outputs.
Totality checking for such programs would require the use of complete induction.
This may be implemented following the same ideas as in Termination and Reduction Checking for Higher-Order Logic Programs.
Twelf has a reduction declaration that can be used to label the outputs of lemmas as non-inflationary, which allows for recursive calls on these outputs.
Totality checking for such programs would require the use of complete induction.
This may be implemented following the same ideas as in Termination and Reduction Checking for Higher-Order Logic Programs.