lean4-htt/tests/lean/guessLexFailures.lean.expected.out
Joachim Breitner f2a92f3331
fix: GuessLex: deduplicate recursive calls (#3004)
The elaborator is prone to duplicate terms, including recursive calls,
even if the user only wrote a single one. This duplication is wasteful
if we run the tactics on duplicated calls, and confusing in the output
of GuessLex. So prune the list of recursive calls, and remove those
where another call exists that has the same goal and context that is no
more specific.
2023-12-07 09:08:46 +00:00

149 lines
5.3 KiB
Text

guessLexFailures.lean:11:12-11:46: error: fail to show termination for
nonTerminating
with errors
argument #1 was not used for structural recursion
failed to eliminate recursive application
nonTerminating (Nat.succ n) (Nat.succ m)
argument #2 was not used for structural recursion
failed to eliminate recursive application
nonTerminating (Nat.succ n) (Nat.succ m)
structural recursion cannot be used
Could not find a decreasing measure.
The arguments relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
x1 x2
1) 11:12-46 ? ?
Please use `termination_by` to specify a decreasing measure.
guessLexFailures.lean:15:0-18:31: error: Could not find a decreasing measure.
The arguments relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
x1 x2
1) 17:12-47 ? ?
Please use `termination_by` to specify a decreasing measure.
guessLexFailures.lean:20:4-20:15: error: fail to show termination for
noArguments
with errors
structural recursion cannot be used
well-founded recursion cannot be used, 'noArguments' does not take any (non-fixed) arguments
guessLexFailures.lean:22:4-22:23: error: fail to show termination for
noNonFixedArguments
with errors
structural recursion cannot be used
well-founded recursion cannot be used, 'noNonFixedArguments' does not take any (non-fixed) arguments
guessLexFailures.lean:27:0-33:31: error: Could not find a decreasing measure.
The arguments relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
x1 x2 x3
1) 29:6-25 = = =
2) 30:6-23 = ? <
3) 31:6-23 < _ _
Please use `termination_by` to specify a decreasing measure.
guessLexFailures.lean:37:0-43:31: error: Could not find a decreasing measure.
The arguments relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
x1 x2 x3 x4
1) 39:6-27 = = _ =
2) 40:6-25 = ? _ <
3) 41:6-25 < _ _ _
Please use `termination_by` to specify a decreasing measure.
guessLexFailures.lean:48:0-54:31: error: Could not find a decreasing measure.
The arguments relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
n m l
1) 50:6-25 = = =
2) 51:6-23 = ? <
3) 52:6-23 < _ _
Please use `termination_by` to specify a decreasing measure.
guessLexFailures.lean:59:6-59:7: error: fail to show termination for
Mutual.f
Mutual.g
Mutual.h
with errors
structural recursion does not handle mutually recursive functions
Could not find a decreasing measure.
The arguments relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
Call from Mutual.f to Mutual.f at 61:8-33:
n m l
= = =
Call from Mutual.f to Mutual.f at 62:8-31:
n m l
= ? <
Call from Mutual.f to Mutual.g at 63:8-39:
n m l
n < _ ?
m ? _ ?
H _ _ _
l ? _ <
Call from Mutual.g to Mutual.g at 68:8-35:
n m H l
? _ _ =
Call from Mutual.g to Mutual.g at 69:8-33:
n m H l
_ _ _ <
Call from Mutual.g to Mutual.h at 70:8-27:
n m H l
x1 _ _ _ ?
x2 _ _ _ ?
Call from Mutual.h to Mutual.f at 75:8-33:
x1 x2
n _ _
m _ _
l _ _
Call from Mutual.h to Mutual.h at 76:8-27:
x1 x2
_ _
Call from Mutual.h to Mutual.h at 77:8-27:
x1 x2
_ _
Please use `termination_by` to specify a decreasing measure.
guessLexFailures.lean:89:19-89:32: error: fail to show termination for
DuplicatedCall.f
with errors
argument #1 was not used for structural recursion
failed to eliminate recursive application
DuplicatedCall.f (n + 2) (m + 1)
argument #2 was not used for structural recursion
failed to eliminate recursive application
DuplicatedCall.f (n + 2) (m + 1)
structural recursion cannot be used
Could not find a decreasing measure.
The arguments relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
x1 x2
1) 89:19-32 ? ?
Please use `termination_by` to specify a decreasing measure.
guessLexFailures.lean:100:0-103:31: error: Could not find a decreasing measure.
The arguments relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
n m
1) 101:83-105 ? ?
Please use `termination_by` to specify a decreasing measure.
guessLexFailures.lean:113:14-113:31: error: failed to prove termination, possible solutions:
- Use `have`-expressions to prove the remaining goals
- Use `termination_by` to specify a different well-founded relation
- Use `decreasing_by` to specify your own tactic for discharging this kind of goal
n✝ m n : Nat
⊢ n < n✝
guessLexFailures.lean:119:0-123:31: error: Could not find a decreasing measure.
The arguments relate at each recursive call as follows:
(<, ≤, =: relation proved, ? all proofs failed, _: no proof attempted)
n m
1) 121:31-54 ? ?
Please use `termination_by` to specify a decreasing measure.
guessLexFailures.lean:131:14-131:31: error: failed to prove termination, possible solutions:
- Use `have`-expressions to prove the remaining goals
- Use `termination_by` to specify a different well-founded relation
- Use `decreasing_by` to specify your own tactic for discharging this kind of goal
m n✝ n : Nat
⊢ n < Nat.succ n✝