@@ -657,18 +657,6 @@ section mkOfAdjoinEqTop'
657657
658658variable [Module.Finite R S] [Module.Free R S] [Nontrivial R]
659659
660- -- theorem could be placed here with 0 imports, but
661- -- it does not logically make sense.
662- theorem alternate_natDegree_le' :
663- (minpoly A x).natDegree ≤ Module.finrank A B := by
664- have b := Module.Free.chooseBasis A B
665- let M := LinearMap.toMatrixAlgEquiv b (Algebra.lmul A B x)
666- refine (natDegree_le_natDegree (minpoly.min A x M.charpoly_monic ?_)).trans
667- (M.charpoly_natDegree_eq_dim.trans (Module.finrank_eq_card_chooseBasisIndex A B).symm).le
668- let h := Matrix.aeval_self_charpoly M
669- rwa [aeval_algHom_apply, _root_.map_eq_zero_iff _ (LinearMap.toMatrixAlgEquiv b).injective,
670- aeval_algHom_apply, _root_.map_eq_zero_iff _ Algebra.lmul_injective] at h
671-
672660/-- If `α` generates `S` as an algebra, then `S` is given by adjoining a root of `minpoly R α`. -/
673661def mkOfAdjoinEqTop'
674662 {α : S} (hα : Algebra.adjoin R {α} = ⊤) :
@@ -683,7 +671,7 @@ def mkOfAdjoinEqTop'
683671 rw [Algebra.adjoin_singleton_eq_range_aeval, AlgHom.range_eq_top] at hα
684672 exact fun s =>
685673 let ⟨p, hp⟩ := hα s; ⟨AdjoinRoot.mk f p, by simp [φ, ← aeval_def, hp]⟩
686- have hrank : f.natDegree = Module.finrank R S := le_antisymm (minpoly.natDegree_le' α ) (by
674+ have hrank : f.natDegree = Module.finrank R S := le_antisymm (minpoly.natDegree_le') (by
687675 have e := φ.toLinearMap.quotKerEquivRange.trans
688676 (LinearEquiv.ofTop _ (LinearMap.range_eq_top.mpr hφ_surj))
689677 rw [← e.finrank_eq]
0 commit comments