This PR introduces a new fixpoint combinator, `WellFounded.extrinsicFix`. A termination proof, if provided at all, can be given extrinsically, i.e., looking at the term from the outside, and is only required if one intends to formally verify the behavior of the fixpoint. The new combinator is then applied to the iterator API. Consumers such as `toList` or `ForIn` no longer require a proof that the underlying iterator is finite. If one wants to ensure the termination of them intrinsically, there are strictly terminating variants available as, for example, `it.ensureTermination.toList` instead of `it.toList`. |
||
|---|---|---|
| .. | ||
| Monadic | ||
| Attach.lean | ||
| FilterMap.lean | ||
| FlatMap.lean | ||
| Monadic.lean | ||
| Take.lean | ||
| ULift.lean | ||