Zulip Chat Archive
Stream: Is there code for X?
Topic: algebraic element over algebraically closed field
Aaron Liu (Feb 01 2026 at 22:43):
If L/K is a field extension and K is algebraically closed, then any element of L algebraic over K in fact belongs to K.
import Mathlib
variable {K : Type*} [Field K] [IsAlgClosed K]
-- variable {R : Type*} [CommRing R] [IsDomain R] [Algebra K R]
variable {L : Type*} [Field L] [Algebra K L]
example {x : L} (hx : IsAlgebraic K x) : ∃ y, algebraMap K L y = x := by
sorry
Artie Khovanov (Feb 02 2026 at 02:02):
docs#IsAlgClosed.algebraMap_bijective_of_isIntegral
Artie Khovanov (Feb 02 2026 at 02:03):
or on the level of extensions: docs#IntermediateField.eq_bot_of_isAlgClosed_of_isAlgebraic
Artie Khovanov (Feb 02 2026 at 02:04):
there's not a finrank_eq_one version, I think that should be added (I suppose I'll add it eventually when I merge my real closed field stuff, to make the APIs the same)
Artie Khovanov (Feb 02 2026 at 02:05):
also let me get on my soapbox and request a consensus for the spelling of "the given extension is trivial" and a consistent API on top of that
Aaron Liu (Feb 02 2026 at 02:17):
can you fill in the sorry?
Artie Khovanov (Feb 02 2026 at 22:12):
open IntermediateField in
example {x : L} (hx : IsAlgebraic K x) : ∃ y, algebraMap K L y = x := by
have := isAlgebraic_adjoin_simple hx.isIntegral
simpa [adjoin_eq_bot_iff, IntermediateField.mem_bot] using
eq_bot_of_isAlgClosed_of_isAlgebraic K⟮x⟯
I wasn't very familiar with the IntermediateField API but we got there in the end, here you go
Aaron Liu (Feb 02 2026 at 22:13):
thanks
Aaron Liu (Feb 02 2026 at 22:13):
this should go in mathlib
Aaron Liu (Feb 02 2026 at 22:13):
do you wanna open a PR?
Artie Khovanov (Feb 02 2026 at 22:14):
nah
a principled API for "the algebra map is surjective" / "I am equal to the bottom subalgebra" should go in mathlib
but adding this lemma will do for now
Artie Khovanov (Feb 02 2026 at 22:14):
also IntermediateField.coe_bot and IntermediateField.mem_bot should be simp lemmas
Aaron Liu (Feb 02 2026 at 22:15):
I think this should also work for an integral domain R in place of the big field L
Artie Khovanov (Feb 02 2026 at 22:17):
yes
using docs#IsAlgClosed.algebraMap_bijective_of_isIntegral
but the API is worse there so I'm not gonna write a proof out rn
Last updated: Feb 28 2026 at 14:05 UTC