lean4-htt/src/Init/Data/Iterators
Paul Reichert 89686fcd02
refactor: replace PRange shape α with Rcc α and eight other types (#10319)
This PR "monomorphizes" the structure `Std.PRange shape α`, replacing it
with nine distinct structures `Std.Rcc`, `Std.Rco`, `Std.Rci` etc., one
for each possible shape of a range's bounds. This change was necessary
because the shape polymorphism is detrimental to attempts of automation.

**BREAKING CHANGE:** While range/slice notation itself is unchanged,
this essentially breaks the entire remaining (polymorphic) range and
slice API except for the dot-notation(`toList`, `iter`, ...). It is not
possible to deprecate old declarations that were formulated in a
shape-polymorphic way that is not available anymore.
2025-10-02 06:45:11 +00:00
..
Combinators fix: check that compiler does not infer inconsistent types between modules (#10418) 2025-09-19 12:36:47 +00:00
Consumers feat: more iterator/range lemmas about toList and toArray (#10244) 2025-09-12 07:14:28 +00:00
Internal refactor: migrate to new ranges (#8841) 2025-07-07 12:41:53 +00:00
Lemmas refactor: replace PRange shape α with Rcc α and eight other types (#10319) 2025-10-02 06:45:11 +00:00
Basic.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Combinators.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Consumers.lean refactor: replace some Subarray functions with generic slice functions (#9017) 2025-07-03 19:33:19 +00:00
Internal.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Lemmas.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
PostconditionMonad.lean feat: high-level order typeclasses (#9729) 2025-08-11 14:55:17 +00:00
ToIterator.lean refactor: replace some Subarray functions with generic slice functions (#9017) 2025-07-03 19:33:19 +00:00