lean4-htt/tests/lean/guessLexDiff.lean.expected.out
Joachim Breitner 56733b953e
refactor: TerminationArgument → TerminationMeasure (#6727)
this PR aligns the terminology of the code with the one use in the
reference manual, as developed with and refined by @david-christiansen.
2025-01-23 10:41:38 +00:00

105 lines
2.7 KiB
Text

Inferred termination measure:
termination_by n - i
Inferred termination measure:
termination_by xs.size - i
Inferred termination measure:
termination_by xs.size - i
Inferred termination measure:
termination_by (xs.size - i, ys.size - j)
Inferred termination measure:
termination_by (xs.size - i, i - j)
Inferred termination measure:
termination_by (xs.size - i, i)
guessLexDiff.lean:84:4-84:11: error: fail to show termination for
failure
with errors
failed to infer structural recursion:
Not considering parameter xs of failure:
it is unchanged in the recursive calls
Cannot use parameter i:
failed to eliminate recursive application
_root_.failure xs i
Could not find a decreasing measure.
The basic measures relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
i #1 #2 i + i
1) 85:26-38 = = = =
2) 85:58-76 ? < _ _
3) 85:26-38 = = = =
4) 88:26-42 _ < _ _
5) 88:26-42 ? ≤ ≤ ?
6) 88:26-42 _ < _ _
7) 88:26-42 _ < _ _
8) 88:26-42 _ < _ _
9) 97:8-20 _ < _ _
#1: xs.size - i
#2: xs.size - (i + 1)
Please use `termination_by` to specify a decreasing measure.
guessLexDiff.lean:102:4-102:18: error: fail to show termination for
mutual_failure
mutual_failure2
with errors
failed to infer structural recursion:
Not considering parameter xs of mutual_failure:
it is unchanged in the recursive calls
Not considering parameter xs of mutual_failure2:
it is unchanged in the recursive calls
Cannot use parameters i of mutual_failure and i of mutual_failure2:
failed to eliminate recursive application
mutual_failure2 xs i
Could not find a decreasing measure.
The basic measures relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
Call from mutual_failure to mutual_failure2 at 104:4-24:
i #1 #2
i = ? ?
#3 ? = ?
Call from mutual_failure to mutual_failure2 at 104:52-78:
i #1 #2
i ? _ _
#3 _ < _
Call from mutual_failure to mutual_failure2 at 104:4-24:
i #1 #2
i _ _ _
#3 _ = _
Call from mutual_failure to mutual_failure2 at 111:4-28:
i #1 #2
i _ _ _
#3 _ < _
Call from mutual_failure to mutual_failure2 at 117:8-28:
i #1 #2
i _ _ _
#3 _ ? _
Call from mutual_failure2 to mutual_failure at 123:4-23:
i #3
i _ _
#1 _ _
#2 _ _
Call from mutual_failure2 to mutual_failure at 123:50-75:
i #3
i _ _
#1 _ _
#2 _ _
Call from mutual_failure2 to mutual_failure at 127:4-27:
i #3
i _ _
#1 _ _
#2 _ _
Call from mutual_failure2 to mutual_failure at 133:8-27:
i #3
i _ _
#1 _ _
#2 _ _
#1: xs.size - i
#2: xs.size - (i + 1)
#3: xs.size - i
Please use `termination_by` to specify a decreasing measure.