ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CoalgEquiv.toCoalgHom_eq_coe
@[simp]
theorem toCoalgHom_eq_coe (f : A ≃ₗc[R] B) : f.toCoalgHom = f 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (f : A ≃ₗc[R] B)
Goal: f.toCoalgHom = ↑f
-- CoalgEquiv.coe_toLinearEquiv
@[simp]
theorem coe_toLinearEquiv : ⇑(e : A ≃ₗ[R] B) = e 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (e : A ≃ₗc[R] B)
Goal: ⇑↑e = ⇑e
-- CoalgEquiv.coe_toCoalgHom
@[simp]
theorem coe_toCoalgHom : ⇑(e : A →ₗc[R] B) = e 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (e : A ≃ₗc[R] B)
Goal: ⇑↑e = ⇑e
-- CoalgEquiv.toLinearEquiv_toLinearMap
theorem toLinearEquiv_toLinearMap : ((e : A ≃ₗ[R] B) : A →ₗ[R] B) = (e : A →ₗc[R] B) 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (e : A ≃ₗc[R] B)
Goal: ↑↑e = ↑↑e
-- CoalgEquiv.ext
@[ext]
theorem ext (h : ∀ x, e x = e' x) : e = e' 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {e e' : A ≃ₗc[R] B} (h : ∀ (x : A), e x = e' x)
Goal: e = e'
-- CoalgEquiv.ext_iff
theorem ext_iff : e = e' ↔ ∀ x, e x = e' x 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {e e' : A ≃ₗc[R] B}
Goal: e = e' ↔ ∀ (x : A), e x = e' x
-- CoalgEquiv.congr_arg
protected theorem congr_arg {x x'} : x = x' → e x = e x' 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {e : A ≃ₗc[R] B} {x x' : A}
Goal: x = x' → e x = e x'
-- CoalgEquiv.congr_fun
protected theorem congr_fun (h : e = e') (x : A) : e x = e' x 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] {e e' : A ≃ₗc[R] B} (h : e = e') (x : A)
Goal: e x = e' x
-- CoalgEquiv.refl_apply
@[refl, simps!]
def refl : A ≃ₗc[R] A 
Arguments: (R : Type u_1) (A : Type u_2) [CommSemiring R] [AddCommMonoid A] [Module R A] [CoalgebraStruct R A] (a : A)
Goal: (CoalgEquiv.refl R A) a = a
-- CoalgEquiv.refl_invFun
@[refl, simps!]
def refl : A ≃ₗc[R] A 
Arguments: (R : Type u_1) (A : Type u_2) [CommSemiring R] [AddCommMonoid A] [Module R A] [CoalgebraStruct R A]
Goal: ∀ (a : A), (CoalgEquiv.refl R A).invFun a = a
-- CoalgEquiv.refl_toLinearEquiv
@[simp]
theorem refl_toLinearEquiv : refl R A = LinearEquiv.refl R A 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [AddCommMonoid A] [Module R A] [CoalgebraStruct R A]
Goal: ↑(CoalgEquiv.refl R A) = LinearEquiv.refl R A
-- CoalgEquiv.refl_toCoalgHom
@[simp]
theorem refl_toCoalgHom : refl R A = CoalgHom.id R A 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [AddCommMonoid A] [Module R A] [CoalgebraStruct R A]
Goal: ↑(CoalgEquiv.refl R A) = CoalgHom.id R A
-- CoalgEquiv.symm_toLinearEquiv
@[simp]
theorem symm_toLinearEquiv (e : A ≃ₗc[R] B) :
    e.symm = (e : A ≃ₗ[R] B).symm 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (e : A ≃ₗc[R] B)
Goal: ↑e.symm = (↑e).symm
-- CoalgEquiv.symm_toCoalgHom
@[simp]
theorem symm_toCoalgHom (e : A ≃ₗc[R] B) :
    ((e.symm : B →ₗc[R] A) : B →ₗ[R] A) = (e : A ≃ₗ[R] B).symm 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (e : A ≃ₗc[R] B)
Goal: ↑↑e.symm = ↑(↑e).symm
-- CoalgEquiv.invFun_eq_symm
@[simp]
theorem invFun_eq_symm : e.invFun = e.symm 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (e : A ≃ₗc[R] B)
Goal: e.invFun = ⇑e.symm
-- CoalgEquiv.coe_toEquiv_symm
@[simp]
theorem coe_toEquiv_symm : e.toEquiv.symm = e.symm 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [Module R A] [Module R B] [CoalgebraStruct R A] [CoalgebraStruct R B] (e : A ≃ₗc[R] B)
Goal: e.toEquiv.symm = ↑e.symm
-- CoalgEquiv.trans_invFun
@[trans, simps!]
def trans (e₁₂ : A ≃ₗc[R] B) (e₂₃ : B ≃ₗc[R] C) : A ≃ₗc[R] C 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [AddCommMonoid C] [Module R A] [Module R B] [Module R C] [CoalgebraStruct R A] [CoalgebraStruct R B] [CoalgebraStruct R C] (e₁₂ : A ≃ₗc[R] B) (e₂₃ : B ≃ₗc[R] C)
Goal: ∀ (a : C), (e₁₂.trans e₂₃).invFun a = (↑e₁₂).symm ((↑e₂₃).symm a)
-- CoalgEquiv.trans_apply
@[trans, simps!]
def trans (e₁₂ : A ≃ₗc[R] B) (e₂₃ : B ≃ₗc[R] C) : A ≃ₗc[R] C 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [AddCommMonoid C] [Module R A] [Module R B] [Module R C] [CoalgebraStruct R A] [CoalgebraStruct R B] [CoalgebraStruct R C] (e₁₂ : A ≃ₗc[R] B) (e₂₃ : B ≃ₗc[R] C)
Goal: ∀ (a : A), (e₁₂.trans e₂₃) a = e₂₃ (e₁₂ a)
-- CoalgEquiv.trans_toLinearEquiv
theorem trans_toLinearEquiv :
    (e₁₂.trans e₂₃ : A ≃ₗ[R] C) = (e₁₂ : A ≃ₗ[R] B) ≪≫ₗ e₂₃ 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [AddCommMonoid C] [Module R A] [Module R B] [Module R C] [CoalgebraStruct R A] [CoalgebraStruct R B] [CoalgebraStruct R C] {e₁₂ : A ≃ₗc[R] B} {e₂₃ : B ≃ₗc[R] C}
Goal: ↑(e₁₂.trans e₂₃) = ↑e₁₂ ≪≫ₗ ↑e₂₃
-- CoalgEquiv.trans_toCoalgHom
@[simp]
theorem trans_toCoalgHom :
    (e₁₂.trans e₂₃ : A →ₗc[R] C) = e₂₃.comp e₁₂ 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [AddCommMonoid C] [Module R A] [Module R B] [Module R C] [CoalgebraStruct R A] [CoalgebraStruct R B] [CoalgebraStruct R C] {e₁₂ : A ≃ₗc[R] B} {e₂₃ : B ≃ₗc[R] C}
Goal: ↑(e₁₂.trans e₂₃) = e₂₃.comp ↑e₁₂
-- CoalgEquiv.coe_toEquiv_trans
@[simp]
theorem coe_toEquiv_trans : (e₁₂ : A ≃ B).trans e₂₃ = (e₁₂.trans e₂₃ : A ≃ C) 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid B] [AddCommMonoid C] [Module R A] [Module R B] [Module R C] [CoalgebraStruct R A] [CoalgebraStruct R B] [CoalgebraStruct R C] {e₁₂ : A ≃ₗc[R] B} {e₂₃ : B ≃ₗc[R] C}
Goal: (↑e₁₂).trans ↑e₂₃ = ↑(e₁₂.trans e₂₃)
-- Submodule.fg_def
theorem fg_def {N : Submodule R M} : N.FG ↔ ∃ S : Set M, S.Finite ∧ span R S = N 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M}
Goal: N.FG ↔ ∃ S, S.Finite ∧ Submodule.span R S = N
-- Submodule.fg_iff_addSubmonoid_fg
theorem fg_iff_addSubmonoid_fg (P : Submodule ℕ M) : P.FG ↔ P.toAddSubmonoid.FG 
Arguments: {M : Type u_2} [AddCommMonoid M] (P : Submodule ℕ M)
Goal: P.FG ↔ P.FG
-- Submodule.fg_iff_add_subgroup_fg
theorem fg_iff_add_subgroup_fg {G : Type*} [AddCommGroup G] (P : Submodule ℤ G) :
    P.FG ↔ P.toAddSubgroup.FG 
Arguments: {G : Type u_3} [AddCommGroup G] (P : Submodule ℤ G)
Goal: P.FG ↔ P.toAddSubgroup.FG
-- Submodule.fg_iff_exists_fin_generating_family
theorem fg_iff_exists_fin_generating_family {N : Submodule R M} :
    N.FG ↔ ∃ (n : ℕ) (s : Fin n → M), span R (range s) = N 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M}
Goal: N.FG ↔ ∃ n s, Submodule.span R (Set.range s) = N
-- Submodule.exists_sub_one_mem_and_smul_eq_zero_of_fg_of_le_smul
theorem exists_sub_one_mem_and_smul_eq_zero_of_fg_of_le_smul {R : Type*} [CommRing R] {M : Type*}
    [AddCommGroup M] [Module R M] (I : Ideal R) (N : Submodule R M) (hn : N.FG) (hin : N ≤ I • N) :
    ∃ r : R, r - 1 ∈ I ∧ ∀ n ∈ N, r • n = (0 : M) 
Arguments: {R : Type u_3} [CommRing R] {M : Type u_4} [AddCommGroup M] [Module R M] (I : Ideal R) (N : Submodule R M) (hn : N.FG) (hin : N ≤ I • N)
Goal: ∃ r, r - 1 ∈ I ∧ ∀ n ∈ N, r • n = 0
-- Submodule.exists_mem_and_smul_eq_self_of_fg_of_le_smul
theorem exists_mem_and_smul_eq_self_of_fg_of_le_smul {R : Type*} [CommRing R] {M : Type*}
    [AddCommGroup M] [Module R M] (I : Ideal R) (N : Submodule R M) (hn : N.FG) (hin : N ≤ I • N) :
    ∃ r ∈ I, ∀ n ∈ N, r • n = n 
Arguments: {R : Type u_3} [CommRing R] {M : Type u_4} [AddCommGroup M] [Module R M] (I : Ideal R) (N : Submodule R M) (hn : N.FG) (hin : N ≤ I • N)
Goal: ∃ r ∈ I, ∀ n ∈ N, r • n = n
-- Submodule.fg_bot
theorem fg_bot : (⊥ : Submodule R M).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: ⊥.FG
-- Subalgebra.fg_bot_toSubmodule
theorem _root_.Subalgebra.fg_bot_toSubmodule {R A : Type*} [CommSemiring R] [Semiring A]
    [Algebra R A] : (⊥ : Subalgebra R A).toSubmodule.FG 
Arguments: {R : Type u_3} {A : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A]
Goal: (Subalgebra.toSubmodule ⊥).FG
-- Submodule.fg_unit
theorem fg_unit {R A : Type*} [CommSemiring R] [Semiring A] [Algebra R A] (I : (Submodule R A)ˣ) :
    (I : Submodule R A).FG 
Arguments: {R : Type u_3} {A : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A] (I : (Submodule R A)ˣ)
Goal: (↑I).FG
-- Submodule.fg_of_isUnit
theorem fg_of_isUnit {R A : Type*} [CommSemiring R] [Semiring A] [Algebra R A] {I : Submodule R A}
    (hI : IsUnit I) : I.FG 
Arguments: {R : Type u_3} {A : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A] {I : Submodule R A} (hI : IsUnit I)
Goal: I.FG
-- Submodule.fg_span
theorem fg_span {s : Set M} (hs : s.Finite) : FG (span R s) 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {s : Set M} (hs : s.Finite)
Goal: (Submodule.span R s).FG
-- Submodule.fg_span_singleton
theorem fg_span_singleton (x : M) : FG (R ∙ x) 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] (x : M)
Goal: (Submodule.span R {x}).FG
-- Submodule.FG.sup
theorem FG.sup {N₁ N₂ : Submodule R M} (hN₁ : N₁.FG) (hN₂ : N₂.FG) : (N₁ ⊔ N₂).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {N₁ N₂ : Submodule R M} (hN₁ : N₁.FG) (hN₂ : N₂.FG)
Goal: (N₁ ⊔ N₂).FG
-- Submodule.fg_finset_sup
theorem fg_finset_sup {ι : Type*} (s : Finset ι) (N : ι → Submodule R M) (h : ∀ i ∈ s, (N i).FG) :
    (s.sup N).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Type u_3} (s : Finset ι) (N : ι → Submodule R M) (h : ∀ i ∈ s, (N i).FG)
Goal: (s.sup N).FG
-- Submodule.fg_biSup
theorem fg_biSup {ι : Type*} (s : Finset ι) (N : ι → Submodule R M) (h : ∀ i ∈ s, (N i).FG) :
    (⨆ i ∈ s, N i).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Type u_3} (s : Finset ι) (N : ι → Submodule R M) (h : ∀ i ∈ s, (N i).FG)
Goal: (⨆ i ∈ s, N i).FG
-- Submodule.fg_iSup
theorem fg_iSup {ι : Sort*} [Finite ι] (N : ι → Submodule R M) (h : ∀ i, (N i).FG) :
    (iSup N).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Sort u_3} [Finite ι] (N : ι → Submodule R M) (h : ∀ (i : ι), (N i).FG)
Goal: (iSup N).FG
-- Submodule.FG.map
theorem FG.map {N : Submodule R M} (hs : N.FG) : (N.map f).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {P : Type u_3} [AddCommMonoid P] [Module R P] (f : M →ₗ[R] P) {N : Submodule R M} (hs : N.FG)
Goal: (Submodule.map f N).FG
-- Submodule.fg_of_fg_map_injective
theorem fg_of_fg_map_injective (f : M →ₗ[R] P) (hf : Function.Injective f) {N : Submodule R M}
    (hfn : (N.map f).FG) : N.FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {P : Type u_3} [AddCommMonoid P] [Module R P] (f : M →ₗ[R] P) (hf : Function.Injective ⇑f) {N : Submodule R M} (hfn : (Submodule.map f N).FG)
Goal: N.FG
-- Submodule.fg_of_fg_map
theorem fg_of_fg_map {R M P : Type*} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup P]
    [Module R P] (f : M →ₗ[R] P)
    (hf : LinearMap.ker f = ⊥) {N : Submodule R M}
    (hfn : (N.map f).FG) : N.FG 
Arguments: {R : Type u_4} {M : Type u_5} {P : Type u_6} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup P] [Module R P] (f : M →ₗ[R] P) (hf : LinearMap.ker f = ⊥) {N : Submodule R M} (hfn : (Submodule.map f N).FG)
Goal: N.FG
-- Submodule.fg_top
theorem fg_top (N : Submodule R M) : (⊤ : Submodule R N).FG ↔ N.FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] (N : Submodule R M)
Goal: ⊤.FG ↔ N.FG
-- Submodule.fg_of_linearEquiv
theorem fg_of_linearEquiv (e : M ≃ₗ[R] P) (h : (⊤ : Submodule R P).FG) : (⊤ : Submodule R M).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {P : Type u_3} [AddCommMonoid P] [Module R P] (e : M ≃ₗ[R] P) (h : ⊤.FG)
Goal: ⊤.FG
-- Submodule.FG.prod
theorem FG.prod {sb : Submodule R M} {sc : Submodule R P} (hsb : sb.FG) (hsc : sc.FG) :
    (sb.prod sc).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {P : Type u_3} [AddCommMonoid P] [Module R P] {sb : Submodule R M} {sc : Submodule R P} (hsb : sb.FG) (hsc : sc.FG)
Goal: (sb.prod sc).FG
-- Submodule.fg_pi
theorem fg_pi {ι : Type*} {M : ι → Type*} [Finite ι] [∀ i, AddCommMonoid (M i)]
    [∀ i, Module R (M i)] {p : ∀ i, Submodule R (M i)} (hsb : ∀ i, (p i).FG) :
    (Submodule.pi Set.univ p).FG 
Arguments: {R : Type u_1} [Semiring R] {ι : Type u_4} {M : ι → Type u_5} [Finite ι] [(i : ι) → AddCommMonoid (M i)] [(i : ι) → Module R (M i)] {p : (i : ι) → Submodule R (M i)} (hsb : ∀ (i : ι), (p i).FG)
Goal: (Submodule.pi Set.univ p).FG
-- Submodule.fg_of_fg_map_of_fg_inf_ker
theorem fg_of_fg_map_of_fg_inf_ker {R M P : Type*} [Ring R] [AddCommGroup M] [Module R M]
    [AddCommGroup P] [Module R P] (f : M →ₗ[R] P) {s : Submodule R M}
    (hs1 : (s.map f).FG)
    (hs2 : (s ⊓ LinearMap.ker f).FG) : s.FG 
Arguments: {R : Type u_4} {M : Type u_5} {P : Type u_6} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup P] [Module R P] (f : M →ₗ[R] P) {s : Submodule R M} (hs1 : (Submodule.map f s).FG) (hs2 : (s ⊓ LinearMap.ker f).FG)
Goal: s.FG
-- Submodule.fg_induction
theorem fg_induction (R M : Type*) [Semiring R] [AddCommMonoid M] [Module R M]
    (P : Submodule R M → Prop) (h₁ : ∀ x, P (Submodule.span R {x}))
    (h₂ : ∀ M₁ M₂, P M₁ → P M₂ → P (M₁ ⊔ M₂)) (N : Submodule R M) (hN : N.FG) : P N 
Arguments: (R : Type u_4) (M : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] (P : Submodule R M → Prop) (h₁ : ∀ (x : M), P (Submodule.span R {x})) (h₂ : ∀ (M₁ M₂ : Submodule R M), P M₁ → P M₂ → P (M₁ ⊔ M₂)) (N : Submodule R M) (hN : N.FG)
Goal: P N
-- Submodule.fg_ker_comp
theorem fg_ker_comp {R M N P : Type*} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup N]
    [Module R N] [AddCommGroup P] [Module R P] (f : M →ₗ[R] N) (g : N →ₗ[R] P)
    (hf1 : (LinearMap.ker f).FG) (hf2 : (LinearMap.ker g).FG)
    (hsur : Function.Surjective f) : (g.comp f).ker.FG 
Arguments: {R : Type u_4} {M : Type u_5} {N : Type u_6} {P : Type u_7} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] [AddCommGroup P] [Module R P] (f : M →ₗ[R] N) (g : N →ₗ[R] P) (hf1 : (LinearMap.ker f).FG) (hf2 : (LinearMap.ker g).FG) (hsur : Function.Surjective ⇑f)
Goal: (LinearMap.ker (g ∘ₗ f)).FG
-- Submodule.fg_restrictScalars
theorem fg_restrictScalars {R S M : Type*} [CommSemiring R] [Semiring S] [Algebra R S]
    [AddCommGroup M] [Module S M] [Module R M] [IsScalarTower R S M] (N : Submodule S M)
    (hfin : N.FG) (h : Function.Surjective (algebraMap R S)) :
    (Submodule.restrictScalars R N).FG 
Arguments: {R : Type u_4} {S : Type u_5} {M : Type u_6} [CommSemiring R] [Semiring S] [Algebra R S] [AddCommGroup M] [Module S M] [Module R M] [IsScalarTower R S M] (N : Submodule S M) (hfin : N.FG) (h : Function.Surjective ⇑(algebraMap R S))
Goal: (Submodule.restrictScalars R N).FG
-- Submodule.FG.stabilizes_of_iSup_eq
theorem FG.stabilizes_of_iSup_eq {M' : Submodule R M} (hM' : M'.FG) (N : ℕ →o Submodule R M)
    (H : iSup N = M') : ∃ n, M' = N n 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {M' : Submodule R M} (hM' : M'.FG) (N : ℕ →o Submodule R M) (H : iSup ⇑N = M')
Goal: ∃ n, M' = N n
-- Submodule.fg_iff_compact
theorem fg_iff_compact (s : Submodule R M) : s.FG ↔ CompleteLattice.IsCompactElement s 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] (s : Submodule R M)
Goal: s.FG ↔ CompleteLattice.IsCompactElement s
-- Submodule.exists_fg_le_eq_rTensor_inclusion
theorem exists_fg_le_eq_rTensor_inclusion {R M N : Type*} [CommRing R] [AddCommGroup M]
    [AddCommGroup N] [Module R M] [Module R N] {I : Submodule R N} (x : I ⊗ M) :
      ∃ (J : Submodule R N) (_ : J.FG) (hle : J ≤ I) (y : J ⊗ M),
        x = rTensor M (J.inclusion hle) y 
Arguments: {R : Type u_4} {M : Type u_5} {N : Type u_6} [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] {I : Submodule R N} (x : TensorProduct R (↥I) M)
Goal: ∃ J, ∃ (_ : J.FG) (hle : J ≤ I), ∃ y, x = (LinearMap.rTensor M (Submodule.inclusion hle)) y
-- Submodule.FG.map₂
theorem FG.map₂ (f : M →ₗ[R] N →ₗ[R] P) {p : Submodule R M} {q : Submodule R N} (hp : p.FG)
    (hq : q.FG) : (map₂ f p q).FG 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} {P : Type u_4} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R N] [Module R P] (f : M →ₗ[R] N →ₗ[R] P) {p : Submodule R M} {q : Submodule R N} (hp : p.FG) (hq : q.FG)
Goal: (Submodule.map₂ f p q).FG
-- Submodule.FG.mul
theorem FG.mul (hm : M.FG) (hn : N.FG) : (M * N).FG 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] {M N : Submodule R A} (hm : M.FG) (hn : N.FG)
Goal: (M * N).FG
-- Submodule.FG.pow
theorem FG.pow (h : M.FG) (n : ℕ) : (M ^ n).FG 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] {M : Submodule R A} (h : M.FG) (n : ℕ)
Goal: (M ^ n).FG
-- Ideal.FG.map
theorem FG.map {R S : Type*} [Semiring R] [Semiring S] {I : Ideal R} (h : I.FG) (f : R →+* S) :
    (I.map f).FG 
Arguments: {R : Type u_3} {S : Type u_4} [Semiring R] [Semiring S] {I : Ideal R} (h : I.FG) (f : R →+* S)
Goal: (Ideal.map f I).FG
-- Ideal.fg_ker_comp
theorem fg_ker_comp {R S A : Type*} [CommRing R] [CommRing S] [CommRing A] (f : R →+* S)
    (g : S →+* A) (hf : f.ker.FG) (hg : g.ker.FG) (hsur : Function.Surjective f) :
    (g.comp f).ker.FG 
Arguments: {R : Type u_3} {S : Type u_4} {A : Type u_5} [CommRing R] [CommRing S] [CommRing A] (f : R →+* S) (g : S →+* A) (hf : (RingHom.ker f).FG) (hg : (RingHom.ker g).FG) (hsur : Function.Surjective ⇑f)
Goal: (RingHom.ker (g.comp f)).FG
-- Ideal.exists_radical_pow_le_of_fg
theorem exists_radical_pow_le_of_fg {R : Type*} [CommSemiring R] (I : Ideal R) (h : I.radical.FG) :
    ∃ n : ℕ, I.radical ^ n ≤ I 
Arguments: {R : Type u_3} [CommSemiring R] (I : Ideal R) (h : I.radical.FG)
Goal: ∃ n, I.radical ^ n ≤ I
-- Module.Finite.out
class Module.Finite [Semiring R] [AddCommMonoid M] [Module R M] : Prop where
  out : (⊤ : Submodule R M).FG
Arguments: {R : Type u_1} {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] [self : Module.Finite R M]
Goal: ⊤.FG
-- Module.finite_def
theorem finite_def {R M} [Semiring R] [AddCommMonoid M] [Module R M] :
    Finite R M ↔ (⊤ : Submodule R M).FG 
Arguments: {R : Type u_6} {M : Type u_7} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: Module.Finite R M ↔ ⊤.FG
-- Module.Finite.iff_addMonoid_fg
theorem iff_addMonoid_fg {M : Type*} [AddCommMonoid M] : Module.Finite ℕ M ↔ AddMonoid.FG M 
Arguments: {M : Type u_6} [AddCommMonoid M]
Goal: Module.Finite ℕ M ↔ AddMonoid.FG M
-- Module.Finite.iff_addGroup_fg
theorem iff_addGroup_fg {G : Type*} [AddCommGroup G] : Module.Finite ℤ G ↔ AddGroup.FG G 
Arguments: {G : Type u_6} [AddCommGroup G]
Goal: Module.Finite ℤ G ↔ AddGroup.FG G
-- Module.Finite.exists_fin
theorem exists_fin [Finite R M] : ∃ (n : ℕ) (s : Fin n → M), Submodule.span R (range s) = ⊤ 
Arguments: {R : Type u_1} {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] [Module.Finite R M]
Goal: ∃ n s, Submodule.span R (Set.range s) = ⊤
-- Module.Finite.exists_fin'
lemma exists_fin' [Finite R M] : ∃ (n : ℕ) (f : (Fin n → R) →ₗ[R] M), Surjective f 
Arguments: (R : Type u_1) (M : Type u_4) [Semiring R] [AddCommMonoid M] [Module R M] [Module.Finite R M]
Goal: ∃ n f, Function.Surjective ⇑f
-- Module.Finite.of_surjective
theorem of_surjective [hM : Finite R M] (f : M →ₗ[R] N) (hf : Surjective f) : Finite R N 
Arguments: {R : Type u_1} {M : Type u_4} {N : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [hM : Module.Finite R M] (f : M →ₗ[R] N) (hf : Function.Surjective ⇑f)
Goal: Module.Finite R N
-- Module.Finite.of_restrictScalars_finite
theorem of_restrictScalars_finite (R A M : Type*) [CommSemiring R] [Semiring A] [AddCommMonoid M]
    [Module R M] [Module A M] [Algebra R A] [IsScalarTower R A M] [hM : Finite R M] :
    Finite A M 
Arguments: (R : Type u_6) (A : Type u_7) (M : Type u_8) [CommSemiring R] [Semiring A] [AddCommMonoid M] [Module R M] [Module A M] [Algebra R A] [IsScalarTower R A M] [hM : Module.Finite R M]
Goal: Module.Finite A M
-- Module.Finite.equiv
theorem equiv [Finite R M] (e : M ≃ₗ[R] N) : Finite R N 
Arguments: {R : Type u_1} {M : Type u_4} {N : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [Module.Finite R M] (e : M ≃ₗ[R] N)
Goal: Module.Finite R N
-- Module.Finite.equiv_iff
theorem equiv_iff (e : M ≃ₗ[R] N) : Finite R M ↔ Finite R N 
Arguments: {R : Type u_1} {M : Type u_4} {N : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] (e : M ≃ₗ[R] N)
Goal: Module.Finite R M ↔ Module.Finite R N
-- Module.Finite.iff_fg
theorem iff_fg {N : Submodule R M} : Module.Finite R N ↔ N.FG 
Arguments: {R : Type u_1} {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M}
Goal: Module.Finite R ↥N ↔ N.FG
-- Module.Finite.span_of_finite
theorem span_of_finite {A : Set M} (hA : Set.Finite A) :
    Module.Finite R (Submodule.span R A) 
Arguments: (R : Type u_1) {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] {A : Set M} (hA : A.Finite)
Goal: Module.Finite R ↥(Submodule.span R A)
-- Module.Finite.Module.End.isNilpotent_iff_of_finite
theorem Module.End.isNilpotent_iff_of_finite {R M : Type*} [CommSemiring R] [AddCommMonoid M]
    [Module R M] [Module.Finite R M] {f : End R M} :
    IsNilpotent f ↔ ∀ m : M, ∃ n : ℕ, (f ^ n) m = 0 
Arguments: {R : Type u_6} {M : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [Module.Finite R M] {f : Module.End R M}
Goal: IsNilpotent f ↔ ∀ (m : M), ∃ n, (f ^ n) m = 0
-- Module.Finite.trans
theorem trans {R : Type*} (A M : Type*) [Semiring R] [Semiring A] [Module R A]
    [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] :
    ∀ [Finite R A] [Finite A M], Finite R M
  
Arguments: {R : Type u_6} (A : Type u_7) (M : Type u_8) [Semiring R] [Semiring A] [Module R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [Module.Finite R A] [Module.Finite A M]
Goal: Module.Finite R M
-- Module.Finite.of_equiv_equiv
lemma of_equiv_equiv {A₁ B₁ A₂ B₂ : Type*} [CommRing A₁] [CommRing B₁]
    [CommRing A₂] [CommRing B₂] [Algebra A₁ B₁] [Algebra A₂ B₂] (e₁ : A₁ ≃+* A₂) (e₂ : B₁ ≃+* B₂)
    (he : RingHom.comp (algebraMap A₂ B₂) ↑e₁ = RingHom.comp ↑e₂ (algebraMap A₁ B₁))
    [Module.Finite A₁ B₁] : Module.Finite A₂ B₂ 
Arguments: {A₁ : Type u_6} {B₁ : Type u_7} {A₂ : Type u_8} {B₂ : Type u_9} [CommRing A₁] [CommRing B₁] [CommRing A₂] [CommRing B₂] [Algebra A₁ B₁] [Algebra A₂ B₂] (e₁ : A₁ ≃+* A₂) (e₂ : B₁ ≃+* B₂) (he : (algebraMap A₂ B₂).comp ↑e₁ = (↑e₂).comp (algebraMap A₁ B₁)) [Module.Finite A₁ B₁]
Goal: Module.Finite A₂ B₂