File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -49,10 +49,20 @@ theorem _root_.Module.Finite.iff_cofg_bot : (⊥ : Submodule R M).CoFG ↔ Modul
4949theorem CoFG.fg_of_isCompl {S T : Submodule R M} (hST : IsCompl S T) (hS : S.CoFG) : T.FG :=
5050 Module.Finite.iff_fg.mp <| Module.Finite.equiv <| quotientEquivOfIsCompl S T hST
5151
52+ /-- Over a noetherian ring, if `S` and `T` are disjoint and `T` is CoFG, then `S` is FG. -/
53+ theorem CoFG.fg_of_disjoint [IsNoetherianRing R] {S T : Submodule R M} (hST : Disjoint S T)
54+ (hT : T.CoFG) : S.FG :=
55+ .of_disjoint_of_isNoetherian_quotient hST
56+
57+ /-- If `S` and `T` are co-disjoint and `S` is FG, then `T` is CoFG. -/
58+ theorem FG.cofg_of_codisjoint {S T : Submodule R M} (hST : Codisjoint S T) (hS : S.FG) :
59+ T.CoFG :=
60+ have := Module.Finite.iff_fg.mpr hS
61+ .of_surjective (T.mkQ.domRestrict S) (by simp [← LinearMap.range_eq_top, hST.symm.eq_top])
62+
5263/-- A complement of an FG submodule is CoFG. -/
53- theorem FG.cofg_of_isCompl {S T : Submodule R M} (hST : IsCompl S T) (hS : S.FG) : T.CoFG := by
54- haveI := Module.Finite.iff_fg.mpr hS
55- exact Module.Finite.equiv (quotientEquivOfIsCompl T S hST.symm).symm
64+ theorem FG.cofg_of_isCompl {S T : Submodule R M} (hST : IsCompl S T) (hS : S.FG) : T.CoFG :=
65+ hS.cofg_of_codisjoint hST.codisjoint
5666
5767/-- A submodule that contains a CoFG submodule is CoFG. -/
5868theorem CoFG.of_le {S T : Submodule R M} (hT : S ≤ T) (hS : S.CoFG) : T.CoFG := by
Original file line number Diff line number Diff line change @@ -382,6 +382,12 @@ lemma FG.of_le [IsNoetherianRing R] {S T : Submodule R M} (hT : T.FG) (hST : S
382382 rw [← Module.Finite.iff_fg] at hT
383383 exact FG.of_le_of_isNoetherian hST
384384
385+ /-- If `S` is disjoint from `T` and `M ⧸ T` is a noetherian module, then `S` is FG.
386+ See also `Submodule.CoFG.fg_of_disjoint`. -/
387+ theorem FG.of_disjoint_of_isNoetherian_quotient {S T : Submodule R M} [IsNoetherian R (M ⧸ T)]
388+ (hST : Disjoint S T) : S.FG :=
389+ Module.Finite.iff_fg.mp <| .of_injective (T.mkQ.domRestrict S) (by simp [hST.eq_bot])
390+
385391end Submodule
386392
387393universe w v u
You can’t perform that action at this time.
0 commit comments