Skip to content

feat(NumberTheory/Transcendental/Liouville): irrational reals are LiouvilleWith for 1 < p ≤ 2 - #43595

Open
localecho wants to merge 2 commits into
leanprover-community:masterfrom
localecho:liouville-with-gap
Open

feat(NumberTheory/Transcendental/Liouville): irrational reals are LiouvilleWith for 1 < p ≤ 2#43595
localecho wants to merge 2 commits into
leanprover-community:masterfrom
localecho:liouville-with-gap

Conversation

@localecho

@localecho localecho commented Sep 8, 2026

Copy link
Copy Markdown

Closes the gap noted in this file's module doc — the reverse implication for 1 < p ≤ 2 was flagged 'not formalized yet' since 2021. Proved via Dirichlet approximation (Real.infinite_rat_abs_sub_lt_one_div_den_sq_of_irrational) plus a finite-fiber argument on denominators, rather than continued fractions directly.


Formalized with Claude's help, verified by a clean lake build.

Posted about this gap in #new-members first: https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Intro.3A.20Brigham.20Hall.20.3B.20LiouvilleWith.20gap.20for.201.20.3C.20p.20.E2.89.A4.202/near/622672679

@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 Sep 8, 2026
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

If you haven't already done so, please come to Zulip and join the Lean community.
Thank you again for joining our community.

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

PR summary a337177272

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.NumberTheory.Transcendental.Liouville.LiouvilleWith 2292 2294 +2 (+0.09%)
Import changes for all files
Files Import difference
Mathlib.NumberTheory.Transcendental.Liouville.LiouvilleWith Mathlib.NumberTheory.Transcendental.Liouville.Measure 2

Declarations diff (regex)

+ Irrational.liouvilleWith
+ finite_den_eq_and_close
+ infinite_den_of_irrational

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.

Declarations diff (Lean)

Lean-aware diff — post-build, computed from the Lean environment (commit a337177).

  • +1 new declarations
  • −0 removed declarations
+Irrational.liouvilleWith

No changes to strong technical debt.
No changes to weak technical debt.

Current commit a337177272
Reference commit b7f093a35e

This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:

git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/scripts/reporting/technical-debt-metrics.py 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).

@github-actions github-actions Bot added the t-number-theory Number theory (also use t-algebra or t-analysis to specialize) label Sep 8, 2026
@localecho
localecho marked this pull request as ready for review September 8, 2026 22:51
@grunweg grunweg added the LLM-generated PRs with substantial input from LLMs - review accordingly label Sep 8, 2026
Comment on lines +133 to +134
· have := hx.ne_rational q.num (n : ℤ)
simpa using this

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
· have := hx.ne_rational q.num (n : ℤ)
simpa using this
· simpa using hx.ne_rational q.num (n : ℤ)

apply Set.Finite.of_finite_image (f := fun q : ℚ => q.num)
· apply Set.Finite.subset (Set.finite_Icc ⌊(n : ℝ) * x - 1⌋ ⌈(n : ℝ) * x + 1⌉)
rintro k ⟨q, ⟨hden, hclose⟩, rfl⟩
have hn' : (0 : ℝ) < n := by exact_mod_cast hn

@SnirBroshi SnirBroshi Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

by and exact are inverses

Suggested change
have hn' : (0 : ℝ) < n := by exact_mod_cast hn
have hn' : (0 : ℝ) < n := mod_cast hn

(this doesn't always work, but hopefully will)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

LLM-generated PRs with substantial input from LLMs - review accordingly new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! 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.

4 participants