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

refactor(IntermediateField/Adjoin): Split off relation to Algebra.adjoin #20630

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

tb65536
Copy link
Collaborator

@tb65536 tb65536 commented Jan 10, 2025

Part of IntermediateField/Adjoin/Basic is about the relation with Algebra.adjoin (e.g., assuming integrality). This PR splits off those results into their own file.


Open in Gitpod

@tb65536 tb65536 added the t-algebra Algebra (groups, rings, fields, etc) label Jan 10, 2025
Copy link

PR summary 3fd0ab8a41

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.RingTheory.AlgebraicIndependent.Adjoin 1399 1351 -48 (-3.43%)
Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis 1405 1357 -48 (-3.42%)
Mathlib.FieldTheory.SplittingField.IsSplittingField 1367 1372 +5 (+0.37%)
Import changes for all files
Files Import difference
Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis Mathlib.RingTheory.AlgebraicIndependent.Adjoin -48
150 files Mathlib.NumberTheory.NumberField.Discriminant.Defs Mathlib.RingTheory.FractionalIdeal.Norm Mathlib.LinearAlgebra.Matrix.Charpoly.Eigs Mathlib.Analysis.CStarAlgebra.GelfandDuality Mathlib.NumberTheory.Cyclotomic.Rat Mathlib.FieldTheory.IsPerfectClosure Mathlib.RepresentationTheory.GroupCohomology.Hilbert90 Mathlib.FieldTheory.Finite.Trace Mathlib.NumberTheory.NumberField.Discriminant.Basic Mathlib.NumberTheory.Cyclotomic.Discriminant Mathlib.NumberTheory.GaussSum Mathlib.Analysis.CStarAlgebra.Spectrum Mathlib.RingTheory.Localization.NormTrace Mathlib.FieldTheory.AbelRuffini Mathlib.NumberTheory.LSeries.DirichletContinuation Mathlib.NumberTheory.NumberField.FractionalIdeal Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure Mathlib.NumberTheory.NumberField.Norm Mathlib.ModelTheory.Algebra.Ring.Definability Mathlib.FieldTheory.Isaacs Mathlib.Analysis.Normed.Algebra.Spectrum Mathlib.RingTheory.Trace.Basic Mathlib.NumberTheory.LSeries.ZMod Mathlib.Analysis.CStarAlgebra.Module.Constructions Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric Mathlib.FieldTheory.Normal Mathlib.NumberTheory.NumberField.EquivReindex Mathlib.Algebra.Lie.Derivation.Killing Mathlib.FieldTheory.SeparableClosure Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots Mathlib.FieldTheory.IsAlgClosed.Classification Mathlib.Analysis.Fourier.ZMod Mathlib.RingTheory.Invariant Mathlib.NumberTheory.Cyclotomic.Three Mathlib.RingTheory.Unramified.Field Mathlib.FieldTheory.SeparableDegree Mathlib.FieldTheory.Minpoly.MinpolyDiv Mathlib.AlgebraicGeometry.EllipticCurve.IsomOfJ Mathlib.RingTheory.Nullstellensatz Mathlib.NumberTheory.NumberField.Completion Mathlib.FieldTheory.Galois.GaloisClosure Mathlib.FieldTheory.Fixed Mathlib.RingTheory.IntegralClosure.IntegralRestrict Mathlib.Algebra.Lie.TraceForm Mathlib.FieldTheory.IntermediateField.Adjoin.Basic Mathlib.FieldTheory.IsSepClosed Mathlib.Algebra.Lie.Killing Mathlib.RingTheory.RootsOfUnity.Lemmas Mathlib.Analysis.CStarAlgebra.SpecialFunctions.PosPart Mathlib.NumberTheory.Cyclotomic.Gal Mathlib.FieldTheory.Extension Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone Mathlib.NumberTheory.NumberField.ProductFormula Mathlib.RingTheory.Etale.Field Mathlib.FieldTheory.AbsoluteGaloisGroup Mathlib.Analysis.InnerProductSpace.JointEigenspace Mathlib.Algebra.Lie.Weights.Basic Mathlib.Algebra.Lie.Weights.RootSystem Mathlib.RepresentationTheory.Invariants Mathlib.FieldTheory.KrullTopology Mathlib.Algebra.Lie.LieTheorem Mathlib.CategoryTheory.Preadditive.Schur Mathlib.FieldTheory.Relrank Mathlib.RingTheory.Ideal.Norm.AbsNorm Mathlib.FieldTheory.Galois.Profinite Mathlib.FieldTheory.LinearDisjoint Mathlib.RingTheory.Ideal.Norm.RelNorm Mathlib.NumberTheory.Cyclotomic.Embeddings Mathlib.Analysis.CStarAlgebra.Module.Defs Mathlib.FieldTheory.Finite.GaloisField Mathlib.RepresentationTheory.Character Mathlib.RingTheory.DedekindDomain.IntegralClosure Mathlib.NumberTheory.FLT.Three Mathlib.FieldTheory.Galois.Basic Mathlib.NumberTheory.NumberField.CanonicalEmbedding.ConvexBody Mathlib.Algebra.Lie.Weights.Chain Mathlib.NumberTheory.NumberField.Units.Basic Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Integral Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique Mathlib.NumberTheory.DirichletCharacter.GaussSum Mathlib.FieldTheory.PrimitiveElement Mathlib.NumberTheory.Fermat Mathlib.LinearAlgebra.Eigenspace.Triangularizable Mathlib.Analysis.CStarAlgebra.ApproximateUnit Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog Mathlib.Tactic.NormNum.LegendreSymbol Mathlib.RingTheory.DedekindDomain.Different Mathlib.RingTheory.Discriminant Mathlib.NumberTheory.LSeries.Nonvanishing Mathlib.NumberTheory.ClassNumber.Finite Mathlib.Analysis.Complex.Polynomial.Basic Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.GaussSum Mathlib.NumberTheory.LegendreSymbol.JacobiSymbol Mathlib.FieldTheory.IsAlgClosed.Basic Mathlib.FieldTheory.Minpoly.IsConjRoot Mathlib.NumberTheory.LegendreSymbol.AddCharacter Mathlib.FieldTheory.Cardinality Mathlib.NumberTheory.Cyclotomic.PID Mathlib.NumberTheory.JacobiSum.Basic Mathlib.NumberTheory.LegendreSymbol.QuadraticReciprocity Mathlib.FieldTheory.IsAlgClosed.Spectrum Mathlib.Analysis.InnerProductSpace.StarOrder Mathlib.FieldTheory.AlgebraicClosure Mathlib.NumberTheory.NumberField.Basic Mathlib.FieldTheory.CardinalEmb Mathlib.NumberTheory.NumberField.Units.DirichletTheorem Mathlib.NumberTheory.ClassNumber.FunctionField Mathlib.Analysis.Normed.Algebra.Basic Mathlib.RepresentationTheory.FDRep Mathlib.RingTheory.WittVector.Isocrystal Mathlib.NumberTheory.NumberField.Units.Regulator Mathlib.RingTheory.Trace.Quotient Mathlib.RingTheory.Polynomial.Selmer Mathlib.FieldTheory.NormalClosure Mathlib.NumberTheory.Cyclotomic.Basic Mathlib.RingTheory.AlgebraicIndependent.AlgebraicClosure Mathlib.Algebra.Lie.Weights.Killing Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances Mathlib.FieldTheory.KummerExtension Mathlib.RepresentationTheory.GroupCohomology.LowDegree Mathlib.Analysis.CStarAlgebra.Hom Mathlib.Analysis.Complex.Polynomial.UnitTrinomial Mathlib.ModelTheory.Algebra.Field.IsAlgClosed Mathlib.FieldTheory.JacobsonNoether Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order Mathlib.RingTheory.AlgebraicIndependent.RankAndCardinality Mathlib.FieldTheory.PurelyInseparable Mathlib.NumberTheory.NumberField.House Mathlib.NumberTheory.NumberField.Embeddings Mathlib.Algebra.Lie.Weights.Cartan Mathlib.RingTheory.Valuation.Minpoly Mathlib.Analysis.SpecialFunctions.Complex.CircleAddChar Mathlib.LinearAlgebra.Eigenspace.Pi Mathlib.FieldTheory.Galois.Infinite Mathlib.NumberTheory.LSeries.PrimesInAP Mathlib.RingTheory.WittVector.FrobeniusFractionField Mathlib.NumberTheory.NumberField.ClassNumber Mathlib.FieldTheory.PolynomialGaloisGroup Mathlib.FieldTheory.AxGrothendieck Mathlib.Tactic Mathlib.NumberTheory.NumberField.FinitePlaces Mathlib.Algebra.Lie.Weights.Linear Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic Mathlib.RingTheory.RootsOfUnity.AlgebraicallyClosed Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic Mathlib.RingTheory.Norm.Basic Mathlib.NumberTheory.FunctionField Mathlib.NumberTheory.NumberField.AdeleRing
1
23 files Mathlib.RingTheory.IsAdjoinRoot Mathlib.RingTheory.WittVector.Domain Mathlib.RingTheory.WittVector.Compare Mathlib.RingTheory.WittVector.Identities Mathlib.LinearAlgebra.JordanChevalley Mathlib.LinearAlgebra.Semisimple Mathlib.RingTheory.LittleWedderburn Mathlib.RingTheory.Polynomial.Cyclotomic.Roots Mathlib.RingTheory.Polynomial.GaussLemma Mathlib.FieldTheory.Perfect Mathlib.NumberTheory.KummerDedekind Mathlib.RingTheory.WittVector.Frobenius Mathlib.RingTheory.Polynomial.Cyclotomic.Expand Mathlib.FieldTheory.Minpoly.IsIntegrallyClosed Mathlib.LinearAlgebra.Eigenspace.Semisimple Mathlib.RingTheory.Polynomial.Cyclotomic.Eval Mathlib.NumberTheory.PrimesCongruentOne Mathlib.Analysis.InnerProductSpace.Semisimple Mathlib.FieldTheory.PerfectClosure Mathlib.RingTheory.RootsOfUnity.Minpoly Mathlib.RingTheory.WittVector.DiscreteValuationRing Mathlib.FieldTheory.SplittingField.Construction Mathlib.RingTheory.Perfection
4
Mathlib.FieldTheory.SplittingField.IsSplittingField 5
Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra (new file) 1349

Declarations diff

+ IntermediateField.adjoin_rootSet_isSplittingField
+ IntermediateField.isSplittingField_iff
+ isSplittingField_iff_intermediateField
- _root_.isSplittingField_iff_intermediateField
- adjoin_rootSet_isSplittingField
- isSplittingField_iff

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
Collaborator

@Ruben-VandeVelde Ruben-VandeVelde left a comment

Choose a reason for hiding this comment

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

LGTM

Note to reviewers who might also be confused: new file Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra has lighter imports than Mathlib.FieldTheory.IntermediateField.Adjoin.Basic.

maintainer delegate

/-!
# Adjoining Elements to Fields
This file relates `IntermediateField.Adjoin` to `Algebra.adjoin`.
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
This file relates `IntermediateField.Adjoin` to `Algebra.adjoin`.
This file relates `IntermediateField.adjoin` to `Algebra.adjoin`.

Copy link

🚀 Pull request has been placed on the maintainer queue by Ruben-VandeVelde.

Copy link
Contributor

@Vierkantor Vierkantor left a comment

Choose a reason for hiding this comment

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

I had noted before that IntermediateField.Adjoin could stand some cleaning up, thank you for taking this on!

I think the extra imports in IsSplittingField are okay. I don't think it would help right now, but at some point we can consider taking out all the IntermediateField results from that file, and then this would not matter at all.

bors d+

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Jan 10, 2025

✌️ tb65536 can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated maintainer-merge t-algebra Algebra (groups, rings, fields, etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants