-
Notifications
You must be signed in to change notification settings - Fork 710
feat: extrinsic finiteness proofs for toList, toListRev and toArray on iterators
#10785
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
toList and toArray iterator functionstoList and toArray iterator functions
|
!bench |
|
Benchmark results for 840c675 against 746206c are in! @datokrat |
|
Here are the benchmark results for commit 840c675. |
|
Mathlib CI status (docs):
|
|
Reference manual CI status:
|
|
!radar |
|
Benchmark results for c3fe021 against 65315a6 are in! @datokrat |
|
!bench |
|
Benchmark results for 7fd052b against 65315a6 are in! @datokrat |
|
Here are the benchmark results for commit 7fd052b.Found no runs to compare against. |
|
!radar |
|
Benchmark results for 6854540 against 65315a6 are in! @datokrat |
toList and toArray iterator functionstoList, toListRev and toArray on iterators
65315a6 to
efbbb0b
Compare
519b102 to
ba26a69
Compare
| @@ -0,0 +1,158 @@ | |||
| /- | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not really qualified to review this file, but you have discussed it a lot, so I'll trust your judgement that it's good.
e75744d to
68090fc
Compare
68090fc to
ba81065
Compare
|
Closing in favor of #10863. |
This PR removes the
Finitehypothesis on thetoList,toListRevandtoArrayfunctions on iterators. The new default implementation uses a fixpoint combinator that is semantically equal to a well-founded recursive function or an opaque function depending on whether the functional is well-founded recursive w.r.t. any well-founded relation. The PR also addsit.ensureTermination.toListand other variants that require aFiniteinstance and always terminate, in case that one wants intrinsic guarantees that it terminates.