Skip to content
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] - feat(data/real/liouville, ring_theory/algebraic): a Liouville number is transcendental! #6204

Closed
wants to merge 22 commits into from

Conversation

adomani
Copy link
Collaborator

@adomani adomani commented Feb 12, 2021

This is an annotated proof. It finishes the first half of the Liouville PR.

A taste of what is to come in a future PR: a proof that Liouville numbers actually exist!

Co-authored-by: Jujian Zhang jujian.zhang1998@outlook.com


adomani and others added 8 commits February 12, 2021 15:58
…rations for Liouville

These lemmas are use to show that a Liouville number is transcendental.

The statement that Liouville numbers are transcendental is the next PR in this sequence!
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
use Eric's suggestion
comments until some point
@github-actions github-actions bot added the blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. label Feb 12, 2021
@adomani adomani changed the title feat(data/real/liouville): a Liouville is transcendental! feat(data/real/liouville, ring_theory/algebraic): a Liouville is transcendental! Feb 12, 2021
@adomani adomani changed the title feat(data/real/liouville, ring_theory/algebraic): a Liouville is transcendental! feat(data/real/liouville, ring_theory/algebraic): a Liouville number is transcendental! Feb 12, 2021
@adomani adomani added the awaiting-review The author would like community review of the PR label Feb 12, 2021
@github-actions github-actions bot added the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Feb 15, 2021
@github-actions github-actions bot removed merge-conflict Please `git merge origin/master` then a bot will remove this label. blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. labels Feb 15, 2021
@github-actions
Copy link

🎉 Great news! Looks like all the dependencies have been resolved:

💡 To add or remove a dependency please update this issue/PR description.

Brought to you by Dependent Issues (:robot: ). Happy coding!

src/data/real/liouville.lean Outdated Show resolved Hide resolved
src/data/real/liouville.lean Outdated Show resolved Hide resolved
@@ -167,4 +166,44 @@ begin
exact (mem_roots fR0).mpr (is_root.def.mpr hy) }
end

end irrational
theorem transcendental {x : ℝ} (liouville_x : liouville x) :
is_transcendental ℤ x :=begin
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
is_transcendental ℤ x :=begin
is_transcendental ℤ x :=
begin

Also, it would be more satisfactory to have the statement that it is transcendental over the rationals. With your definitions, 1/2 is transcendental over the integers, but this is not of utmost interest...

Copy link
Collaborator

Choose a reason for hiding this comment

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

Oops, sorry, I misread the definition of transcendental. Still, why state it over integers over rationals?

Copy link
Collaborator Author

@adomani adomani Feb 16, 2021

Choose a reason for hiding this comment

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

When I adopted this PR, I understood much less of Lean and I simply kept close to the existing statements. In particular, I did not question why there was a here instead of a .

In this specific case, the proof is structured so that it uses a polynomial with integer coefficients having an irrational root and derive an inequality from the fact that there are no denominators. I can write a separate step that a real (or complex!) number that is a root of a non-zero polynomial with rational coefficients is also the root of a non-zero polynomial with integer coefficients. This would likely go in a separate file, though.

I am happy to try this, if you think that it would be better!

Copy link
Collaborator

Choose a reason for hiding this comment

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

That's more of a math convention question. Typically, when I speak of algebraic or transcendental numbers this is over a field, not a ring. Over a ring, the relevant notion is rather to be an integer, and when I read "algebraic over $\mathbb{Z}$" I understand "algebraic integer", not "algebraic over $\mathbb{Q}$". So, I would rather see "algebraic over R" as "root of a monic polynomial over R" (which is not the current definition in mathlib). But you're certainly more familiar with this area of mathematics than I am, so I'll leave it to you to decide.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Until a few months ago, converting

  • a monic polynomial with integer coefficients into a polynomial with rational coefficients or, the other way,
  • a polynomial with integer coefficients into a monic polynomial with rational coefficients seemed to come at no cost!

For this reason, I never took much notice of "standard" conventions: I always took a mental note of whether an integer polynomial was monic or not, but often disregarded monicity assumptions about polynomials with coefficients in a field.

Lean has taught me otherwise. So, while I understand the differences, my view is now: this statement is a formalization of the correct mathematical principle and, for the moment, this is good enough for me!

I still think that the conversion between integer and rational coefficients for polynomials should be smoother, but this I would consider a different PR.

Copy link
Collaborator

Choose a reason for hiding this comment

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

ok. I don't mind on this PR, but I still think the definition of algebraic should be fixed at some point.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I agree: I am playing right now with the conversion between polynomials with integer and rational coefficients!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think that it might take some time to get this into a workable tool. I could leave a comment saying that the is_algebraic and is_transcendental definitions need to interact better with fields of fractions, but at the moment, the API in this area does not make it easy, at least for me, to work with these notions.

src/data/real/liouville.lean Outdated Show resolved Hide resolved
adomani and others added 2 commits February 16, 2021 15:21
Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
…ommunity/mathlib into liouville_is_transcendental
@sgouezel
Copy link
Collaborator

bors r+
Thanks!

@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels Feb 16, 2021
bors bot pushed a commit that referenced this pull request Feb 16, 2021
…is transcendental! (#6204)

This is an annotated proof.  It finishes the first half of the Liouville PR.

A taste of what is to come in a future PR: a proof that Liouville numbers actually exist!

Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com>
@adomani
Copy link
Collaborator Author

adomani commented Feb 17, 2021

Sébastien, thank you for merging this and for all your reviews!

@bors
Copy link

bors bot commented Feb 17, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(data/real/liouville, ring_theory/algebraic): a Liouville number is transcendental! [Merged by Bors] - feat(data/real/liouville, ring_theory/algebraic): a Liouville number is transcendental! Feb 17, 2021
@bors bors bot closed this Feb 17, 2021
@bors bors bot deleted the liouville_is_transcendental branch February 17, 2021 03:54
b-mehta pushed a commit that referenced this pull request Apr 2, 2021
…is transcendental! (#6204)

This is an annotated proof.  It finishes the first half of the Liouville PR.

A taste of what is to come in a future PR: a proof that Liouville numbers actually exist!

Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants