Sets the default value to `pp.fieldNotation.generalized` to `true`. Updates tests, and fixes some minor flaws in the implementation of the generalized field notation pretty printer. Now generalized field notation won't be used for any function that has a `motive` argument. This is intended to prevent recursors from pretty printing using it as (1) recursors are more like control flow structures than actual functions and (2) generalized field notation tends to cause elaboration problems for recursors. Note: be sure functions that have an `@[app_unexpander]` use `@[pp_nodot]` if applicable. For example, `List.toArray` needs `@[pp_nodot]` to ensure the unexpander prints it using `#[...]` notation.
148 lines
5.2 KiB
Text
148 lines
5.2 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 n.succ m.succ
|
|
|
|
argument #2 was not used for structural recursion
|
|
failed to eliminate recursive application
|
|
nonTerminating n.succ m.succ
|
|
|
|
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)
|
|
n m l
|
|
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)
|
|
n m 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 ? = ?
|
|
l ? ? <
|
|
Call from Mutual.g to Mutual.g at 68:8-35:
|
|
n m l
|
|
? ? =
|
|
Call from Mutual.g to Mutual.g at 69:8-33:
|
|
n m l
|
|
_ _ <
|
|
Call from Mutual.g to Mutual.h at 70:8-27:
|
|
n m l
|
|
n _ _ ?
|
|
m _ _ ?
|
|
Call from Mutual.h to Mutual.f at 75:8-33:
|
|
n m
|
|
n _ _
|
|
m _ _
|
|
l _ _
|
|
Call from Mutual.h to Mutual.h at 76:8-27:
|
|
n m
|
|
_ _
|
|
Call from Mutual.h to Mutual.h at 77:8-27:
|
|
n m
|
|
_ _
|
|
|
|
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)
|
|
n m
|
|
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 < n✝ + 1
|