Skip to content

[Merged by Bors] - fix: make Prod projection delaborators respond to options, add option to disable#20455

Closed
kmill wants to merge 3 commits intomasterfrom
kmill_prod_proj_delab_option
Closed

[Merged by Bors] - fix: make Prod projection delaborators respond to options, add option to disable#20455
kmill wants to merge 3 commits intomasterfrom
kmill_prod_proj_delab_option

Conversation

@kmill
Copy link
Copy Markdown
Contributor

@kmill kmill commented Jan 3, 2025

Adds option pp.numericProj.prod to configure whether or not to use x.1 and x.2 rather than x.fst and x.snd. Fixes the delaborators to make sure they respond to pp.fieldNotation and pp.explicit.


Open in Gitpod

Adds option `pp.numericProj.prod` to configure whether or not to use `x.1` and `x.2` rather than `x.fst` and `x.snd`. Fixes the delaborators to make sure they respond to `pp.fieldNotation` and `pp.explicit`.
@kmill kmill added the t-meta Tactics, attributes or user commands label Jan 3, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 3, 2025

PR summary 3e36c7e9e2

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ getPPNumericProjProd

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).

@PatrickMassot
Copy link
Copy Markdown
Member

bors d+

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 3, 2025

✌️ kmill can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@ghost ghost added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Jan 3, 2025
@PatrickMassot
Copy link
Copy Markdown
Member

Is this worth writing some test?

@kmill
Copy link
Copy Markdown
Contributor Author

kmill commented Jan 3, 2025

That would be good engineering @PatrickMassot. I don't mind if someone-who-isn't-me were to write those tests :-) but if no one does I'll get around to it sometime.

@PatrickMassot
Copy link
Copy Markdown
Member

I added some tests.

@kmill
Copy link
Copy Markdown
Contributor Author

kmill commented Jan 3, 2025

Thanks a lot @PatrickMassot

def delabProdFst : Delab :=
whenPPOption getPPNumericProjProd <|
whenPPOption getPPFieldNotation <|
whenNotPPOption getPPExplicit <|
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Give this is the option users are most likely to change, should it be checked first for speed?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I expect it would be very difficult to measure any performance impact.

@kmill
Copy link
Copy Markdown
Contributor Author

kmill commented Jan 3, 2025

bors r+

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Jan 3, 2025
mathlib-bors bot pushed a commit that referenced this pull request Jan 3, 2025
…on to disable (#20455)

Adds option `pp.numericProj.prod` to configure whether or not to use `x.1` and `x.2` rather than `x.fst` and `x.snd`. Fixes the delaborators to make sure they respond to `pp.fieldNotation` and `pp.explicit`.




Co-authored-by: Patrick Massot <patrickmassot@free.fr>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 4, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title fix: make Prod projection delaborators respond to options, add option to disable [Merged by Bors] - fix: make Prod projection delaborators respond to options, add option to disable Jan 4, 2025
@mathlib-bors mathlib-bors bot closed this Jan 4, 2025
@mathlib-bors mathlib-bors bot deleted the kmill_prod_proj_delab_option branch January 4, 2025 00:12
Julian added a commit that referenced this pull request Jan 5, 2025
* origin/master: (133 commits)
  chore(1000): remove nonexistent fields (#20493)
  chore(CategoryTheory/Adjunction.Basic, CategoryTheory/Equivalence): change definition of `Adjunction.comp` and `Equivalence.trans` (#20490)
  feat(Asymptotics): add `Asymptotics.*.*Prod` lemmas (#20458)
  feat: a conditional kernel is almost everywhere a probability measure (#20430)
  feat: if `f` is a measurable group hom, then every point has a neighborhood `s` such that `f '' s` is bounded (#20304)
  feat: `Ico`, `Ioc`, and `Ioo` are not closed or compact (#20479)
  chore: drop redundant hypothesis in `Module.Dual.eq_of_preReflection_mapsTo` (#20492)
  feat(FaaDiBruno): derive `DecidableEq` (#20482)
  chore(SetTheory/Ordinal/Basic): `{x // x < y}` → `Iio y` (#20413)
  chore: generalize `FormalMultilinearSeries.ofScalars_norm` to `Seminormed` (#20351)
  chore(MvPolynomial/Localization): golf using TensorProduct (#20309)
  chore(Combinatorics/Enumerative/Partition): auto-derive DecidableEq (#20277)
  chore(CategoryTheory): make relevant parameters explicit in `Arrow.homMk`. (#20259)
  feat: add `IsStarNormal (↑x⁻¹ : R)` instance for `x : Rˣ` (#20091)
  fix: Stop cancelling builds of master (#20435)
  chore: update Mathlib dependencies 2025-01-05 (#20485)
  feat(SetTheory/Cardinal/Arithmetic): miscellaneous cardinality lemmas (#18933)
  chore: bump toolchain to v4.16.0-rc1, and merge bump/v4.16.0 (#20464)
  chore: bot validates lean-toolchain on bump/v4.X.0 branches (#20478)
  feat: shorthand lemmas for the L1 norm (#20383)
  chore: remove unnecessary adaptation notes (#20467)
  chore(Algebra/Category/MonCat/Colimits): remove smallness condition (#20473)
  chore(SetTheory/Ordinal/Arithmetic): `IsLeftCancelAdd Ordinal` (#19888)
  feat(Algebra): more on `OrthogonalIdempotents` (#18195)
  feat(Radical): `(radical a).natDegree ≤ a.natDegree` (#20468)
  feat(Polynomial): `(a^n)' = 0` iff `a' = 0` when `n` doesn't divide the characteristic (#20190)
  feat(Algebra/Lie): add Lie's theorem (#13480)
  chore(RingTheory/Generators): make algebra instance a def (#14265)
  feat(Topology/Group): Lemmas about profinite group (#20282)
  feat: the empty set is a topological basis iff the space is empty (#20441)
  chore: make uniqueness of conditionally complete linearly ordered archimedean fields independent of the construction of `Real` (#20242)
  chore: `inherit_doc`s for notations (#20376)
  chore: split AEEqOfIntegral into two files, one for each integral type (#20405)
  chore: split Kernel/MeasurableIntegral (#20427)
  feat(MeasureTheory/Group/Measure): add ContinuousMulEquiv.isHaarMeasure_map (#20469)
  fix(Mathlib.Tactic.CC.Datatypes): `cc` raises panic (#20422)
  feat(Probability/Moments): add lemmas about moment generating functions (#19886)
  feat(Algebra/Order/AddGroupWithTop): lemmas about LinearOrderedAddCommGroupWithTop (#18954)
  chore: bump toolchain to v4.15.0 (#20461)
  chore: update Mathlib dependencies 2025-01-04 (#20463)
  fix: make `Prod` projection delaborators respond to options, add option to disable (#20455)
  chore(Algebra): Improve attribute generation (#20451)
  feat(Polynomial): `(C a * p).degree = p.degree` if `a * p.leadingCoeff ≠ 0` (#20446)
  feat: add `ENNReal.finStronglyMeasurable_of_measurable` (#20404)
  doc(Algebra/Lie/Weights/Basic): fix typo (#20450)
  chore(1000): remove `identifiers` (#20445)
  feat: add sumPiEquivProdPi and piUnique (#20195)
  feat: add fst_compProd_apply (#20429)
  chore: use unsigned measures for Lebesgue decomposition (#20400)
  feat: Two lemmas on divisibility and coprimality of `expand` (#20143)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). ready-to-merge This PR has been sent to bors. t-meta Tactics, attributes or user commands

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants