Skip to content

feat(FunctionField): constant extensions are finite#37388

Open
xgenereux wants to merge 8 commits intoleanprover-community:masterfrom
xgenereux:FunctionField/constantExtension
Open

feat(FunctionField): constant extensions are finite#37388
xgenereux wants to merge 8 commits intoleanprover-community:masterfrom
xgenereux:FunctionField/constantExtension

Conversation

@xgenereux
Copy link
Copy Markdown
Collaborator

@xgenereux xgenereux commented Mar 30, 2026

Let F be a function field over Fq. If E is an algebraic extension of Fq which is contained in F then it is finite over Fq.

To implement this, we model the following tower of extensions:

                            E(X) - F
                           /   \   |
                        E[X]   Fq(X)
                        /  \    /
                       E   Fq[X]
                        \  /
                          Fq

by assuming algebra hypotheses on the level of Fq[X] and E[X] and use

attribute [local instance] Polynomial.algebra

together with the scoped RatFunc instances RatFunc.liftAlgebra and RatFunc.isScalarTower_liftAlgebra to obtain the appropriate algebra instances from RatFunc Fq/E.

One annoying thing is that using these instances creates a diamond with RatFunc.instSMulOfFractionRingPolynomial, I am working on trying to find a fix but don't have anything at the moment. I am open to suggestions!

Here are some details on this diamond:
Since both RatFunc E and FractionRing E[X] (which are not defeq) have an IsFractionRing E[X] instance we get two maps coming from RatFunc.liftAlgebra:

  1. (RatFunc.liftAlgebra Fq (FractionRing E[X]))
  2. (RatFunc.liftAlgebra Fq (RatFunc E))

Where the first one is transported back to RatFunc E via RatFunc.instSMulOfFractionRingPolynomial. Analyzing

@RatFunc.instSMulOfFractionRingPolynomial _ _ (RatFunc Fq) (RatFunc.liftAlgebra Fq (FractionRing E[X])).toSMul
    = (RatFunc.liftAlgebra Fq (RatFunc E)).toSMul

we see that this boils down to
{ toFractionRing := (IsLocalization.lift ⋯) x } = (IsFractionRing.lift ⋯) x not being defeq.

Co-authored-by: María Inés de Frutos Fernández <[email protected]>


Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 30, 2026

PR summary 47ed25d3ca

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ finiteDimensional_of_constantExtension
+ finiteDimensional_ratFunc_of_constantExtension
+ instance : FiniteDimensional (RatFunc Fq) (RatFunc E)
+ instance [Algebra.IsAlgebraic Fq E] : FiniteDimensional Fq E

You can run this locally as follows
## summary with just the declaration names:
./scripts/pr_summary/declarations_diff.sh <optional_commit>

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

The doc-module for scripts/pr_summary/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/reporting/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).

@github-actions github-actions bot added the t-number-theory Number theory (also use t-algebra or t-analysis to specialize) label Mar 30, 2026
@mathlib-merge-conflicts
Copy link
Copy Markdown

This pull request has conflicts, please merge master and resolve them.

@mathlib-merge-conflicts mathlib-merge-conflicts bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Apr 9, 2026
@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

2 participants