Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 861f594

Browse files
committed
feat(field_theory/normal): Tower of solvable extensions is solvable (#6643)
This is the key lemma that makes Abel-Ruffini work.
1 parent 6f6b548 commit 861f594

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

src/field_theory/normal.lean

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ Authors: Kenny Lau
55
-/
66

77
import field_theory.adjoin
8-
import field_theory.minpoly
9-
import field_theory.splitting_field
108
import field_theory.tower
9+
import group_theory.solvable
10+
import ring_theory.power_basis
1111

1212
/-!
1313
# Normal field extensions
@@ -294,4 +294,21 @@ lemma alg_equiv.restrict_normal_hom_surjective [normal F K] [normal F E] :
294294
function.surjective (alg_equiv.restrict_normal_hom K : (E ≃ₐ[F] E) → (K ≃ₐ[F] K)) :=
295295
λ χ, ⟨χ.lift_normal E, χ.restrict_lift_normal E⟩
296296

297+
variables (F) (K) (E)
298+
299+
lemma is_solvable_of_is_scalar_tower [normal F K] [h1 : is_solvable (K ≃ₐ[F] K)]
300+
[h2 : is_solvable (E ≃ₐ[K] E)] : is_solvable (E ≃ₐ[F] E) :=
301+
begin
302+
let f : (E ≃ₐ[K] E) →* (E ≃ₐ[F] E) :=
303+
{ to_fun := λ ϕ, alg_equiv.of_alg_hom (ϕ.to_alg_hom.restrict_scalars F)
304+
(ϕ.symm.to_alg_hom.restrict_scalars F)
305+
(alg_hom.ext (λ x, ϕ.apply_symm_apply x))
306+
(alg_hom.ext (λ x, ϕ.symm_apply_apply x)),
307+
map_one' := alg_equiv.ext (λ _, rfl),
308+
map_mul' := λ _ _, alg_equiv.ext (λ _, rfl) },
309+
refine solvable_of_ker_le_range f (alg_equiv.restrict_normal_hom K)
310+
(λ ϕ hϕ, ⟨{commutes' := λ x, _, .. ϕ}, alg_equiv.ext (λ _, rfl)⟩),
311+
exact (eq.trans (ϕ.restrict_normal_commutes K x).symm (congr_arg _ (alg_equiv.ext_iff.mp hϕ x))),
312+
end
313+
297314
end lift

0 commit comments

Comments
 (0)