Skip to content

[Merged by Bors] - chore: remove @[simp] when the discr_key is a lambda#21395

Closed
kim-em wants to merge 4 commits intomasterfrom
lambda_discr_keys
Closed

[Merged by Bors] - chore: remove @[simp] when the discr_key is a lambda#21395
kim-em wants to merge 4 commits intomasterfrom
lambda_discr_keys

Conversation

@kim-em
Copy link
Copy Markdown
Contributor

@kim-em kim-em commented Feb 4, 2025

This PR removes @[simp] from all the lemma with a lambda as the #discr_tree_simp_key. These @[simp] annotations were not used anywhere in Mathlib, and are potentially expensive as they will fire anytime the simp target is a lambda.

See zulip, and thanks for @JovanGerb and @kbuzzard for diagnosing.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 4, 2025

PR summary b43e164291

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

No declarations were harmed in the making of this PR! 🐙

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@kim-em
Copy link
Copy Markdown
Contributor Author

kim-em commented Feb 4, 2025

!bench

@leanprover-bot
Copy link
Copy Markdown
Collaborator

Here are the benchmark results for commit 77c6358.
There were no significant changes against commit 96a5ba5.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 4, 2025

File Instructions %
build -13.67⬝10⁹ (+0.00%)
lint -91.174⬝10⁹ (-1.19%)
Mathlib.Algebra.Homology.HomotopyCategory.Triangulated +1.330⬝10⁹ (+1.07%)
CI run

@YaelDillies
Copy link
Copy Markdown
Contributor

I think the lemmas should rather be fixed to not contain lambdas. I'll try my hand at the Combinatorics.Line ones

@YaelDillies
Copy link
Copy Markdown
Contributor

Done in #21405. You can drop them from this PR.

@YaelDillies
Copy link
Copy Markdown
Contributor

YaelDillies commented Feb 4, 2025

I've now also fixed the ones in Analysis.Fourier.AddCircle, Analysis.Fourier.AddCircleMulti and Analysis.InnerProductSpace.l2Space in #21405. The only one that's left is Data.Fin.VecNotation, which contains a lambda by design.

@kim-em
Copy link
Copy Markdown
Contributor Author

kim-em commented Feb 4, 2025

What's the deal with the one in VecNotation? It's not used anywhere.

@YaelDillies
Copy link
Copy Markdown
Contributor

It came all the way from leanprover-community/mathlib3#2656, the original PR about vector notation by @Vierkantor. I assume they wanted to ensure simp confluence, but genuinely no clue how.

@Vierkantor
Copy link
Copy Markdown
Contributor

I recall I had to add it at some point for confluence, but if the test file works now then presumably simp has gotten smart enough to not need it. So please go ahead and remove empty_val' :)

Copy link
Copy Markdown
Contributor

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! 🚀

maintainer merge

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 4, 2025

🚀 Pull request has been placed on the maintainer queue by YaelDillies.

@github-actions github-actions bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Feb 4, 2025
Copy link
Copy Markdown
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 🎉

bors merge

@ghost ghost added ready-to-merge This PR has been sent to bors. and removed maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. labels Feb 5, 2025
mathlib-bors bot pushed a commit that referenced this pull request Feb 5, 2025
This PR removes `@[simp]` from all the lemma with a lambda as the #discr_tree_simp_key. These @[simp] annotations were not used anywhere in Mathlib, and are potentially expensive as they will fire anytime the simp target is a lambda. 

See [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/bad.20simp.20discrimination.20tree.20keys/near/497258784), and thanks for @JovanGerb and @kbuzzard for diagnosing.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Feb 5, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title chore: remove @[simp] when the discr_key is a lambda [Merged by Bors] - chore: remove @[simp] when the discr_key is a lambda Feb 5, 2025
@mathlib-bors mathlib-bors bot closed this Feb 5, 2025
@mathlib-bors mathlib-bors bot deleted the lambda_discr_keys branch February 5, 2025 05:32
Julian added a commit that referenced this pull request Feb 5, 2025
* origin/master: (103 commits)
  chore(PresheafedSpace): remove `mk_coe` and some comments from porting  (#21382)
  refactor(CategoryTheory): `ConcreteCategory` instance for `FintypeCat` (#21466)
  refactor(Algebra/Category): clean up remaining uses of `HasForget` (#21460)
  chore(Algebra/Field/Basic): make some arguments implicit (#21453)
  chore(LinearAlgebra/TensorProduct): upgrade `TensorProduct.prodRight` (#21432)
  docs(Logic/Function/Defs): missing backticks (#21459)
  style(Logic/Embedding/Set): unindent (#21457)
  doc: document design choice of (AE)StronglyMeasurable.enorm and `edist` (#21423)
  perf(RingTheory/Artinian): reorder arguments in `IsArtinianRing.isMaximal_of_isPrime` (#21449)
  feat(Probability): first two derivatives of `cgf` (#21223)
  feat(RingTheory): `Ring.KrullDimLE` type class (#21452)
  chore(Probability/ProbabilityMassFunction/Binomial): typo "bernoulli" (#21455)
  chore: remove unused argument (#21393)
  feat(MeasureTheory/Integral/RieszMarkovKakutani) prove that the Riesz content is regular and define the Riesz measure (#20040)
  chore(Topology/Algebra/ContinuousMonoidHom): do not depend on `ContinuousLinearMap` (#21443)
  doc(CategoryTheory/Monoidal/Category): fix expression in docs (#21445)
  refactor(Order/CompleteBooleanAlgebra): a complete lattice which is a Heyting algebra is automatically a frame (#21391)
  chore: cleanup porting notes in TuringMachine (#20821)
  chore: remove @[simp] when the discr_key is a lambda (#21395)
  feat/doc: split files, add documentation (#21421)
  feat(Data/Set/Lattice): iUnion + insertion  (#21322)
  feat(Factorial): k! divides the product of any k successive integers (#21332)
  feat(CI): bench-after-CI (#21414)
  feat: primitive group actions (#12052)
  feat(Algebra/GroupWithZero/Int): add lemmas about Zm0 (#21370)
  feat(CategoryTheory): small classes of morphisms (#21411)
  feat(CategoryTheory): (co)limits of constant functors (#21412)
  chore: rename isUnit_ofPowEqOne (#21407)
  chore: split mapDomain out of MonoidAlgebra.Defs (#21398)
  chore: generalise lemmas to `ENorm` spaces, part 1 (#21380)
  chore: add `simp` to `Setoid.refl` (#21107)
  chore: tidy various files (#21406)
  chore(Geometry/Manifold/IsManifold): split out material on extended charts (#21219)
  refactor: introduce `Ideal.IsTwoSided` class for quotients of noncommutative rings (#17930)
  chore(Algebra/Category/ModuleCat): delete `ModuleCat.hasForgetModuleCat` (#21425)
  feat(RingTheory): unramified iff `κ(q)/κ(p)` is separable and `pS_q = qS_q` (#20690)
  doc(Order/Heyting/Basic): Coheyting difference is not right adjoint but left adjoint (#21418)
  chore: move ProofWidgets to v0.0.51 (#21416)
  chore: rename mem_nonZeroDivisor_of_injective and comap_nonZeroDivisor_le_of_injective (#21408)
  feat: drop ordering assumption in `RootPairing.coxeterWeight_mem_set_of_isCrystallographic` (#21122)
  feat(AlgebraicGeometry): the diagonal of an unramified morphism is an open immersion (#21386)
  feat(Data/LinearIndependent): iff versions of smul action on independent sets (#21383)
  chore(Combinatorics/SimpleGraph): Fix `hadj` naming (#21389)
  chore: rename AnalyticAt.order_neq_top_iff (#21388)
  fix: bug in daily.yml (#21401)
  chore: remove `@[simp]` from `CategoryTheory.Discrete.functor_map` (#21392)
  chore(Algebra/PUnitInstances): generalise universes (#21381)
  feat(RingTheory/PowerSeries): describe when power series map is zero (#21379)
  feat(Tactic/Linter): options to in/exclude definitions and private decls (#21374)
  feat: the prime spectrum is quasi-separated (#21362)
  ...
pfaffelh pushed a commit that referenced this pull request Feb 7, 2025
This PR removes `@[simp]` from all the lemma with a lambda as the #discr_tree_simp_key. These @[simp] annotations were not used anywhere in Mathlib, and are potentially expensive as they will fire anytime the simp target is a lambda. 

See [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/bad.20simp.20discrimination.20tree.20keys/near/497258784), and thanks for @JovanGerb and @kbuzzard for diagnosing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge This PR has been sent to bors.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants