@@ -4,7 +4,6 @@ From mathcomp Require Import all_ssreflect all_fingroup all_algebra.
44From mathcomp Require Import all_solvable all_field polyrcf.
55From Abel Require Import various classic_ext map_gal algR.
66From Abel Require Import char0 cyclotomic_ext real_closed_ext artin_scheier.
7- From Abel Require Import temp.
87
98(**************************************************************************** *)
109(* We work inside a enclosing splittingFieldType L over a base field F0 *)
@@ -367,31 +366,18 @@ Section Part1.
367366Variables (F0 : fieldType) (L : splittingFieldType F0).
368367Implicit Types (E F K : {subfield L}) (w : L) (n : nat).
369368
370- Lemma muln_div_trans d m n : (d %| m)%N -> (n %| d)%N ->
371- ((m %/ d) * (d %/ n))%N = (m %/ n)%N.
372- Proof . by move=> dm nd; rewrite muln_divA// divnK. Qed .
373-
374- Lemma muln_dimv E F K :
375- (K <= E)%VS -> (E <= F)%VS -> (\dim_K E * \dim_E F)%N = \dim_K F.
376- Proof . by move=> KE EF; rewrite mulnC muln_div_trans// ?field_dimS. Qed .
377-
378- Lemma galX E n (x : gal_of E) [a : L] : a \in E -> (x ^+ n)%g a = iter n x a.
379- Proof .
380- by elim: n => [|n IHn] aE; rewrite (expg0, expgSr)/= (gal_id, galM)/= ?IHn.
381- Qed .
382-
383369Lemma cyclic_radical_ext w E F : ((\dim_E F)`_[char L]^').-primitive_root w ->
384370 w \in E -> galois E F -> cyclic 'Gal(F / E) -> radical.-ext E F.
385371Proof .
386- have [->|NEF] := eqVneq (E : {vspace _}) F; first by [] .
372+ have [->// |NEF] := eqVneq (E : {vspace _}) F.
387373have [n] := ubnP (\dim_E F); elim: n => // n IHn in w E F NEF *.
388374rewrite ltnS leq_eqVlt => /predU1P[/[dup] dimEF ->|]; last exact: IHn.
389375move=> wroot wE galEF /[dup] cycEF /cyclicP[/= g GE].
390376have ggen : generator ('Gal(F / E))%g g by rewrite GE generator_cycle.
391377have ggal : g \in ('Gal(F / E))%g by rewrite GE cycle_id.
392378have EF := galois_subW galEF.
393379have n_gt1 : (n > 1)%N.
394- rewrite -dimEF ltn_divRL ?mul1n// ? field_dimS//.
380+ rewrite -dimEF ltn_divRL ?field_dimS// mul1n .
395381 by rewrite eqEdim EF/= -ltnNge in NEF.
396382have n_gt0: (0 < n)%N by apply: leq_trans n_gt1.
397383suff [k [a [k0 aE aF /rext_r arad]]]:
@@ -430,7 +416,7 @@ have [|x [xF xN0]] := Hilbert's_theorem_90 ggen (subvP EF _ wE) _.
430416 rewrite /galNorm; under eq_bigr do rewrite (fixed_gal EF)//.
431417 by rewrite prodr_const -galois_dim// dimEF (prim_expr_order wroot).
432418have gxN0 : g x != 0 by rewrite fmorph_eq0.
433- have wN0 : w != 0 by rewrite (primitive_root_eq0 wroot) -lt0n // dimEF .
419+ have wN0 : w != 0 by rewrite (primitive_root_eq0 wroot) -lt0n.
434420have [xE|xNE] := boolP (x \in E).
435421 rewrite (fixed_gal EF)// divff// => w1.
436422 by rewrite w1 prim_root1// gtn_eqF in wroot.
0 commit comments