Zulip Chat Archive

Stream: Is there code for X?

Topic: Compositum of finite field extensions is finite


Sebastian Monnet (Dec 17 2021 at 16:32):

(This question is copy-pasted from one in New Members)

I need the fact that for finite field extensions E1/KE_1/K and E2/KE_2/K, contained in some larger field LL, we have that E1E2/KE_1E_2 / K is also finite. Here is a statement of the lemma in Lean:

import tactic
import field_theory.galois
import data.set.basic
import algebra.group.basic

lemma comp_finrank_is_finrank (K L: Type*) [field K] [field L] [algebra K L] (E1 E2 : intermediate_field K L) : finite_dimensional K E1  finite_dimensional K E2  finite_dimensional K (Sup {E : intermediate_field K L | E = E1  E = E2}) :=
begin
  sorry,
end

Does anyone know if this lemma already exists in mathlib? I've looked through a few of the field theory entries and I can't find anything that looks like this.

Kevin Buzzard (Dec 17 2021 at 16:34):

Your LaTeX is a sup but your code is an inf.(fixed)

Kevin Buzzard (Dec 17 2021 at 16:36):

I think the idiomatic way to ask the LaTeX question is

import tactic
import field_theory.galois
import data.set.basic
import algebra.group.basic

lemma subalgebra.finite_dimensional_sup (K L: Type*) [field K] [field L] [algebra K L]
  (E1 E2 : intermediate_field K L) (h1 : finite_dimensional K E1) (h2 : finite_dimensional K E2) :
  finite_dimensional K (E1  E2) :=
begin
  sorry,
end

and I agree that we don't seem to have it. Note that it won't follow from the corresponding statement about submodules docs#submodule.finite_dimensional_sup because the submodule sup is in general smaller than the subalgebra sup.

Sebastian Monnet (Dec 17 2021 at 16:38):

Kevin Buzzard said:

Your LaTeX is a sup but your code is an inf.

Fixed

Yury G. Kudryashov (Dec 17 2021 at 16:39):

AFAIR, we have transitivity, so you need to prove that the dimension of E1 ⊔ E2 over E1 is less than or equal to the dimension of E2 over K.

Yury G. Kudryashov (Dec 17 2021 at 16:40):

But I never used this part of the library.

Adam Topaz (Dec 17 2021 at 16:41):

Do we know that E1E2E_1 \otimes E_2 surjects onto it?

Kevin Buzzard (Dec 17 2021 at 16:41):

Oh I guess it should be called intermediate_field.finite_dimensional_sup

Kevin Buzzard (Dec 17 2021 at 16:44):

@Thomas Browning did you need this stuff for e.g. normal closure?

Thomas Browning (Dec 17 2021 at 20:28):

I can't remember seeing/using this sort of thing. We were just working with towers, I think.

Kevin Buzzard (Dec 18 2021 at 00:10):

It's a shame that this isn't there, this is the sort of thing which is quite fiddly if you're not an expert, and Sebastian is just starting.

Kevin Buzzard (Dec 18 2021 at 00:11):

I guess the lemma to prove is that if X spans E2 as a K-module then it spans E1 cup E2 as an E1-module

Kevin Buzzard (Dec 18 2021 at 00:11):

But stating that is fiddly

Thomas Browning (Dec 18 2021 at 06:41):

Here's a proof. I can start PRing it tomorrow, if you would like.

Kevin Buzzard (Dec 18 2021 at 09:10):

Oh my goodness! Thank you so much Thomas!

Sebastian Monnet (Dec 18 2021 at 09:57):

Thanks Thomas, that’s incredibly helpful!

Kevin Buzzard (Dec 18 2021 at 12:41):

So I can't quite get Thomas' code running because I seem to be missing an instance.

instance foo (K L M : Type*) [field K] [comm_ring L] [comm_ring M] [algebra K L] [algebra K M]
  [finite_dimensional K L] [finite_dimensional K M] : finite_dimensional K (L [K] M) :=
sorry

Am I missing an import?

Thomas Browning (Dec 18 2021 at 18:34):

You're probably missing linear_algebra/tensor_product_basis.lean. Sorry, I should have added imports.

Thomas Browning (Dec 20 2021 at 21:23):

Here's the PR: #10938

Kevin Buzzard (Dec 20 2021 at 22:18):

Thanks Thomas!

I think that to do the stuff with normality we need a little more about splitting fields, for example "if L/K is an extension, and f in K[X] splits in E_i for a bunch of subfields, then it splits in their Inf".

Thomas Browning (Dec 20 2021 at 22:31):

That particular thing doesn't sound too hard, since you can look at the roots of f. One way of doing this is to factor f in L (in terms of a multiset of elements of L), show that each root lies in the Inf, then construct a multiset in the Inf, and finally invoke the lemma about splitting iff there exists a multiset.

Thomas Browning (Dec 20 2021 at 22:34):

Is there a specific goal that all this is building up to?

Kevin Buzzard (Dec 20 2021 at 22:34):

Topology on Gal(Q/Q).\mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}).

Kevin Buzzard (Dec 20 2021 at 22:34):

We already have it, but we're trying to do it properly (i.e. make a better definition for which it will be possible to develop an API)


Last updated: Dec 20 2023 at 11:08 UTC