Skip to content

[Merged by Bors] - feat(Analysis/Complex/Hadamard): generalize Hadamard's three lines theorem#15009

Closed
madeve-unipi wants to merge 12 commits intomasterfrom
madeve-unipi_hadamard
Closed

[Merged by Bors] - feat(Analysis/Complex/Hadamard): generalize Hadamard's three lines theorem#15009
madeve-unipi wants to merge 12 commits intomasterfrom
madeve-unipi_hadamard

Conversation

@madeve-unipi
Copy link
Copy Markdown
Collaborator

@madeve-unipi madeve-unipi commented Jul 22, 2024

Make Hadamard's three lines theorem work on any vertical strip of the complex plane (i.e., the set of complex numbers of real part between l and u, provided l is less than u). Previously, the theorem would only work for l=0 and u=1.

Moves:

  • norm_le_interp_of_mem_verticalClosedStrip -> norm_le_interp_of_mem_verticalClosedStrip₀₁
  • norm_le_interp_of_mem_verticalClosedStrip' -> norm_le_interp_of_mem_verticalClosedStrip₀₁'

Open in Gitpod

@github-actions github-actions bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Jul 22, 2024
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jul 22, 2024

messageFile.md

@grunweg grunweg added the t-analysis Analysis (normed *, calculus) label Jul 22, 2024
@grunweg grunweg changed the title feat (Analysis/Complex/Hadamard): generalize previous version of Hadamard's three lines theorem/lemma feat(Analysis/Complex/Hadamard): generalize previous version of Hadamard's three lines theorem/lemma Jul 22, 2024
@grunweg grunweg changed the title feat(Analysis/Complex/Hadamard): generalize previous version of Hadamard's three lines theorem/lemma feat(Analysis/Complex/Hadamard): generalize Hadamard's three lines theorem Jul 22, 2024
@ghost ghost added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jul 25, 2024
@dupuisf
Copy link
Copy Markdown
Contributor

dupuisf commented Aug 19, 2024

This looks quite good. Can you merge master to get rid of the merge conflict?

@dupuisf dupuisf self-assigned this Aug 19, 2024
@ghost ghost removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Aug 20, 2024
@madeve-unipi
Copy link
Copy Markdown
Collaborator Author

madeve-unipi commented Aug 20, 2024

@dupuisf I merged master but I'm not sure what went wrong with building mathlib (unsuccessful check)

@dupuisf
Copy link
Copy Markdown
Contributor

dupuisf commented Aug 20, 2024

If you click on the red X next to the failed commit, you can see which step failed. Here it's the "build" step, and if you
click on "Details", you can see what went wrong. In this case, the issue is that there are several unused arguments.

@madeve-unipi
Copy link
Copy Markdown
Collaborator Author

If you click on the red X next to the failed commit, you can see which step failed. Here it's the "build" step, and if you click on "Details", you can see what went wrong. In this case, the issue is that there are several unused arguments.

I wonder why this wasn't an issue in the original commit, but it's fixed now. Thank you!

@dupuisf
Copy link
Copy Markdown
Contributor

dupuisf commented Aug 20, 2024

I wonder why this wasn't an issue in the original commit, but it's fixed now. Thank you!

The latest version of Lean includes a change in the variable inclusion mechanism, leading to a lot of breakage like this.

Copy link
Copy Markdown
Contributor

@dupuisf dupuisf left a comment

Choose a reason for hiding this comment

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

This looks quite good. I have a first round of comments, mostly about coding style and removing lemmas that are a bit out of place in this file. Also, I have one request: could you add back versions of the theorem with the strip from 0 to 1? It's a bit easier to use since there's no division by u-l in the exponents and so on.

@dupuisf dupuisf added the awaiting-author A reviewer has asked the author a question or requested changes. label Sep 6, 2024
@madeve-unipi
Copy link
Copy Markdown
Collaborator Author

madeve-unipi commented Sep 7, 2024

Thank you for your comments. I should have fixed everything that was brought up.

Also, I have one request: could you add back versions of the theorem with the strip from 0 to 1? It's a bit easier to use since there's no division by u-l in the exponents and so on.

I am not sure I understand what you mean here. The old versions should still be usable under [theoremname]_{01}, see lines 371 and 385 (I'm sorry but I don't know how to paste them here like you did in the review).

Ah right, never mind, somehow I expected them to be close together -- just disregard what I wrote there!

@dupuisf
Copy link
Copy Markdown
Contributor

dupuisf commented Sep 10, 2024

Another quick note: to make things easier for reviewers, can you click on "resolve conversation" whenever a comment has been addressed? Also, if you feel like the PR is ready for another round of review, you should remove the "awaiting-author" label, otherwise people will just assume that you are still working on it.

@madeve-unipi madeve-unipi removed the awaiting-author A reviewer has asked the author a question or requested changes. label Sep 10, 2024
Comment on lines +499 to +500
/-- The norm of the function `scale f l u` is bounded above on the closed strip `re⁻¹' [0, 1]`-/
lemma scale_bddAbove {f: ℂ → E} {l u : ℝ} (hul: l< u)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
/-- The norm of the function `scale f l u` is bounded above on the closed strip `re⁻¹' [0, 1]`-/
lemma scale_bddAbove {f: ℂ → E} {l u : ℝ} (hul: l< u)
/-- The norm of the function `scale f l u` is bounded above on the closed strip `re⁻¹' [0, 1]`-/
lemma scale_bddAbove {f: ℂ → E} {l u : ℝ} (hul: l < u)

Can you standardize the spacing in the file? Normally things like u-l should really be written as u - l and so on.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I've tried fixing this. I hope nothing slipped past.

@dupuisf dupuisf added the awaiting-author A reviewer has asked the author a question or requested changes. label Sep 11, 2024
@madeve-unipi madeve-unipi removed the awaiting-author A reviewer has asked the author a question or requested changes. label Sep 13, 2024
@jcommelin jcommelin requested a review from dupuisf September 24, 2024 14:29
@dupuisf dupuisf added the awaiting-author A reviewer has asked the author a question or requested changes. label Sep 27, 2024
@YaelDillies YaelDillies added the awaiting-author A reviewer has asked the author a question or requested changes. label Oct 2, 2024
@madeve-unipi
Copy link
Copy Markdown
Collaborator Author

madeve-unipi commented Oct 8, 2024

Some general remark: Why don't generalise the existing lemmas from the 0-1 strip to a general strip rather than reducing the general case to the 0-1 strip by a transformation?

This is essentially because I had proved the result from scratch for a university course (https://florisvandoorn.com/BonnAnalysis/) and then we realized the 0-1 strip case was already here. My proof was the one in Stein-Shakarchi's Functional Analysis book. It was very convenient to have 0 and 1 and then I obtained the rest via a transformation, so I just adapted that part to commit here. I haven't really studied the details of how the current mathlib proof actually works. I can try to go through it if it's better to prove the general case first, but I don't think I will have enough time for that in the next couple of weeks.

@YaelDillies
Copy link
Copy Markdown
Contributor

Okay, fair enough. I think mathlib's proof could be easy to adapt by applying the transformation earlier (although I'm not sure). If you don't have time for now, this can be left as a TODO.

Please address my comments above, however.

@madeve-unipi
Copy link
Copy Markdown
Collaborator Author

I am sorry I completely forgot to do this. I removed the unnecessary brackets around verticalClosedStrip 0 1 and sSupNormIm throughout the document. It is not entirely clear to me whether or not more brackets can be removed. For example, why is f '' VerticalClosedStrip 0 1 perfectly fine, but f ' ' (re ⁻¹' {x}) requires bracketing?

@madeve-unipi madeve-unipi removed the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 31, 2025
@YaelDillies
Copy link
Copy Markdown
Contributor

why is f '' VerticalClosedStrip 0 1 perfectly fine, but f ' ' (re ⁻¹' {x}) requires bracketing?

Because precedences are wrong. Feel free to open an issue for that on this repo!

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! Maybe merge master once to make sure everything still works.

maintainer delegate

@github-actions
Copy link
Copy Markdown

🚀 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 Jan 31, 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.

bors d+

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 31, 2025

✌️ madeve-unipi 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 delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). and removed maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. labels Jan 31, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 31, 2025

PR summary 5e6f98d675

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ interpStrip'
+ interpStrip_scale
+ mem_verticalClosedStrip_of_scale_id_mem_verticalClosedStrip
+ norm_le_interpStrip_of_mem_verticalClosedStrip₀₁
+ norm_le_interp_of_mem_verticalClosedStrip₀₁'
+ sSupNormIm_scale_left
+ sSupNormIm_scale_right
+ scale
+ scale_bddAbove
+ scale_bound_left
+ scale_bound_right
+ scale_diffContOnCl
+ scale_id_mem_verticalClosedStrip_of_mem_verticalClosedStrip
+ scale_id_mem_verticalStrip_of_mem_verticalStrip

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

madeve-unipi and others added 2 commits January 31, 2025 18:16
spacing fix

Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
spacing fix #2

Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@madeve-unipi
Copy link
Copy Markdown
Collaborator Author

I merged master and committed your spacing fix, everything looks fine to me

@YaelDillies
Copy link
Copy Markdown
Contributor

Feel free to reply bors merge then 😄

@madeve-unipi
Copy link
Copy Markdown
Collaborator Author

Because precedences are wrong. Feel free to open an issue for that on this repo!

Do you mean that f '' (re ⁻¹' {x}) should not require brackets and this is a Lean issue I should open?
Does this look right?

Title: Notation precedence issue with ' '
Description: The expression f '' (re ⁻¹' {x}) requires brackets when it should not. See for example Mathlib/Analysis/Complex/Hadamard.lean

@madeve-unipi
Copy link
Copy Markdown
Collaborator Author

bors merge

mathlib-bors bot pushed a commit that referenced this pull request Jan 31, 2025
…eorem (#15009)

Make Hadamard's three lines theorem work on any vertical strip of the complex plane (i.e., the set of complex numbers of real part between `l` and `u`, provided l is less than u). Previously, the theorem would only work for `l=0` and `u=1`.


Moves: 
- norm_le_interp_of_mem_verticalClosedStrip -> norm_le_interp_of_mem_verticalClosedStrip₀₁
- norm_le_interp_of_mem_verticalClosedStrip' -> norm_le_interp_of_mem_verticalClosedStrip₀₁'



Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: madeve-unipi <56154049+madeve-unipi@users.noreply.github.com>
@YaelDillies
Copy link
Copy Markdown
Contributor

Do you mean that f '' (re ⁻¹' {x}) should not require brackets and this is a Lean issue I should open?
Does this look right?

It's not a Lean issue, it's a Mathlib issue

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 31, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Analysis/Complex/Hadamard): generalize Hadamard's three lines theorem [Merged by Bors] - feat(Analysis/Complex/Hadamard): generalize Hadamard's three lines theorem Jan 31, 2025
@mathlib-bors mathlib-bors bot closed this Jan 31, 2025
@mathlib-bors mathlib-bors bot deleted the madeve-unipi_hadamard branch January 31, 2025 18:03
Julian added a commit that referenced this pull request Feb 2, 2025
* factorial-dvd-int: (143 commits)
  Apply suggestions from code review
  feat(Factorial): k! divides the product of any k successive integers
  feat(CategoryTheory): creation of finite limits (#21320)
  chore: update Mathlib dependencies 2025-02-01 (#21328)
  chore(GroupTheory/SpecificGroups/Alternating.lean): follow last minute review of JX (#21314)
  feat: `‖x‖ₑ.toNNReal = ‖x‖₊` (#21306)
  chore: cleanup imports in Archive/IfNormalization (#21318)
  doc: fix several typos (#21315)
  feat(CategoryTheory): transfer being iso along an iso in the arrow category (#21310)
  chore: delete declarations deprecated between 2024-01 and 2024-07 (#21271)
  feat(Analysis/Normed/Module/Dual): polar in a normed space as a submodule (#20084)
  chore(Data/ZMod/Basic): split `ZMod.valMinAbs` off (#21308)
  feat(GroupTheory/Perm/Centralizer): study the centralizer of a permutation (#17522)
  feat(RingTheory/LocalRing): `IsLocalRing` for subrings (#21168)
  chore: update Mathlib dependencies 2025-02-01 (#21312)
  chore: update Mathlib dependencies 2025-01-31 (#21311)
  feat: generalize `mem_dite` to `Membership α β` (#21262)
  feat: Lemmas for some monomial orders (#16177)
  feat(CategoryTheory): the localized category is monoidal (#12728)
  feat: add function log⁺ (=positive part of the logarithm) and prove standard estimates (#21289)
  feat(RingTheory/WittVector): ring of Witt vectors is p-adically complete (#21295)
  feat(GroupTheory/GroupAction/Blocks): more on blocks (#21284)
  fix(FieldTheory/KrullTopology): make `krullTopology_discreteTopology_of_finiteDimensional` universe polymorphic (#21299)
  feat(RingTheory/Artinian): integral non-zero-divisors are units over artinian rings (#21199)
  refactor(Topology/Gluing): simplify definition of `TopCat.GlueData.Rel` (#20653)
  feat(RingTheory/PowerSeries): binomial series (#20192)
  chore(Mathlib/RingTheory/MvPolynomial): rename MonomiaOrder.lCoeff to MonomialOrder.leadingCoeff  (#21290)
  chore (RingTheory/HahnSeries): fix names that use coeff (#21279)
  feat: let `notation3` distinguish `Prop` vs `Type _ ` vs `Sort _` (#21233)
  chore(MeasureTheory/Function/StronglyMeasurable): split Basic into Basic and AEStronglyMeasurable (#21273)
  feat(CategoryTheory): the monoidal category structure on a localization (#20951)
  feat(Analysis/Complex/Hadamard): generalize Hadamard's three lines theorem (#15009)
  feat(Order/CompleteBooleanAlgebra): Himp in terms of sSup (#20328)
  feat(ENNReal/Basic): add `ofNat_ne_top` and `top_ne_ofNat` (#14486)
  feat: Function.const as a PartialEquiv (#21137)
  chore(NonZeroDivisors): don't import rings (#20871)
  feat(Data/Set/Lattice): insert distributivity with iUnion/iInter (#21267)
  feat(GroupTheory/SpecificGroups/AlternatingGroup): subgroups of index 2 of Equiv.Perm (#21190)
  feat(GroupTheory/GroupAction/Transitive): basic results on transitive actions (#21285)
  perf(MeasureTheory/Function/LpSpace.lean): speed up (#21179)
  feat(Order): order isomorphisms from `Fin n` for small `n` (#21120)
  refactor(Topology/Group): turn morphisms in ProfiniteGrp into one field structures (#20740)
  feat: Sylow's first theorem for elementary `p`-groups (#21072)
  chore(Submonoid/Membership): don't import `MonoidWithZero` (#20748)
  refactor(Algebra/Algebra/Pi): cleanup and renaming (#21213)
  feat(GroupTheory/IndexNormal): subgroups of small index are normal (#21186)
  feat(Algebra/Group/Action): add definition of equidecomposition (#16936)
  feat(CategoryTheory/Subpresheaf): equalizer (#21096)
  feat: add lemmas about products of `Matrix.stdBasisMatrix` (#21204)
  chore: update Mathlib dependencies 2025-01-31 (#21282)
  ...
jt496 pushed a commit that referenced this pull request Feb 3, 2025
…eorem (#15009)

Make Hadamard's three lines theorem work on any vertical strip of the complex plane (i.e., the set of complex numbers of real part between `l` and `u`, provided l is less than u). Previously, the theorem would only work for `l=0` and `u=1`.


Moves: 
- norm_le_interp_of_mem_verticalClosedStrip -> norm_le_interp_of_mem_verticalClosedStrip₀₁
- norm_le_interp_of_mem_verticalClosedStrip' -> norm_le_interp_of_mem_verticalClosedStrip₀₁'



Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Co-authored-by: madeve-unipi <56154049+madeve-unipi@users.noreply.github.com>
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). new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants