Skip to content

[Merged by Bors] - feat(NumberTheory/Padics): Mahler coeffs tend to 0#19340

Closed
loefflerd wants to merge 7 commits intomasterfrom
DL_mahler_part1
Closed

[Merged by Bors] - feat(NumberTheory/Padics): Mahler coeffs tend to 0#19340
loefflerd wants to merge 7 commits intomasterfrom
DL_mahler_part1

Conversation

@loefflerd
Copy link
Copy Markdown
Contributor

This adds the key technical lemma in the proof of Mahler's theorem characterising continuous functions on Zp: for any continuous function, the iterated forward differences at 0 tend to zero.

Co-authored-by: Giulio Caflisch gcaflisch@student.ethz.ch


Open in Gitpod

@loefflerd loefflerd added the t-number-theory Number theory (also use t-algebra or t-analysis to specialize) label Nov 21, 2024
@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 21, 2024

PR summary a6a94272cf

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.NumberTheory.Padics.MahlerBasis 1632 1633 +1 (+0.06%)
Import changes for all files
Files Import difference
Mathlib.NumberTheory.Padics.MahlerBasis 1

Declarations diff

+ IsUltrametricDist.norm_fwdDiff_iter_apply_le
+ fwdDiff_iter_le_of_forall_le
+ fwdDiff_tendsto_zero

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

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 the ready-to-merge This PR has been sent to bors. label Nov 23, 2024
mathlib-bors bot pushed a commit that referenced this pull request Nov 23, 2024
This adds the key technical lemma in the proof of Mahler's theorem characterising continuous functions on Zp: for any continuous function, the iterated forward differences at 0 tend to zero.

Co-authored-by: Giulio Caflisch <gcaflisch@student.ethz.ch>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Nov 23, 2024

Build failed:

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 for the PR! It generally looks like you could use calc more in order to make your proofs more readable and robust.

Comment on lines +206 to +207
· exact div_le_div_of_nonneg_left (norm_nonneg _)
(mod_cast pow_pos hp.out.pos _) (mod_cast pow_le_pow_right₀ hp.out.one_le hk)
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
· exact div_le_div_of_nonneg_left (norm_nonneg _)
(mod_cast pow_pos hp.out.pos _) (mod_cast pow_le_pow_right₀ hp.out.one_le hk)
· gcongr

Hopefully, this Just Works

Copy link
Copy Markdown
Contributor Author

@loefflerd loefflerd Nov 23, 2024

Choose a reason for hiding this comment

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

This doesn't work, and it remains broken even with the modification you subsequently proposed. So I am reverting it to the old code – which may not be as elegant, but actually does "just work".

Comment on lines +180 to +184
rw [← Int.cast_smul_eq_zsmul ℚ_[p], norm_smul]
refine le_trans ?_ (hst (i + ↑(p ^ t)) i ?_)
· apply mul_le_of_le_one_left (norm_nonneg _)
simpa only [← coe_intCast] using norm_le_one _
· rw [Nat.cast_pow, add_sub_cancel_left, norm_pow, norm_p, inv_pow, zpow_neg, zpow_natCast]
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.

This proof block looks like a good candidate for a calc

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.

The code that's here works fine and has already been submitted for merging by a maintainer (failing to merge only because of a coincidental rename of a lemma).

Can you explain why you believe all of these changes are so essential?

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.

The proof is now calc-ified. I don't personally think it makes it any clearer, but it's not worth arguing over.

@YaelDillies YaelDillies added awaiting-author A reviewer has asked the author a question or requested changes. and removed ready-to-merge This PR has been sent to bors. labels Nov 23, 2024
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@loefflerd
Copy link
Copy Markdown
Contributor Author

Looks like one of these Just Doesn’t Work (tm)

@YaelDillies
Copy link
Copy Markdown
Contributor

Oh, you will need to add the assumption 1 ≤ ↑p before running gcongr, then it should close the goal

@loefflerd loefflerd removed the awaiting-author A reviewer has asked the author a question or requested changes. label Nov 23, 2024
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 the ready-to-merge This PR has been sent to bors. label Nov 23, 2024
mathlib-bors bot pushed a commit that referenced this pull request Nov 23, 2024
This adds the key technical lemma in the proof of Mahler's theorem characterising continuous functions on Zp: for any continuous function, the iterated forward differences at 0 tend to zero.

Co-authored-by: Giulio Caflisch <gcaflisch@student.ethz.ch>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Nov 23, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(NumberTheory/Padics): Mahler coeffs tend to 0 [Merged by Bors] - feat(NumberTheory/Padics): Mahler coeffs tend to 0 Nov 23, 2024
@mathlib-bors mathlib-bors bot closed this Nov 23, 2024
@mathlib-bors mathlib-bors bot deleted the DL_mahler_part1 branch November 23, 2024 20:43
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. t-number-theory Number theory (also use t-algebra or t-analysis to specialize)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants