-
Notifications
You must be signed in to change notification settings - Fork 382
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
[Merged by Bors] - chore/perf(Probability/MeasureTheory): use fun_prop for manual measurability
calls
#13871
Conversation
…the respective files So fun_prop can be used without breaking existing assert_not_exists statements.
tagging the minimal number of lemmas.
… to its proper place
PR summary 3ef23cd541Import changes for modified filesNo significant changes to the import graph Import changes for all files
Declarations diffNo 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> |
f5c5ca1
to
9824e37
Compare
!bench |
Here are the benchmark results for commit 7cce133. Benchmark Metric Change
==========================================================================
+ ~Mathlib.Analysis.SpecialFunctions.JapaneseBracket instructions -64.8% |
This PR/issue depends on: |
…should one tag continuous_norm instead?
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.
Three questions I asked myself: mainly about the fun_prop
tagging.
-- TODO(#13864): reinstate faster automation, e.g. by making `fun_prop` work here | ||
exact (((Measure.measurable_rnDeriv _ μ | ||
).ennreal_toNNReal).coe_nnreal_real).aestronglyMeasurable | ||
· apply Measurable.aestronglyMeasurable |
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.
Flagging this for the future: it would be nice to avoid the Measurable.aestronglyMeasurable
lemma; fun_prop
should infer this instead.
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.
Just to be clear, in order for that to work properly, we need to mark AEStronglyMeasurable
(the definition) with the fun_prop
attribute. (EDIT: I see you did in this PR)
- seven out of nine goals use positivity - the second last one works by measurability: this is only because aesop calls simp_all; simp_all proves this and doesn't use any measurability lemma - the last one is truly measurability
@RemyDegenne This is the follow-up PR I promised; I guess you're interested. It does even yield some slight speed-ups. |
!bench |
Here are the benchmark results for commit 72b694e. Benchmark Metric Change
==========================================================================
+ ~Mathlib.Analysis.SpecialFunctions.JapaneseBracket instructions -64.3% |
Comparing the two benchmarking runs, the second one is a minor improvement (save for |
Co-authored-by: grunweg <[email protected]>
bors d+ |
✌️ grunweg can now approve this pull request. To approve and merge a pull request, simply reply with |
Thanks for the review. Since CI passes, let me |
…rability` calls (#13871) Replace manual `measurability` calls with `fun_prop`; replace `measurability` calls by `fun_prop` when possible. As a by-product, this tags a few more lemmas `fun_prop` and resolves all porting notes involving `measurability`. Follow- up to #13770. Co-authored-by: Johan Commelin <[email protected]>
Build failed (retrying...): |
…rability` calls (#13871) Replace manual `measurability` calls with `fun_prop`; replace `measurability` calls by `fun_prop` when possible. As a by-product, this tags a few more lemmas `fun_prop` and resolves all porting notes involving `measurability`. Follow- up to #13770. Co-authored-by: Johan Commelin <[email protected]>
Pull request successfully merged into master. Build succeeded: |
measurability
callsmeasurability
calls
Replace manual
measurability
calls withfun_prop
; replacemeasurability
calls byfun_prop
when possible.As a by-product, this tags a few more lemmas
fun_prop
and resolves all porting notes involvingmeasurability
.Follow- up to #13770.