lean4-htt/src/Init/Data/Iterators
Markus Himmel c981ebc546
feat: split and splitInclusive iterators are finite (#10820)
This PR shows that the iterators returned by `String.Slice.split` and
`String.Slice.splitInclusive` are finite as long as the forward matcher
iterator for the pattern is finite (which we already know for all of our
patterns).

At actually also completely redefines the iterators to avoid the inner
loop in `Internal.nextMatch` which generates inefficient code. Instead,
when encountering a mismach from the matcher, we `skip` the split
iterator.
2025-10-20 10:21:21 +00:00
..
Combinators feat: split and splitInclusive iterators are finite (#10820) 2025-10-20 10:21:21 +00:00
Consumers feat: Iterator find? consumer and variants (#10769) 2025-10-20 09:12:53 +00:00
Internal chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Lemmas feat: Iterator find? consumer and variants (#10769) 2025-10-20 09:12:53 +00:00
Basic.lean feat: split and splitInclusive iterators are finite (#10820) 2025-10-20 10:21:21 +00:00
Combinators.lean feat: flatMap iterator combinator (#10728) 2025-10-14 12:50:54 +00:00
Consumers.lean chore: remove public section from end of files (#10684) 2025-10-06 13:30:48 +00:00
Internal.lean chore: remove public section from end of files (#10684) 2025-10-06 13:30:48 +00:00
Lemmas.lean chore: remove public section from end of files (#10684) 2025-10-06 13:30:48 +00:00
PostconditionMonad.lean feat: flatMap iterator combinator (#10728) 2025-10-14 12:50:54 +00:00
ToIterator.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00