ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Submodule.nontrivial_iff_ne_bot
theorem nontrivial_iff_ne_bot : Nontrivial p ↔ p ≠ ⊥ 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {p : Submodule R M}
Goal: Nontrivial ↥p ↔ p ≠ ⊥
-- Submodule.top_coe
@[simp]
theorem top_coe : ((⊤ : Submodule R M) : Set M) = Set.univ 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: ↑⊤ = Set.univ
-- Submodule.top_toAddSubmonoid
@[simp]
theorem top_toAddSubmonoid : (⊤ : Submodule R M).toAddSubmonoid = ⊤ 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: ⊤.toAddSubmonoid = ⊤
-- Submodule.top_toAddSubgroup
@[simp]
lemma top_toAddSubgroup {R M} [Ring R] [AddCommGroup M] [Module R M] :
    (⊤ : Submodule R M).toAddSubgroup = ⊤ 
Arguments: {R : Type u_4} {M : Type u_5} [Ring R] [AddCommGroup M] [Module R M]
Goal: ⊤.toAddSubgroup = ⊤
-- Submodule.mem_top
@[simp]
theorem mem_top {x : M} : x ∈ (⊤ : Submodule R M) 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {x : M}
Goal: x ∈ ⊤
-- Submodule.eq_top_iff'
theorem eq_top_iff' {p : Submodule R M} : p = ⊤ ↔ ∀ x, x ∈ p 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {p : Submodule R M}
Goal: p = ⊤ ↔ ∀ (x : M), x ∈ p
-- Submodule.topEquiv_symm_apply_coe
@[simps]
def topEquiv : (⊤ : Submodule R M) ≃ₗ[R] M 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (x : M)
Goal: ↑(Submodule.topEquiv.symm x) = x
-- Submodule.topEquiv_apply
@[simps]
def topEquiv : (⊤ : Submodule R M) ≃ₗ[R] M 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (x : ↥⊤)
Goal: Submodule.topEquiv x = ↑x
-- _private.Mathlib.Algebra.Module.Submodule.Lattice.0.Submodule.sInf_le'
private theorem sInf_le' {S : Set (Submodule R M)} {p} : p ∈ S → sInf S ≤ p 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {S : Set (Submodule R M)} {p : Submodule R M}
Goal: p ∈ S → sInf S ≤ p
-- _private.Mathlib.Algebra.Module.Submodule.Lattice.0.Submodule.le_sInf'
private theorem le_sInf' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) → p ≤ sInf S 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {S : Set (Submodule R M)} {p : Submodule R M}
Goal: (∀ q ∈ S, p ≤ q) → p ≤ sInf S
-- Submodule.inf_coe
@[simp]
theorem inf_coe : ↑(p ⊓ q) = (p ∩ q : Set M) 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {p q : Submodule R M}
Goal: ↑(p ⊓ q) = ↑p ∩ ↑q
-- Submodule.mem_inf
@[simp]
theorem mem_inf {p q : Submodule R M} {x : M} : x ∈ p ⊓ q ↔ x ∈ p ∧ x ∈ q 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {p q : Submodule R M} {x : M}
Goal: x ∈ p ⊓ q ↔ x ∈ p ∧ x ∈ q
-- Submodule.sInf_coe
@[simp]
theorem sInf_coe (P : Set (Submodule R M)) : (↑(sInf P) : Set M) = ⋂ p ∈ P, ↑p 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (P : Set (Submodule R M))
Goal: ↑(sInf P) = ⋂ p ∈ P, ↑p
-- Submodule.finset_inf_coe
@[simp]
theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
    (↑(s.inf p) : Set M) = ⋂ i ∈ s, ↑(p i) 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Type u_4} (s : Finset ι) (p : ι → Submodule R M)
Goal: ↑(s.inf p) = ⋂ i ∈ s, ↑(p i)
-- Submodule.iInf_coe
@[simp]
theorem iInf_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) = ⋂ i, ↑(p i) 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Sort u_4} (p : ι → Submodule R M)
Goal: ↑(⨅ i, p i) = ⋂ i, ↑(p i)
-- Submodule.mem_sInf
@[simp]
theorem mem_sInf {S : Set (Submodule R M)} {x : M} : x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {S : Set (Submodule R M)} {x : M}
Goal: x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p
-- Submodule.mem_iInf
@[simp]
theorem mem_iInf {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔ ∀ i, x ∈ p i 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Sort u_4} (p : ι → Submodule R M) {x : M}
Goal: x ∈ ⨅ i, p i ↔ ∀ (i : ι), x ∈ p i
-- Submodule.mem_finset_inf
@[simp]
theorem mem_finset_inf {ι} {s : Finset ι} {p : ι → Submodule R M} {x : M} :
    x ∈ s.inf p ↔ ∀ i ∈ s, x ∈ p i 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Type u_4} {s : Finset ι} {p : ι → Submodule R M} {x : M}
Goal: x ∈ s.inf p ↔ ∀ i ∈ s, x ∈ p i
-- Submodule.mem_sup_left
theorem mem_sup_left {S T : Submodule R M} : ∀ {x : M}, x ∈ S → x ∈ S ⊔ T 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {S T : Submodule R M} {x : M}
Goal: x ∈ S → x ∈ S ⊔ T
-- Submodule.mem_sup_right
theorem mem_sup_right {S T : Submodule R M} : ∀ {x : M}, x ∈ T → x ∈ S ⊔ T 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {S T : Submodule R M} {x : M}
Goal: x ∈ T → x ∈ S ⊔ T
-- Submodule.add_mem_sup
theorem add_mem_sup {S T : Submodule R M} {s t : M} (hs : s ∈ S) (ht : t ∈ T) : s + t ∈ S ⊔ T 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {S T : Submodule R M} {s t : M} (hs : s ∈ S) (ht : t ∈ T)
Goal: s + t ∈ S ⊔ T
-- Submodule.sub_mem_sup
theorem sub_mem_sup {R' M' : Type*} [Ring R'] [AddCommGroup M'] [Module R' M']
    {S T : Submodule R' M'} {s t : M'} (hs : s ∈ S) (ht : t ∈ T) : s - t ∈ S ⊔ T 
Arguments: {R' : Type u_4} {M' : Type u_5} [Ring R'] [AddCommGroup M'] [Module R' M'] {S T : Submodule R' M'} {s t : M'} (hs : s ∈ S) (ht : t ∈ T)
Goal: s - t ∈ S ⊔ T
-- Submodule.mem_iSup_of_mem
theorem mem_iSup_of_mem {ι : Sort*} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
    b ∈ ⨆ i, p i 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Sort u_4} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i)
Goal: b ∈ ⨆ i, p i
-- Submodule.sum_mem_iSup
theorem sum_mem_iSup {ι : Type*} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
    (h : ∀ i, f i ∈ p i) : (∑ i, f i) ∈ ⨆ i, p i 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Type u_4} [Fintype ι] {f : ι → M} {p : ι → Submodule R M} (h : ∀ (i : ι), f i ∈ p i)
Goal: ∑ i : ι, f i ∈ ⨆ i, p i
-- Submodule.sum_mem_biSup
theorem sum_mem_biSup {ι : Type*} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
    (h : ∀ i ∈ s, f i ∈ p i) : (∑ i ∈ s, f i) ∈ ⨆ i ∈ s, p i 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Type u_4} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M} (h : ∀ i ∈ s, f i ∈ p i)
Goal: ∑ i ∈ s, f i ∈ ⨆ i ∈ s, p i
-- Submodule.mem_sSup_of_mem
theorem mem_sSup_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
    ∀ {x : M}, x ∈ s → x ∈ sSup S 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) {x : M}
Goal: x ∈ s → x ∈ sSup S
-- Submodule.toAddSubmonoid_sSup
@[simp]
theorem toAddSubmonoid_sSup (s : Set (Submodule R M)) :
    (sSup s).toAddSubmonoid = sSup (toAddSubmonoid '' s) 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set (Submodule R M))
Goal: (sSup s).toAddSubmonoid = sSup (Submodule.toAddSubmonoid '' s)
-- Submodule.subsingleton_iff
@[simp]
theorem subsingleton_iff : Subsingleton (Submodule R M) ↔ Subsingleton M 
Arguments: (R : Type u_1) {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: Subsingleton (Submodule R M) ↔ Subsingleton M
-- Submodule.nontrivial_iff
@[simp]
theorem nontrivial_iff : Nontrivial (Submodule R M) ↔ Nontrivial M 
Arguments: (R : Type u_1) {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: Nontrivial (Submodule R M) ↔ Nontrivial M
-- Submodule.disjoint_def
theorem disjoint_def {p p' : Submodule R M} : Disjoint p p' ↔ ∀ x ∈ p, x ∈ p' → x = (0 : M) 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {p p' : Submodule R M}
Goal: Disjoint p p' ↔ ∀ x ∈ p, x ∈ p' → x = 0
-- Submodule.disjoint_def'
theorem disjoint_def' {p p' : Submodule R M} :
    Disjoint p p' ↔ ∀ x ∈ p, ∀ y ∈ p', x = y → x = (0 : M) 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {p p' : Submodule R M}
Goal: Disjoint p p' ↔ ∀ x ∈ p, ∀ y ∈ p', x = y → x = 0
-- Submodule.eq_zero_of_coe_mem_of_disjoint
theorem eq_zero_of_coe_mem_of_disjoint (hpq : Disjoint p q) {a : p} (ha : (a : M) ∈ q) : a = 0 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {p q : Submodule R M} (hpq : Disjoint p q) {a : ↥p} (ha : ↑a ∈ q)
Goal: a = 0
-- Submodule.mem_right_iff_eq_zero_of_disjoint
theorem mem_right_iff_eq_zero_of_disjoint {p p' : Submodule R M} (h : Disjoint p p') {x : p} :
    (x : M) ∈ p' ↔ x = 0 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {p p' : Submodule R M} (h : Disjoint p p') {x : ↥p}
Goal: ↑x ∈ p' ↔ x = 0
-- Submodule.mem_left_iff_eq_zero_of_disjoint
theorem mem_left_iff_eq_zero_of_disjoint {p p' : Submodule R M} (h : Disjoint p p') {x : p'} :
    (x : M) ∈ p ↔ x = 0 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {p p' : Submodule R M} (h : Disjoint p p') {x : ↥p'}
Goal: ↑x ∈ p ↔ x = 0
-- AddSubmonoid.toNatSubmodule_symm
@[simp]
theorem AddSubmonoid.toNatSubmodule_symm :
    ⇑(AddSubmonoid.toNatSubmodule.symm : _ ≃o AddSubmonoid M) = Submodule.toAddSubmonoid 
Arguments: {M : Type u_3} [AddCommMonoid M]
Goal: ⇑AddSubmonoid.toNatSubmodule.symm = Submodule.toAddSubmonoid
-- AddSubmonoid.coe_toNatSubmodule
@[simp]
theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) :
    (AddSubmonoid.toNatSubmodule S : Set M) = S 
Arguments: {M : Type u_3} [AddCommMonoid M] (S : AddSubmonoid M)
Goal: ↑(AddSubmonoid.toNatSubmodule S) = ↑S
-- AddSubmonoid.toNatSubmodule_toAddSubmonoid
@[simp]
theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
    S.toNatSubmodule.toAddSubmonoid = S 
Arguments: {M : Type u_3} [AddCommMonoid M] (S : AddSubmonoid M)
Goal: (AddSubmonoid.toNatSubmodule S).toAddSubmonoid = S
-- Submodule.toAddSubmonoid_toNatSubmodule
@[simp]
theorem Submodule.toAddSubmonoid_toNatSubmodule (S : Submodule ℕ M) :
    AddSubmonoid.toNatSubmodule S.toAddSubmonoid = S 
Arguments: {M : Type u_3} [AddCommMonoid M] (S : Submodule ℕ M)
Goal: AddSubmonoid.toNatSubmodule S.toAddSubmonoid = S
-- AddSubgroup.toIntSubmodule_symm
@[simp]
theorem AddSubgroup.toIntSubmodule_symm :
    ⇑(AddSubgroup.toIntSubmodule.symm : _ ≃o AddSubgroup M) = Submodule.toAddSubgroup 
Arguments: {M : Type u_3} [AddCommGroup M]
Goal: ⇑AddSubgroup.toIntSubmodule.symm = Submodule.toAddSubgroup
-- AddSubgroup.coe_toIntSubmodule
@[simp]
theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) :
    (AddSubgroup.toIntSubmodule S : Set M) = S 
Arguments: {M : Type u_3} [AddCommGroup M] (S : AddSubgroup M)
Goal: ↑(AddSubgroup.toIntSubmodule S) = ↑S
-- AddSubgroup.toIntSubmodule_toAddSubgroup
@[simp]
theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
    S.toIntSubmodule.toAddSubgroup = S 
Arguments: {M : Type u_3} [AddCommGroup M] (S : AddSubgroup M)
Goal: (AddSubgroup.toIntSubmodule S).toAddSubgroup = S
-- Submodule.toAddSubgroup_toIntSubmodule
@[simp]
theorem Submodule.toAddSubgroup_toIntSubmodule (S : Submodule ℤ M) :
    AddSubgroup.toIntSubmodule S.toAddSubgroup = S 
Arguments: {M : Type u_3} [AddCommGroup M] (S : Submodule ℤ M)
Goal: AddSubgroup.toIntSubmodule S.toAddSubgroup = S
-- LinearMap.range_coe
theorem range_coe [RingHomSurjective τ₁₂] (f : F) : (range f : Set M₂) = Set.range f 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] (f : F)
Goal: ↑(LinearMap.range f) = Set.range ⇑f
-- LinearMap.range_toAddSubmonoid
theorem range_toAddSubmonoid [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂) :
    f.range.toAddSubmonoid = AddMonoidHom.mrange f 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂)
Goal: (LinearMap.range f).toAddSubmonoid = AddMonoidHom.mrange f
-- LinearMap.mem_range
@[simp]
theorem mem_range [RingHomSurjective τ₁₂] {f : F} {x} : x ∈ range f ↔ ∃ y, f y = x 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] {f : F} {x : M₂}
Goal: x ∈ LinearMap.range f ↔ ∃ y, f y = x
-- LinearMap.range_eq_map
theorem range_eq_map [RingHomSurjective τ₁₂] (f : F) : range f = map f ⊤ 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] (f : F)
Goal: LinearMap.range f = Submodule.map f ⊤
-- LinearMap.mem_range_self
theorem mem_range_self [RingHomSurjective τ₁₂] (f : F) (x : M) : f x ∈ range f 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] (f : F) (x : M)
Goal: f x ∈ LinearMap.range f
-- LinearMap.range_id
@[simp]
theorem range_id : range (LinearMap.id : M →ₗ[R] M) = ⊤ 
Arguments: {R : Type u_1} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: LinearMap.range LinearMap.id = ⊤
-- LinearMap.range_comp
theorem range_comp [RingHomSurjective τ₁₂] [RingHomSurjective τ₂₃] [RingHomSurjective τ₁₃]
    (f : M →ₛₗ[τ₁₂] M₂) (g : M₂ →ₛₗ[τ₂₃] M₃) : range (g.comp f : M →ₛₗ[τ₁₃] M₃) = map g (range f) 
Arguments: {R : Type u_1} {R₂ : Type u_2} {R₃ : Type u_3} {M : Type u_6} {M₂ : Type u_7} {M₃ : Type u_8} [Semiring R] [Semiring R₂] [Semiring R₃] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [Module R M] [Module R₂ M₂] [Module R₃ M₃] {τ₁₂ : R →+* R₂} {τ₂₃ : R₂ →+* R₃} {τ₁₃ : R →+* R₃} [RingHomCompTriple τ₁₂ τ₂₃ τ₁₃] [RingHomSurjective τ₁₂] [RingHomSurjective τ₂₃] [RingHomSurjective τ₁₃] (f : M →ₛₗ[τ₁₂] M₂) (g : M₂ →ₛₗ[τ₂₃] M₃)
Goal: LinearMap.range (g.comp f) = Submodule.map g (LinearMap.range f)
-- LinearMap.range_comp_le_range
theorem range_comp_le_range [RingHomSurjective τ₂₃] [RingHomSurjective τ₁₃] (f : M →ₛₗ[τ₁₂] M₂)
    (g : M₂ →ₛₗ[τ₂₃] M₃) : range (g.comp f : M →ₛₗ[τ₁₃] M₃) ≤ range g 
Arguments: {R : Type u_1} {R₂ : Type u_2} {R₃ : Type u_3} {M : Type u_6} {M₂ : Type u_7} {M₃ : Type u_8} [Semiring R] [Semiring R₂] [Semiring R₃] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [Module R M] [Module R₂ M₂] [Module R₃ M₃] {τ₁₂ : R →+* R₂} {τ₂₃ : R₂ →+* R₃} {τ₁₃ : R →+* R₃} [RingHomCompTriple τ₁₂ τ₂₃ τ₁₃] [RingHomSurjective τ₂₃] [RingHomSurjective τ₁₃] (f : M →ₛₗ[τ₁₂] M₂) (g : M₂ →ₛₗ[τ₂₃] M₃)
Goal: LinearMap.range (g.comp f) ≤ LinearMap.range g
-- LinearMap.range_eq_top
theorem range_eq_top [RingHomSurjective τ₁₂] {f : F} : range f = ⊤ ↔ Surjective f 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] {f : F}
Goal: LinearMap.range f = ⊤ ↔ Function.Surjective ⇑f
-- LinearMap.range_le_iff_comap
theorem range_le_iff_comap [RingHomSurjective τ₁₂] {f : F} {p : Submodule R₂ M₂} :
    range f ≤ p ↔ comap f p = ⊤ 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] {f : F} {p : Submodule R₂ M₂}
Goal: LinearMap.range f ≤ p ↔ Submodule.comap f p = ⊤
-- LinearMap.map_le_range
theorem map_le_range [RingHomSurjective τ₁₂] {f : F} {p : Submodule R M} : map f p ≤ range f 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] {f : F} {p : Submodule R M}
Goal: Submodule.map f p ≤ LinearMap.range f
-- LinearMap.range_neg
@[simp]
theorem range_neg {R : Type*} {R₂ : Type*} {M : Type*} {M₂ : Type*} [Semiring R] [Ring R₂]
    [AddCommMonoid M] [AddCommGroup M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂}
    [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂) : LinearMap.range (-f) = LinearMap.range f 
Arguments: {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [Semiring R] [Ring R₂] [AddCommMonoid M] [AddCommGroup M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂)
Goal: LinearMap.range (-f) = LinearMap.range f
-- LinearMap.range_domRestrict_le_range
lemma range_domRestrict_le_range [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂) (S : Submodule R M) :
    LinearMap.range (f.domRestrict S) ≤ LinearMap.range f 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂) (S : Submodule R M)
Goal: LinearMap.range (f.domRestrict S) ≤ LinearMap.range f
-- AddMonoidHom.coe_toIntLinearMap_range
@[simp]
theorem _root_.AddMonoidHom.coe_toIntLinearMap_range {M M₂ : Type*} [AddCommGroup M]
    [AddCommGroup M₂] (f : M →+ M₂) :
    LinearMap.range f.toIntLinearMap = AddSubgroup.toIntSubmodule f.range 
Arguments: {M : Type u_12} {M₂ : Type u_13} [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂)
Goal: LinearMap.range f.toIntLinearMap = AddSubgroup.toIntSubmodule f.range
-- Submodule.map_comap_eq_of_le
lemma _root_.Submodule.map_comap_eq_of_le [RingHomSurjective τ₁₂] {f : F} {p : Submodule R₂ M₂}
    (h : p ≤ LinearMap.range f) : (p.comap f).map f = p 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] {f : F} {p : Submodule R₂ M₂} (h : p ≤ LinearMap.range f)
Goal: Submodule.map f (Submodule.comap f p) = p
-- LinearMap.iterateRange_coe
@[simps]
def iterateRange (f : M →ₗ[R] M) : ℕ →o (Submodule R M)ᵒᵈ 
Arguments: {R : Type u_1} {M : Type u_6} [Semiring R] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] M) (n : ℕ)
Goal: f.iterateRange n = LinearMap.range (f ^ n)
-- LinearMap.range_codRestrict
theorem range_codRestrict {τ₂₁ : R₂ →+* R} [RingHomSurjective τ₂₁] (p : Submodule R M)
    (f : M₂ →ₛₗ[τ₂₁] M) (hf) :
    range (codRestrict p f hf) = comap p.subtype (LinearMap.range f) 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₂₁ : R₂ →+* R} [RingHomSurjective τ₂₁] (p : Submodule R M) (f : M₂ →ₛₗ[τ₂₁] M) (hf : ∀ (c : M₂), f c ∈ p)
Goal: LinearMap.range (LinearMap.codRestrict p f hf) = Submodule.comap p.subtype (LinearMap.range f)
-- Submodule.map_comap_eq
theorem _root_.Submodule.map_comap_eq [RingHomSurjective τ₁₂] (f : F) (q : Submodule R₂ M₂) :
    map f (comap f q) = range f ⊓ q 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] (f : F) (q : Submodule R₂ M₂)
Goal: Submodule.map f (Submodule.comap f q) = LinearMap.range f ⊓ q
-- Submodule.map_comap_eq_self
theorem _root_.Submodule.map_comap_eq_self [RingHomSurjective τ₁₂] {f : F} {q : Submodule R₂ M₂}
    (h : q ≤ range f) : map f (comap f q) = q 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] {f : F} {q : Submodule R₂ M₂} (h : q ≤ LinearMap.range f)
Goal: Submodule.map f (Submodule.comap f q) = q
-- LinearMap.range_zero
@[simp]
theorem range_zero [RingHomSurjective τ₁₂] : range (0 : M →ₛₗ[τ₁₂] M₂) = ⊥ 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂]
Goal: LinearMap.range 0 = ⊥
-- LinearMap.range_le_bot_iff
theorem range_le_bot_iff (f : M →ₛₗ[τ₁₂] M₂) : range f ≤ ⊥ ↔ f = 0 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂)
Goal: LinearMap.range f ≤ ⊥ ↔ f = 0
-- LinearMap.range_eq_bot
theorem range_eq_bot {f : M →ₛₗ[τ₁₂] M₂} : range f = ⊥ ↔ f = 0 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] {f : M →ₛₗ[τ₁₂] M₂}
Goal: LinearMap.range f = ⊥ ↔ f = 0
-- LinearMap.range_le_ker_iff
theorem range_le_ker_iff {f : M →ₛₗ[τ₁₂] M₂} {g : M₂ →ₛₗ[τ₂₃] M₃} :
    range f ≤ ker g ↔ (g.comp f : M →ₛₗ[τ₁₃] M₃) = 0 
Arguments: {R : Type u_1} {R₂ : Type u_2} {R₃ : Type u_3} {M : Type u_6} {M₂ : Type u_7} {M₃ : Type u_8} [Semiring R] [Semiring R₂] [Semiring R₃] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [Module R M] [Module R₂ M₂] [Module R₃ M₃] {τ₁₂ : R →+* R₂} {τ₂₃ : R₂ →+* R₃} {τ₁₃ : R →+* R₃} [RingHomCompTriple τ₁₂ τ₂₃ τ₁₃] [RingHomSurjective τ₁₂] {f : M →ₛₗ[τ₁₂] M₂} {g : M₂ →ₛₗ[τ₂₃] M₃}
Goal: LinearMap.range f ≤ LinearMap.ker g ↔ g.comp f = 0
-- LinearMap.comap_le_comap_iff
theorem comap_le_comap_iff {f : F} (hf : range f = ⊤) {p p'} : comap f p ≤ comap f p' ↔ p ≤ p' 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] {f : F} (hf : LinearMap.range f = ⊤) {p p' : Submodule R₂ M₂}
Goal: Submodule.comap f p ≤ Submodule.comap f p' ↔ p ≤ p'
-- LinearMap.comap_injective
theorem comap_injective {f : F} (hf : range f = ⊤) : Injective (comap f) 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] [RingHomSurjective τ₁₂] {f : F} (hf : LinearMap.range f = ⊤)
Goal: Function.Injective (Submodule.comap f)
-- LinearMap.range_toAddSubgroup
theorem range_toAddSubgroup [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂) :
    (range f).toAddSubgroup = f.toAddMonoidHom.range 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Ring R] [Ring R₂] [AddCommGroup M] [AddCommGroup M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂)
Goal: (LinearMap.range f).toAddSubgroup = f.toAddMonoidHom.range
-- LinearMap.ker_le_iff
theorem ker_le_iff [RingHomSurjective τ₁₂] {p : Submodule R M} :
    ker f ≤ p ↔ ∃ y ∈ range f, f ⁻¹' {y} ⊆ p 
Arguments: {R : Type u_1} {R₂ : Type u_2} {M : Type u_6} {M₂ : Type u_7} [Ring R] [Ring R₂] [AddCommGroup M] [AddCommGroup M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} {F : Type u_11} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂] {f : F} [RingHomSurjective τ₁₂] {p : Submodule R M}
Goal: LinearMap.ker f ≤ p ↔ ∃ y ∈ LinearMap.range f, ⇑f ⁻¹' {y} ⊆ ↑p