lean4-htt/tests/lean/1673.lean.expected.out
Joachim Breitner 3ab2c714ec
feat: infer mutual structural recursion (#4718)
the support for mutual structural recursion (new since #4575) is
extended so that Lean tries to infer it even without annotations.

* The error message when termination checking fails looks quite
different now. Maybe a bit better, maybe with more room for
improvements.
* If there are too many combinations (with an arbitrary cut-off) for a
given argument type, it will just give up and ask the user to use
`termination_by structural`.
* It is now legal to specify `termination_by structural` on not
necessarily all functions of a clique; this simply restricts the
combinations of arguments that Lean considers.

---------

Co-authored-by: Tobias Grosser <tobias@grosser.es>
2024-07-15 09:34:06 +00:00

11 lines
410 B
Text

1673.lean:1:4-1:9: error: fail to show termination for
foo.a
with errors
failed to infer structural recursion:
Not considering parameter n of foo.a:
it is unchanged in the recursive calls
Not considering parameter nope of foo.a:
it is unchanged in the recursive calls
no parameters suitable for structural recursion
well-founded recursion cannot be used, 'foo.a' does not take any (non-fixed) arguments