@@ -795,20 +795,14 @@ end AdjoinIntermediateFieldLattice
795
795
796
796
section AdjoinIntegralElement
797
797
798
- variable { F : Type *} [Field F] {E : Type *} [Field E] [Algebra F E] {α : E}
798
+ variable ( F : Type *) [Field F] {E : Type *} [Field E] [Algebra F E] {α : E}
799
799
800
800
variable {K : Type *} [Field K] [Algebra F K]
801
801
802
- theorem minpoly_gen { α : E} (h : IsIntegral F α ) :
802
+ theorem minpoly_gen ( α : E) :
803
803
minpoly F (AdjoinSimple.gen F α) = minpoly F α := by
804
- rw [← AdjoinSimple.algebraMap_gen F α] at h
805
- have inj := (algebraMap F⟮α⟯ E).injective
806
- exact
807
- minpoly.eq_of_algebraMap_eq inj ((isIntegral_algebraMap_iff inj).mp h)
808
- (AdjoinSimple.algebraMap_gen _ _).symm
809
- #align intermediate_field.minpoly_gen IntermediateField.minpoly_gen
810
-
811
- variable (F)
804
+ rw [← minpoly.algebraMap_eq (algebraMap F⟮α⟯ E).injective, AdjoinSimple.algebraMap_gen]
805
+ #align intermediate_field.minpoly_gen IntermediateField.minpoly_genₓ
812
806
813
807
theorem aeval_gen_minpoly (α : E) : aeval (AdjoinSimple.gen F α) (minpoly F α) = 0 := by
814
808
ext
@@ -899,7 +893,7 @@ noncomputable def algHomAdjoinIntegralEquiv (h : IsIntegral F α) :
899
893
(F⟮α⟯ →ₐ[F] K) ≃ { x // x ∈ (minpoly F α).aroots K } :=
900
894
(adjoin.powerBasis h).liftEquiv'.trans
901
895
((Equiv.refl _).subtypeEquiv fun x => by
902
- rw [adjoin.powerBasis_gen, minpoly_gen h , Equiv.refl_apply])
896
+ rw [adjoin.powerBasis_gen, minpoly_gen, Equiv.refl_apply])
903
897
#align intermediate_field.alg_hom_adjoin_integral_equiv IntermediateField.algHomAdjoinIntegralEquiv
904
898
905
899
/-- Fintype of algebra homomorphism `F⟮α⟯ →ₐ[F] K` -/
@@ -911,7 +905,7 @@ theorem card_algHom_adjoin_integral (h : IsIntegral F α) (h_sep : (minpoly F α
911
905
(h_splits : (minpoly F α).Splits (algebraMap F K)) :
912
906
@Fintype.card (F⟮α⟯ →ₐ[F] K) (fintypeOfAlgHomAdjoinIntegral F h) = (minpoly F α).natDegree := by
913
907
rw [AlgHom.card_of_powerBasis] <;>
914
- simp only [adjoin.powerBasis_dim, adjoin.powerBasis_gen, minpoly_gen h , h_sep, h_splits]
908
+ simp only [adjoin.powerBasis_dim, adjoin.powerBasis_gen, minpoly_gen, h_sep, h_splits]
915
909
#align intermediate_field.card_alg_hom_adjoin_integral IntermediateField.card_algHom_adjoin_integral
916
910
917
911
end AdjoinIntegralElement
@@ -1067,7 +1061,6 @@ noncomputable def Lifts.upperBoundAlgHom {c : Set (Lifts F E K)} (hc : IsChain (
1067
1061
simp only [Submonoid.coe_mul, Subsemiring.coe_toSubmonoid, Subalgebra.coe_toSubsemiring,
1068
1062
coe_toSubalgebra, Lifts.eq_of_le hzw, Lifts.eq_of_le hxw, Lifts.eq_of_le hyw, ← w.2 .map_mul,
1069
1063
Submonoid.mk_mul_mk]
1070
-
1071
1064
commutes' _ := AlgHom.commutes _ _
1072
1065
#align intermediate_field.lifts.upper_bound_alg_hom IntermediateField.Lifts.upperBoundAlgHom
1073
1066
@@ -1281,10 +1274,8 @@ open IntermediateField
1281
1274
1282
1275
/-- `pb.equivAdjoinSimple` is the equivalence between `K⟮pb.gen⟯` and `L` itself. -/
1283
1276
noncomputable def equivAdjoinSimple (pb : PowerBasis K L) : K⟮pb.gen⟯ ≃ₐ[K] L :=
1284
- (adjoin.powerBasis pb.isIntegral_gen).equivOfMinpoly pb
1285
- (minpoly.eq_of_algebraMap_eq (algebraMap K⟮pb.gen⟯ L).injective
1286
- (adjoin.powerBasis pb.isIntegral_gen).isIntegral_gen
1287
- (by rw [adjoin.powerBasis_gen, AdjoinSimple.algebraMap_gen]))
1277
+ (adjoin.powerBasis pb.isIntegral_gen).equivOfMinpoly pb <| by
1278
+ rw [adjoin.powerBasis_gen, minpoly_gen]
1288
1279
#align power_basis.equiv_adjoin_simple PowerBasis.equivAdjoinSimple
1289
1280
1290
1281
@[simp]
0 commit comments