mathlib4 icon indicating copy to clipboard operation
mathlib4 copied to clipboard

feat(FieldTheory): add basic api's for relative algebraic closure

Open jjdishere opened this issue 1 year ago • 5 comments

Move the definition of algebraicClosure into a separated file (mimicing seperableClosure in file FieldTheory.SeperableClosure). Add APIs for algebraicClosure. Most are copied api's from separableClosure. Show that every algebraic intermediate extension is contained in the algebraic closure.


  • [x] depends on: #14206

Open in Gitpod

jjdishere avatar Sep 13 '24 15:09 jjdishere

PR summary 428cdfd57c

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.FieldTheory.AlgebraicClosure 1356

Declarations diff

+ AlgEquiv.algebraicClosure + Algebra.IsAlgebraic.of_isIntegralClosure + IntermediateField.isAlgebraic_adjoin_iff_isAlgebraic + IsAlgClosed.algebraicClosure_eq_bot_iff + adjoin_le + algEquivOfAlgEquiv + algebraicClosure_eq_bot + comap_eq_of_algHom + eq_restrictScalars_of_isAlgebraic + eq_top_iff + isAlgClosure + isAlgebraic + isIntegralClosure + le_algebraicClosure + le_algebraicClosure' + le_algebraicClosure_iff + le_restrictScalars + map_eq_of_algEquiv + map_eq_of_algebraicClosure_eq_bot + map_le_of_algHom + map_mem_algebraicClosure_iff + mem_algebraicClosure_iff + mem_algebraicClosure_iff' + ne_zero_iff + normalClosure_eq_self

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.

github-actions[bot] avatar Sep 13 '24 15:09 github-actions[bot]

#14206 may overlap with this

Oops, sorry I didn't notice your PR. Thank you very much! @alreadydone

It seems that most of the lemmas are not overlapped, only the definition and several instances are overlapped. I am happy to modify my PR if yours is merged first.

jjdishere avatar Sep 13 '24 20:09 jjdishere

This PR/issue depends on:

  • ~~leanprover-community/mathlib4#14206~~ By Dependent Issues (🤖). Happy coding!

One generic observation, not sure if it's something we should do: We could also define IntermediateField.algebraicClosure which takes an intermediate field E/K/F, and sends it to E/L/F, where L is the algebraic closure of K in F. The current definition would then be the special case algebraicClosure \bot. But if we don't have a use case for this, maybe we should ignore it 😄

Thank you for the suggestion! I believe there is currently no immediate need for IntermediateField.algebraicClosure. For now, it can be achieved by (algebraicClosure K F).restrictScalars E. If we are going to state lemmas in this form, it might be a suitable opportunity to generalize the definition.

jjdishere avatar Oct 25 '24 15:10 jjdishere

🚀 Pull request has been placed on the maintainer queue by jcommelin.

github-actions[bot] avatar Oct 26 '24 12:10 github-actions[bot]

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

mathlib-bors[bot] avatar Oct 30 '24 08:10 mathlib-bors[bot]

bors r+

jjdishere avatar Oct 30 '24 14:10 jjdishere

Pull request successfully merged into master.

Build succeeded:

mathlib-bors[bot] avatar Oct 30 '24 14:10 mathlib-bors[bot]