Skip to content

feat(AlgebraicGeometry): function fields and Faltings' theorem#191

Open
alreadydone wants to merge 10 commits into
leanprover:mainfrom
alreadydone:Faltings
Open

feat(AlgebraicGeometry): function fields and Faltings' theorem#191
alreadydone wants to merge 10 commits into
leanprover:mainfrom
alreadydone:Faltings

Conversation

@alreadydone

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread LeanEval/AlgebraicGeometry/FunctionField.lean Outdated

@MichaelStollBayreuth MichaelStollBayreuth left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Otherwise LGTM.

Comment thread LeanEval/AlgebraicGeometry/FunctionField.lean Outdated
Comment thread LeanEval/AlgebraicGeometry/FunctionField.lean Outdated
Comment thread LeanEval/AlgebraicGeometry/FunctionField.lean Outdated
@MichaelStollBayreuth

Copy link
Copy Markdown

Maybe you can also add a concrete special case, e.g.,

theorem faltngs_hyperelliptic {K : Type*} [Field K] [NumberField K] {f : Polynomial K} (hf : f.discr ≠ 0) (hd : 5 ≤ f.natDegree) :
    {x : K | IsSquare (f.eval x)}.Finite := by
  sorry

It would be interesting to see if (1) models can find simpler proofs for the special case, (2) models can deduce the concrete application from the general result.

@alreadydone

Copy link
Copy Markdown
Contributor Author

Nice idea! I'd use Polynomial.Separable for hf though.

@MichaelStollBayreuth

MichaelStollBayreuth commented May 12, 2026

Copy link
Copy Markdown

Strangely, according to loogle, there is no result in Mathlib that connects Polynomial.Separable and Polynomial.discr... I guess this is because Polynomial.discr has very little API.

@alreadydone

alreadydone commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

Yeah apparently @kckennylau added Polynomial.discr relatively recently.

@alreadydone

alreadydone commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

Maybe you can also add a concrete special case, e.g.,

I think it's better that you open a separate PR to add it in another file (maybe under NumberTheory is more suitable than AlgebraicGeometry for this one), since it doesn't mention function fields. This file would be suitable for further eval_problems about function fields, like Riemann Roch ...

@alreadydone

alreadydone commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

Instead of the old Is1DFunctionField I introduced

class BundledFunctionField extends
  Algebra (RatFunc K) F, IsScalarTower K (RatFunc K) F, FunctionField K F

to make statements shorter.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants