-
Notifications
You must be signed in to change notification settings - Fork 437
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
feat: add Simproc
s
#3124
feat: add Simproc
s
#3124
Conversation
|
See leanprover/lean4#3124 Remark: toolchain for PR 3124 is still being built. I tested this PR with my only local lean4.
src/Init/Data/Fin/Basic.lean
Outdated
@@ -100,7 +100,7 @@ instance : ShiftLeft (Fin n) where | |||
instance : ShiftRight (Fin n) where | |||
shiftRight := Fin.shiftRight | |||
|
|||
instance : OfNat (Fin (no_index (n+1))) i where | |||
instance ofNatInst : OfNat (Fin (no_index (n+1))) i where |
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.
In mathlib, we have been using the convention of naming instances like this instOfNat
as opposed to ofNatInst
, which I believe is also consistent with the automatic naming rules. Is this departure from the convention an indication that the automatic naming rules are going to change soon?
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.
Changed to instOfNat
.
!bench |
Here are the benchmark results for commit 06f577f. Benchmark Metric Change
===============================================================
- import Lean branches 1.9% (51.8 σ)
- import Lean instructions 1.9% (54.4 σ)
- import Lean maxrss 1.4% (82.1 σ)
- lake startup instructions 1.4% (21.8 σ)
- libleanshared.so binary size 2.1%
- reduceMatch maxrss 1.3% (76.0 σ)
- stdlib instructions 1.6% (516.1 σ)
- stdlib size bytes .olean 1.4%
- stdlib size lines C 2.4%
- tests/bench/ interpreted maxrss 1.2% (91.8 σ)
- tests/compiler sum binary sizes 2.0%
- workspaceSymbols instructions 2.2% (2525.1 σ)
- workspaceSymbols maxrss 1.4% (83.3 σ) |
Added |
See leanprover/lean4#3124 Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
These are adaptations required for Leo's implementation of simprocs from leanprover/lean4#3124. This is a PR to `bump/v4.6.0`. Before it can be merged we need to merge - [x] leanprover-community/batteries#496 - [x] leanprover-community/aesop#93 and then to update the lakefile so both dependencies point at the `bump/v4.6.0` branches. I've updated a number of Mathlib tactics to adjust to the new type signatures in the simplifier, and these changes need to be reviewed carefully. Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
* feat: hover info for `rcases h : ...` (#486) * feat: hover info for `rcases h : ...` * fix * chore: adaptations for leanprover/lean4#3123 (#502) * chore: adaptations for leanprover/lean4#3123 * update toolchain * chore: remove unnecessary `have` (#516) After leanprover/lean4#3132 the linter will complain about this. * chore: simproc PR changes (#496) See leanprover/lean4#3124 Co-authored-by: Scott Morrison <scott.morrison@gmail.com> * chore: adaptions for nightly-2023-01-11 (#524) * advance toolchain to nightly-2024-01-12, no updates required * chore: updates to DiscrTree for changes in nightly (#536) * doc: extend docstrings for `ext` and `ext1` (#525) Makes sure to mention that the patterns are processed using `rintro`, and makes sure `ext` mentions `ext1`. * docs(Data/List): typo (#529) * feat: Eq.rec lemma (#385) * chore: Add empty collection instance to BinomialHeap (#532) * Incremental Library Search (#421) This ports library_search from Mathlib to Std. It preserves the ability to do caching, but is designed to support a cacheless mode. The exact and apply tactics are named `std_exact?` and `std_apply?`, but will eventually be renamed. Co-authored-by: Scott Morrison <scott.morrison@gmail.com> * fix termination_by clauses in LazyDiscrTree fix LibrarySearch * bump toolchain --------- Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Martin Dvořák <martin.dvorak@matfyz.cz> Co-authored-by: François G. Dorais <fgdorais@gmail.com> Co-authored-by: Joe Hendrix <joe@lean-fro.org> * feat: adaptations for leanprover/lean4#3159 (#557) * merge origin/main * chore: fixes for `simp` refactor (#571) * move to v4.6.0-rc1 * fix proofs --------- Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Leonardo de Moura <leonardo@microsoft.com> Co-authored-by: Joachim Breitner <mail@joachim-breitner.de> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Martin Dvořák <martin.dvorak@matfyz.cz> Co-authored-by: François G. Dorais <fgdorais@gmail.com> Co-authored-by: Joe Hendrix <joe@lean-fro.org>
See leanprover/lean4#3124 Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
) * feat: hover info for `rcases h : ...` (leanprover-community#486) * feat: hover info for `rcases h : ...` * fix * chore: adaptations for leanprover/lean4#3123 (leanprover-community#502) * chore: adaptations for leanprover/lean4#3123 * update toolchain * chore: remove unnecessary `have` (leanprover-community#516) After leanprover/lean4#3132 the linter will complain about this. * chore: simproc PR changes (leanprover-community#496) See leanprover/lean4#3124 Co-authored-by: Scott Morrison <scott.morrison@gmail.com> * chore: adaptions for nightly-2023-01-11 (leanprover-community#524) * advance toolchain to nightly-2024-01-12, no updates required * chore: updates to DiscrTree for changes in nightly (leanprover-community#536) * doc: extend docstrings for `ext` and `ext1` (leanprover-community#525) Makes sure to mention that the patterns are processed using `rintro`, and makes sure `ext` mentions `ext1`. * docs(Data/List): typo (leanprover-community#529) * feat: Eq.rec lemma (leanprover-community#385) * chore: Add empty collection instance to BinomialHeap (leanprover-community#532) * Incremental Library Search (leanprover-community#421) This ports library_search from Mathlib to Std. It preserves the ability to do caching, but is designed to support a cacheless mode. The exact and apply tactics are named `std_exact?` and `std_apply?`, but will eventually be renamed. Co-authored-by: Scott Morrison <scott.morrison@gmail.com> * fix termination_by clauses in LazyDiscrTree fix LibrarySearch * bump toolchain --------- Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Martin Dvořák <martin.dvorak@matfyz.cz> Co-authored-by: François G. Dorais <fgdorais@gmail.com> Co-authored-by: Joe Hendrix <joe@lean-fro.org> * feat: adaptations for leanprover/lean4#3159 (leanprover-community#557) * merge origin/main * chore: fixes for `simp` refactor (leanprover-community#571) * move to v4.6.0-rc1 * fix proofs --------- Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Leonardo de Moura <leonardo@microsoft.com> Co-authored-by: Joachim Breitner <mail@joachim-breitner.de> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Martin Dvořák <martin.dvorak@matfyz.cz> Co-authored-by: François G. Dorais <fgdorais@gmail.com> Co-authored-by: Joe Hendrix <joe@lean-fro.org>
Depends on #3123 and #3120
Downstream changes required: