The Abel-Ruffini Theorem #
This file proves one direction of the Abel-Ruffini theorem, namely that if an element is solvable by radicals, then its minimal polynomial has solvable Galois group.
Main definitions #
solvableByRad F E: the intermediate field of solvable-by-radicals elements
Main results #
- The Abel-Ruffini Theorem
isSolvable_gal_of_irreducible: An irreducible polynomial with a root that is solvable by radicals has a solvable Galois group.
theorem
gal_mul_isSolvable
{F : Type u_1}
[Field F]
{p q : Polynomial F}
:
IsSolvable p.Gal โ IsSolvable q.Gal โ IsSolvable (p * q).Gal
theorem
gal_prod_isSolvable
{F : Type u_1}
[Field F]
{s : Multiset (Polynomial F)}
(hs : โ p โ s, IsSolvable p.Gal)
:
theorem
gal_isSolvable_of_splits
{F : Type u_1}
[Field F]
{p q : Polynomial F}
:
Fact (Polynomial.map (algebraMap F q.SplittingField) p).Splits โ โ (hq : IsSolvable q.Gal), IsSolvable p.Gal
theorem
gal_isSolvable_tower
{F : Type u_1}
[Field F]
(p q : Polynomial F)
(hpq : (Polynomial.map (algebraMap F q.SplittingField) p).Splits)
(hp : IsSolvable p.Gal)
(hq : IsSolvable (Polynomial.map (algebraMap F p.SplittingField) q).Gal)
:
theorem
gal_X_pow_sub_one_isSolvable
{F : Type u_1}
[Field F]
(n : โ)
:
IsSolvable (Polynomial.X ^ n - 1).Gal
theorem
gal_X_pow_sub_C_isSolvable_aux
{F : Type u_1}
[Field F]
(n : โ)
(a : F)
(h : (Polynomial.map (RingHom.id F) (Polynomial.X ^ n - 1)).Splits)
:
IsSolvable (Polynomial.X ^ n - Polynomial.C a).Gal
theorem
splits_X_pow_sub_one_of_X_pow_sub_C
{F : Type u_3}
[Field F]
{E : Type u_4}
[Field E]
(i : F โ+* E)
(n : โ)
{a : F}
(ha : a โ 0)
(h : (Polynomial.map i (Polynomial.X ^ n - Polynomial.C a)).Splits)
:
(Polynomial.map i (Polynomial.X ^ n - 1)).Splits
theorem
gal_X_pow_sub_C_isSolvable
{F : Type u_1}
[Field F]
(n : โ)
(x : F)
:
IsSolvable (Polynomial.X ^ n - Polynomial.C x).Gal
@[deprecated solvableByRad (since := "2026-02-28")]
inductive
IsSolvableByRad
(F : Type u_1)
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
:
E โ Prop
Inductive definition of solvable by radicals
- base {F : Type u_1} {E : Type u_2} [Field F] [Field E] [Algebra F E] (ฮฑ : F) : IsSolvableByRad F ((algebraMap F E) ฮฑ)
- add {F : Type u_1} {E : Type u_2} [Field F] [Field E] [Algebra F E] (ฮฑ ฮฒ : E) : IsSolvableByRad F ฮฑ โ IsSolvableByRad F ฮฒ โ IsSolvableByRad F (ฮฑ + ฮฒ)
- neg {F : Type u_1} {E : Type u_2} [Field F] [Field E] [Algebra F E] (ฮฑ : E) : IsSolvableByRad F ฮฑ โ IsSolvableByRad F (-ฮฑ)
- mul {F : Type u_1} {E : Type u_2} [Field F] [Field E] [Algebra F E] (ฮฑ ฮฒ : E) : IsSolvableByRad F ฮฑ โ IsSolvableByRad F ฮฒ โ IsSolvableByRad F (ฮฑ * ฮฒ)
- inv {F : Type u_1} {E : Type u_2} [Field F] [Field E] [Algebra F E] (ฮฑ : E) : IsSolvableByRad F ฮฑ โ IsSolvableByRad F ฮฑโปยน
- rad {F : Type u_1} {E : Type u_2} [Field F] [Field E] [Algebra F E] (ฮฑ : E) (n : โ) (hn : n โ 0) : IsSolvableByRad F (ฮฑ ^ n) โ IsSolvableByRad F ฮฑ
Instances For
theorem
solvableByRad_le
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
{s : IntermediateField F E}
(H : โ (x : E) (n : โ), n โ 0 โ x ^ n โ s โ x โ s)
:
theorem
solvableByRad.rad_mem
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
{x : E}
{n : โ}
(hn : n โ 0)
(hx : x ^ n โ solvableByRad F E)
:
x โ solvableByRad F E
theorem
isAlgebraic_solvableByRad
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
:
(solvableByRad F E).IsAlgebraic
theorem
isIntegral_of_mem_solvableByRad
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
{x : E}
(hx : x โ solvableByRad F E)
:
IsIntegral F x
@[deprecated isIntegral_of_mem_solvableByRad (since := "2026-02-28")]
theorem
solvableByRad.isIntegral
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
{x : E}
(hx : x โ solvableByRad F E)
:
IsIntegral F x
Alias of isIntegral_of_mem_solvableByRad.
theorem
solvableByRad.induction
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
(motive : (x : E) โ x โ solvableByRad F E โ Prop)
(mem : โ (x : F), motive ((algebraMap F E) x) โฏ)
(add :
โ (x y : E) (hx : x โ solvableByRad F E) (hy : y โ solvableByRad F E), motive x hx โ motive y hy โ motive (x + y) โฏ)
(mul :
โ (x y : E) (hx : x โ solvableByRad F E) (hy : y โ solvableByRad F E), motive x hx โ motive y hy โ motive (x * y) โฏ)
(rad : โ (n : โ) (x : E) (hn : n โ 0) (hx : x ^ n โ solvableByRad F E), motive (x ^ n) hx โ motive x โฏ)
{x : E}
(hx : x โ solvableByRad F E)
:
motive x hx
An induction principle for solvableByRad.
theorem
isSolvable_gal_minpoly
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
{x : E}
(hx : x โ solvableByRad F E)
:
IsSolvable (minpoly F x).Gal
@[deprecated isSolvable_gal_minpoly (since := "2026-02-28")]
theorem
solvableByRad.isSolvable
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
{x : E}
(hx : x โ solvableByRad F E)
:
IsSolvable (minpoly F x).Gal
Alias of isSolvable_gal_minpoly.
theorem
isSolvable_gal_of_irreducible
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
{x : E}
(hx : x โ solvableByRad F E)
{q : Polynomial F}
(q_irred : Irreducible q)
(q_aeval : (Polynomial.aeval x) q = 0)
:
Abel-Ruffini Theorem (one direction): An irreducible polynomial with a solvableByRad root
has a solvable Galois group.
@[deprecated isSolvable_gal_of_irreducible (since := "2026-02-28")]
theorem
solvableByRad.isSolvable'
{F : Type u_1}
{E : Type u_2}
[Field F]
[Field E]
[Algebra F E]
{x : E}
(hx : x โ solvableByRad F E)
{q : Polynomial F}
(q_irred : Irreducible q)
(q_aeval : (Polynomial.aeval x) q = 0)
:
Alias of isSolvable_gal_of_irreducible.
Abel-Ruffini Theorem (one direction): An irreducible polynomial with a solvableByRad root
has a solvable Galois group.