Skip to content

Conversation

datokrat
Copy link
Contributor

@datokrat datokrat commented Oct 9, 2025

This PR introduces a no-op version of Shrink, a type that should allow shrinking small types into smaller universes given a proof that the type is small enough, and uses it in the iterator library. Because this type would require special compiler support, the current version is just a wrapper around the inner type so that the wrapper is equivalent, but not definitionally equivalent.

While Shrink is unable to shrink universes right now, but introducing it now will allow us to generalize the universes in the iterator library with fewer breaking changes as soon as an actual Shrink is possible.

@datokrat datokrat force-pushed the paul/iterators/shrink branch from d14f568 to 1d641f2 Compare October 9, 2025 13:34
@datokrat
Copy link
Contributor Author

datokrat commented Oct 9, 2025

!bench

@leanprover-radar
Copy link

leanprover-radar commented Oct 9, 2025

Benchmark results for 1d641f2 against 71ddf22 are in! @datokrat

@leanprover-bot
Copy link
Collaborator

Here are the benchmark results for commit 1d641f2.
The entire run failed.
Found no significant differences.

@github-actions github-actions bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label Oct 9, 2025
@leanprover-community-bot
Copy link
Collaborator

leanprover-community-bot commented Oct 9, 2025

Mathlib CI status (docs):

  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 71ddf227d2effc7725bf20e655a806a461e26cfe --onto c32a57e5806476ed6bac4c9cf1bb11cea2b02ea2. You can force Mathlib CI using the force-mathlib-ci label. (2025-10-09 14:35:46)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 71ddf227d2effc7725bf20e655a806a461e26cfe --onto 705dac4f77aa60d749ee2b37d102518d772d6e53. You can force Mathlib CI using the force-mathlib-ci label. (2025-10-10 19:19:05)
  • 💥 Mathlib branch lean-pr-testing-10725 build failed against this PR. (2025-10-13 08:58:15) View Log
  • ✅ Mathlib branch lean-pr-testing-10725 has successfully built against this PR. (2025-10-13 16:08:13) View Log

@leanprover-bot
Copy link
Collaborator

leanprover-bot commented Oct 9, 2025

Reference manual CI status:

  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 71ddf227d2effc7725bf20e655a806a461e26cfe --onto d3dda9f6d4428a906c096067ecb75e432afc4615. You can force reference manual CI using the force-manual-ci label. (2025-10-09 14:35:48)
  • ❗ Reference manual CI can not be attempted yet, as the nightly-testing-2025-10-12 tag does not exist there yet. We will retry when you push more commits. If you rebase your branch onto nightly-with-manual, reference manual CI should run now. You can force reference manual CI using the force-manual-ci label. (2025-10-13 08:30:37)
  • ❗ Reference manual CI can not be attempted yet, as the nightly-testing-2025-10-13 tag does not exist there yet. We will retry when you push more commits. If you rebase your branch onto nightly-with-manual, reference manual CI should run now. You can force reference manual CI using the force-manual-ci label. (2025-10-13 15:01:34)

@datokrat
Copy link
Contributor Author

datokrat commented Oct 9, 2025

!bench

@leanprover-radar
Copy link

leanprover-radar commented Oct 9, 2025

Benchmark results for 96c2e15 against 71ddf22 are in! @datokrat

@leanprover-bot
Copy link
Collaborator

Here are the benchmark results for commit 96c2e15.
The entire run failed.
Found no significant differences.

@datokrat
Copy link
Contributor Author

datokrat commented Oct 9, 2025

!bench

@leanprover-radar
Copy link

Benchmark results for 96c2e15 against 71ddf22 are in! @datokrat

@leanprover-bot
Copy link
Collaborator

Here are the benchmark results for commit 96c2e15.
The entire run failed.
Found no significant differences.

@datokrat
Copy link
Contributor Author

!radar

@leanprover-radar
Copy link

leanprover-radar commented Oct 10, 2025

Benchmark results for a10cbef against 71ddf22 are in! @datokrat

@datokrat
Copy link
Contributor Author

!radar

@leanprover-radar
Copy link

leanprover-radar commented Oct 10, 2025

Benchmark results for df636df against 71ddf22 are in! @datokrat

@datokrat datokrat marked this pull request as ready for review October 10, 2025 19:28
@datokrat datokrat requested a review from kim-em as a code owner October 10, 2025 19:28
@datokrat datokrat force-pushed the paul/iterators/shrink branch from df636df to 4bcacfb Compare October 13, 2025 06:46
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request Oct 13, 2025
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4-nightly-testing that referenced this pull request Oct 13, 2025
@leanprover-community-bot leanprover-community-bot added the breaks-mathlib This is not necessarily a blocker for merging: but there needs to be a plan label Oct 13, 2025
@datokrat datokrat force-pushed the paul/iterators/shrink branch from b2f8330 to 95b17ff Compare October 13, 2025 14:01
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request Oct 13, 2025
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4-nightly-testing that referenced this pull request Oct 13, 2025
@leanprover-community-bot leanprover-community-bot added builds-mathlib CI has verified that Mathlib builds against this PR and removed breaks-mathlib This is not necessarily a blocker for merging: but there needs to be a plan labels Oct 13, 2025
@datokrat datokrat added this pull request to the merge queue Oct 14, 2025
Merged via the queue into master with commit f58999a Oct 14, 2025
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

builds-mathlib CI has verified that Mathlib builds against this PR toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants