ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- MvPolynomial.bind₂_comp_bind₂
theorem bind₂_comp_bind₂ (f : R →+* MvPolynomial σ S) (g : S →+* MvPolynomial σ T) :
    (bind₂ g).comp (bind₂ f) = bind₂ ((bind₂ g).comp f) 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} {T : Type u_5} [CommSemiring R] [CommSemiring S] [CommSemiring T] (f : R →+* MvPolynomial σ S) (g : S →+* MvPolynomial σ T)
Goal: (MvPolynomial.bind₂ g).comp (MvPolynomial.bind₂ f) = MvPolynomial.bind₂ ((MvPolynomial.bind₂ g).comp f)
-- MvPolynomial.bind₂_bind₂
theorem bind₂_bind₂ (f : R →+* MvPolynomial σ S) (g : S →+* MvPolynomial σ T)
    (φ : MvPolynomial σ R) : (bind₂ g) (bind₂ f φ) = bind₂ ((bind₂ g).comp f) φ 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} {T : Type u_5} [CommSemiring R] [CommSemiring S] [CommSemiring T] (f : R →+* MvPolynomial σ S) (g : S →+* MvPolynomial σ T) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.bind₂ g) ((MvPolynomial.bind₂ f) φ) = (MvPolynomial.bind₂ ((MvPolynomial.bind₂ g).comp f)) φ
-- MvPolynomial.rename_comp_bind₁
theorem rename_comp_bind₁ {υ : Type*} (f : σ → MvPolynomial τ R) (g : τ → υ) :
    (rename g).comp (bind₁ f) = bind₁ fun i => rename g <| f i 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] {υ : Type u_6} (f : σ → MvPolynomial τ R) (g : τ → υ)
Goal: (MvPolynomial.rename g).comp (MvPolynomial.bind₁ f) = MvPolynomial.bind₁ fun i => (MvPolynomial.rename g) (f i)
-- MvPolynomial.rename_bind₁
theorem rename_bind₁ {υ : Type*} (f : σ → MvPolynomial τ R) (g : τ → υ) (φ : MvPolynomial σ R) :
    rename g (bind₁ f φ) = bind₁ (fun i => rename g <| f i) φ 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] {υ : Type u_6} (f : σ → MvPolynomial τ R) (g : τ → υ) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.rename g) ((MvPolynomial.bind₁ f) φ) = (MvPolynomial.bind₁ fun i => (MvPolynomial.rename g) (f i)) φ
-- MvPolynomial.map_bind₂
theorem map_bind₂ (f : R →+* MvPolynomial σ S) (g : S →+* T) (φ : MvPolynomial σ R) :
    map g (bind₂ f φ) = bind₂ ((map g).comp f) φ 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} {T : Type u_5} [CommSemiring R] [CommSemiring S] [CommSemiring T] (f : R →+* MvPolynomial σ S) (g : S →+* T) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.map g) ((MvPolynomial.bind₂ f) φ) = (MvPolynomial.bind₂ ((MvPolynomial.map g).comp f)) φ
-- MvPolynomial.bind₁_comp_rename
theorem bind₁_comp_rename {υ : Type*} (f : τ → MvPolynomial υ R) (g : σ → τ) :
    (bind₁ f).comp (rename g) = bind₁ (f ∘ g) 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] {υ : Type u_6} (f : τ → MvPolynomial υ R) (g : σ → τ)
Goal: (MvPolynomial.bind₁ f).comp (MvPolynomial.rename g) = MvPolynomial.bind₁ (f ∘ g)
-- MvPolynomial.bind₁_rename
theorem bind₁_rename {υ : Type*} (f : τ → MvPolynomial υ R) (g : σ → τ) (φ : MvPolynomial σ R) :
    bind₁ f (rename g φ) = bind₁ (f ∘ g) φ 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] {υ : Type u_6} (f : τ → MvPolynomial υ R) (g : σ → τ) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.bind₁ f) ((MvPolynomial.rename g) φ) = (MvPolynomial.bind₁ (f ∘ g)) φ
-- MvPolynomial.bind₂_map
theorem bind₂_map (f : S →+* MvPolynomial σ T) (g : R →+* S) (φ : MvPolynomial σ R) :
    bind₂ f (map g φ) = bind₂ (f.comp g) φ 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} {T : Type u_5} [CommSemiring R] [CommSemiring S] [CommSemiring T] (f : S →+* MvPolynomial σ T) (g : R →+* S) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.bind₂ f) ((MvPolynomial.map g) φ) = (MvPolynomial.bind₂ (f.comp g)) φ
-- MvPolynomial.map_comp_C
@[simp]
theorem map_comp_C (f : R →+* S) : (map f).comp (C : R →+* MvPolynomial σ R) = C.comp f 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R →+* S)
Goal: (MvPolynomial.map f).comp MvPolynomial.C = MvPolynomial.C.comp f
-- MvPolynomial.hom_bind₁
theorem hom_bind₁ (f : MvPolynomial τ R →+* S) (g : σ → MvPolynomial τ R) (φ : MvPolynomial σ R) :
    f (bind₁ g φ) = eval₂Hom (f.comp C) (fun i => f (g i)) φ 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : MvPolynomial τ R →+* S) (g : σ → MvPolynomial τ R) (φ : MvPolynomial σ R)
Goal: f ((MvPolynomial.bind₁ g) φ) = (MvPolynomial.eval₂Hom (f.comp MvPolynomial.C) fun i => f (g i)) φ
-- MvPolynomial.map_bind₁
theorem map_bind₁ (f : R →+* S) (g : σ → MvPolynomial τ R) (φ : MvPolynomial σ R) :
    map f (bind₁ g φ) = bind₁ (fun i : σ => (map f) (g i)) (map f φ) 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R →+* S) (g : σ → MvPolynomial τ R) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.map f) ((MvPolynomial.bind₁ g) φ) =
  (MvPolynomial.bind₁ fun i => (MvPolynomial.map f) (g i)) ((MvPolynomial.map f) φ)
-- MvPolynomial.eval₂Hom_comp_C
@[simp]
theorem eval₂Hom_comp_C (f : R →+* S) (g : σ → S) : (eval₂Hom f g).comp C = f 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R →+* S) (g : σ → S)
Goal: (MvPolynomial.eval₂Hom f g).comp MvPolynomial.C = f
-- MvPolynomial.eval₂Hom_bind₁
theorem eval₂Hom_bind₁ (f : R →+* S) (g : τ → S) (h : σ → MvPolynomial τ R) (φ : MvPolynomial σ R) :
    eval₂Hom f g (bind₁ h φ) = eval₂Hom f (fun i => eval₂Hom f g (h i)) φ 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R →+* S) (g : τ → S) (h : σ → MvPolynomial τ R) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.eval₂Hom f g) ((MvPolynomial.bind₁ h) φ) =
  (MvPolynomial.eval₂Hom f fun i => (MvPolynomial.eval₂Hom f g) (h i)) φ
-- MvPolynomial.aeval_bind₁
theorem aeval_bind₁ [Algebra R S] (f : τ → S) (g : σ → MvPolynomial τ R) (φ : MvPolynomial σ R) :
    aeval f (bind₁ g φ) = aeval (fun i => aeval f (g i)) φ 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] [Algebra R S] (f : τ → S) (g : σ → MvPolynomial τ R) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.aeval f) ((MvPolynomial.bind₁ g) φ) = (MvPolynomial.aeval fun i => (MvPolynomial.aeval f) (g i)) φ
-- MvPolynomial.aeval_comp_bind₁
theorem aeval_comp_bind₁ [Algebra R S] (f : τ → S) (g : σ → MvPolynomial τ R) :
    (aeval f).comp (bind₁ g) = aeval fun i => aeval f (g i) 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] [Algebra R S] (f : τ → S) (g : σ → MvPolynomial τ R)
Goal: (MvPolynomial.aeval f).comp (MvPolynomial.bind₁ g) = MvPolynomial.aeval fun i => (MvPolynomial.aeval f) (g i)
-- MvPolynomial.eval₂Hom_comp_bind₂
theorem eval₂Hom_comp_bind₂ (f : S →+* T) (g : σ → T) (h : R →+* MvPolynomial σ S) :
    (eval₂Hom f g).comp (bind₂ h) = eval₂Hom ((eval₂Hom f g).comp h) g 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} {T : Type u_5} [CommSemiring R] [CommSemiring S] [CommSemiring T] (f : S →+* T) (g : σ → T) (h : R →+* MvPolynomial σ S)
Goal: (MvPolynomial.eval₂Hom f g).comp (MvPolynomial.bind₂ h) = MvPolynomial.eval₂Hom ((MvPolynomial.eval₂Hom f g).comp h) g
-- MvPolynomial.eval₂Hom_bind₂
theorem eval₂Hom_bind₂ (f : S →+* T) (g : σ → T) (h : R →+* MvPolynomial σ S)
    (φ : MvPolynomial σ R) : eval₂Hom f g (bind₂ h φ) = eval₂Hom ((eval₂Hom f g).comp h) g φ 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} {T : Type u_5} [CommSemiring R] [CommSemiring S] [CommSemiring T] (f : S →+* T) (g : σ → T) (h : R →+* MvPolynomial σ S) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.eval₂Hom f g) ((MvPolynomial.bind₂ h) φ) =
  (MvPolynomial.eval₂Hom ((MvPolynomial.eval₂Hom f g).comp h) g) φ
-- MvPolynomial.aeval_bind₂
theorem aeval_bind₂ [Algebra S T] (f : σ → T) (g : R →+* MvPolynomial σ S) (φ : MvPolynomial σ R) :
    aeval f (bind₂ g φ) = eval₂Hom ((↑(aeval f : _ →ₐ[S] _) : _ →+* _).comp g) f φ 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} {T : Type u_5} [CommSemiring R] [CommSemiring S] [CommSemiring T] [Algebra S T] (f : σ → T) (g : R →+* MvPolynomial σ S) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.aeval f) ((MvPolynomial.bind₂ g) φ) = (MvPolynomial.eval₂Hom ((↑(MvPolynomial.aeval f)).comp g) f) φ
-- MvPolynomial.eval₂Hom_C_left
theorem eval₂Hom_C_left (f : σ → MvPolynomial τ R) : eval₂Hom C f = bind₁ f 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] (f : σ → MvPolynomial τ R)
Goal: MvPolynomial.eval₂Hom MvPolynomial.C f = ↑(MvPolynomial.bind₁ f)
-- MvPolynomial.bind₁_monomial
theorem bind₁_monomial (f : σ → MvPolynomial τ R) (d : σ →₀ ℕ) (r : R) :
    bind₁ f (monomial d r) = C r * ∏ i ∈ d.support, f i ^ d i 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] (f : σ → MvPolynomial τ R) (d : σ →₀ ℕ) (r : R)
Goal: (MvPolynomial.bind₁ f) ((MvPolynomial.monomial d) r) = MvPolynomial.C r * ∏ i ∈ d.support, f i ^ d i
-- MvPolynomial.bind₂_monomial
theorem bind₂_monomial (f : R →+* MvPolynomial σ S) (d : σ →₀ ℕ) (r : R) :
    bind₂ f (monomial d r) = f r * monomial d 1 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R →+* MvPolynomial σ S) (d : σ →₀ ℕ) (r : R)
Goal: (MvPolynomial.bind₂ f) ((MvPolynomial.monomial d) r) = f r * (MvPolynomial.monomial d) 1
-- MvPolynomial.bind₂_monomial_one
@[simp]
theorem bind₂_monomial_one (f : R →+* MvPolynomial σ S) (d : σ →₀ ℕ) :
    bind₂ f (monomial d 1) = monomial d 1 
Arguments: {σ : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R →+* MvPolynomial σ S) (d : σ →₀ ℕ)
Goal: (MvPolynomial.bind₂ f) ((MvPolynomial.monomial d) 1) = (MvPolynomial.monomial d) 1
-- MvPolynomial.vars_bind₁
theorem vars_bind₁ [DecidableEq τ] (f : σ → MvPolynomial τ R) (φ : MvPolynomial σ R) :
    (bind₁ f φ).vars ⊆ φ.vars.biUnion fun i => (f i).vars 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] [DecidableEq τ] (f : σ → MvPolynomial τ R) (φ : MvPolynomial σ R)
Goal: ((MvPolynomial.bind₁ f) φ).vars ⊆ φ.vars.biUnion fun i => (f i).vars
-- MvPolynomial.mem_vars_bind₁
theorem mem_vars_bind₁ (f : σ → MvPolynomial τ R) (φ : MvPolynomial σ R) {j : τ}
    (h : j ∈ (bind₁ f φ).vars) : ∃ i : σ, i ∈ φ.vars ∧ j ∈ (f i).vars 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] (f : σ → MvPolynomial τ R) (φ : MvPolynomial σ R) {j : τ} (h : j ∈ ((MvPolynomial.bind₁ f) φ).vars)
Goal: ∃ i ∈ φ.vars, j ∈ (f i).vars
-- Ideal.torsionOf_carrier
@[simps!]
def torsionOf (x : M) : Ideal R 
Arguments: (R : Type u_1) (M : Type u_2) [Semiring R] [AddCommMonoid M] [Module R M] (x : M)
Goal: ↑(Ideal.torsionOf R M x) = ⇑(LinearMap.toSpanSingleton R M x) ⁻¹' {0}
-- Ideal.torsionOf_zero
@[simp]
theorem torsionOf_zero : torsionOf R M (0 : M) = ⊤ 
Arguments: (R : Type u_1) (M : Type u_2) [Semiring R] [AddCommMonoid M] [Module R M]
Goal: Ideal.torsionOf R M 0 = ⊤
-- Ideal.mem_torsionOf_iff
@[simp]
theorem mem_torsionOf_iff (x : M) (a : R) : a ∈ torsionOf R M x ↔ a • x = 0 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] (x : M) (a : R)
Goal: a ∈ Ideal.torsionOf R M x ↔ a • x = 0
-- Ideal.torsionOf_eq_top_iff
@[simp]
theorem torsionOf_eq_top_iff (m : M) : torsionOf R M m = ⊤ ↔ m = 0 
Arguments: (R : Type u_1) {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] (m : M)
Goal: Ideal.torsionOf R M m = ⊤ ↔ m = 0
-- Ideal.torsionOf_eq_bot_iff_of_noZeroSMulDivisors
@[simp]
theorem torsionOf_eq_bot_iff_of_noZeroSMulDivisors [Nontrivial R] [NoZeroSMulDivisors R M] (m : M) :
    torsionOf R M m = ⊥ ↔ m ≠ 0 
Arguments: (R : Type u_1) {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [Nontrivial R] [NoZeroSMulDivisors R M] (m : M)
Goal: Ideal.torsionOf R M m = ⊥ ↔ m ≠ 0
-- Ideal.CompleteLattice.Independent.linear_independent'
theorem CompleteLattice.Independent.linear_independent' {ι R M : Type*} {v : ι → M} [Ring R]
    [AddCommGroup M] [Module R M] (hv : CompleteLattice.Independent fun i => R ∙ v i)
    (h_ne_zero : ∀ i, Ideal.torsionOf R M (v i) = ⊥) : LinearIndependent R v 
Arguments: {ι : Type u_3} {R : Type u_4} {M : Type u_5} {v : ι → M} [Ring R] [AddCommGroup M] [Module R M] (hv : CompleteLattice.Independent fun i => Submodule.span R {v i}) (h_ne_zero : ∀ (i : ι), Ideal.torsionOf R M (v i) = ⊥)
Goal: LinearIndependent R v
-- Ideal.quotTorsionOfEquivSpanSingleton_apply_mk
@[simp]
theorem quotTorsionOfEquivSpanSingleton_apply_mk (x : M) (a : R) :
    quotTorsionOfEquivSpanSingleton R M x (Submodule.Quotient.mk a) =
      a • ⟨x, Submodule.mem_span_singleton_self x⟩ 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (x : M) (a : R)
Goal: (Ideal.quotTorsionOfEquivSpanSingleton R M x) (Submodule.Quotient.mk a) = a • ⟨x, ⋯⟩
-- Submodule.torsionBy_carrier
@[simps!]
def torsionBy (a : R) : Submodule R M 
Arguments: (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R)
Goal: ↑(Submodule.torsionBy R M a) = ⇑(DistribMulAction.toLinearMap R M a) ⁻¹' {0}
-- Submodule.torsionBySet_carrier
@[simps!]
def torsionBySet (s : Set R) : Submodule R M 
Arguments: (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] (s : Set R)
Goal: ↑(Submodule.torsionBySet R M s) = ⋂ y ∈ s, ⇑(DistribMulAction.toLinearMap R M y) ⁻¹' {0}
-- Submodule.torsion'AddSubMonoid_coe
@[simps!]
def torsion'AddSubMonoid (S : Type*) [CommMonoid S] [DistribMulAction S M] :
    AddSubmonoid M 
Arguments: (M : Type u_2) [AddCommMonoid M] (S : Type u_3) [CommMonoid S] [DistribMulAction S M]
Goal: ↑(Submodule.torsion'AddSubMonoid M S) = {x | ∃ a, a • x = 0}
-- Submodule.torsion'_carrier
@[simps!]
def torsion' (S : Type*) [CommMonoid S] [DistribMulAction S M] [SMulCommClass S R M] :
    Submodule R M 
Arguments: (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] (S : Type u_3) [CommMonoid S] [DistribMulAction S M] [SMulCommClass S R M]
Goal: ↑(Submodule.torsion' R M S) = {x | ∃ a, a • x = 0}
-- Module.isTorsionBySet_annihilator
theorem isTorsionBySet_annihilator : IsTorsionBySet R M (Module.annihilator R M) 
Arguments: (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M]
Goal: Module.IsTorsionBySet R M ↑(Module.annihilator R M)
-- isSMulRegular_iff_torsionBy_eq_bot
lemma isSMulRegular_iff_torsionBy_eq_bot {R} (M : Type*)
    [CommRing R] [AddCommGroup M] [Module R M] (r : R) :
    IsSMulRegular M r ↔ Submodule.torsionBy R M r = ⊥ 
Arguments: {R : Type u_2} (M : Type u_1) [CommRing R] [AddCommGroup M] [Module R M] (r : R)
Goal: IsSMulRegular M r ↔ Submodule.torsionBy R M r = ⊥
-- Submodule.smul_torsionBy
@[simp]
theorem smul_torsionBy (x : torsionBy R M a) : a • x = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R) (x : ↥(Submodule.torsionBy R M a))
Goal: a • x = 0
-- Submodule.smul_coe_torsionBy
@[simp]
theorem smul_coe_torsionBy (x : torsionBy R M a) : a • (x : M) = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R) (x : ↥(Submodule.torsionBy R M a))
Goal: a • ↑x = 0
-- Submodule.mem_torsionBy_iff
@[simp]
theorem mem_torsionBy_iff (x : M) : x ∈ torsionBy R M a ↔ a • x = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R) (x : M)
Goal: x ∈ Submodule.torsionBy R M a ↔ a • x = 0
-- Submodule.mem_torsionBySet_iff
@[simp]
theorem mem_torsionBySet_iff (x : M) : x ∈ torsionBySet R M s ↔ ∀ a : s, (a : R) • x = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (s : Set R) (x : M)
Goal: x ∈ Submodule.torsionBySet R M s ↔ ∀ (a : ↑s), ↑a • x = 0
-- Submodule.torsionBySet_singleton_eq
@[simp]
theorem torsionBySet_singleton_eq : torsionBySet R M {a} = torsionBy R M a 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R)
Goal: Submodule.torsionBySet R M {a} = Submodule.torsionBy R M a
-- Submodule.torsionBySet_le_torsionBySet_of_subset
theorem torsionBySet_le_torsionBySet_of_subset {s t : Set R} (st : s ⊆ t) :
    torsionBySet R M t ≤ torsionBySet R M s 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {s t : Set R} (st : s ⊆ t)
Goal: Submodule.torsionBySet R M t ≤ Submodule.torsionBySet R M s
-- Submodule.torsionBySet_eq_torsionBySet_span
theorem torsionBySet_eq_torsionBySet_span :
    torsionBySet R M s = torsionBySet R M (Ideal.span s) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (s : Set R)
Goal: Submodule.torsionBySet R M s = Submodule.torsionBySet R M ↑(Ideal.span s)
-- Submodule.torsionBySet_span_singleton_eq
theorem torsionBySet_span_singleton_eq : torsionBySet R M (R ∙ a) = torsionBy R M a 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R)
Goal: Submodule.torsionBySet R M ↑(Submodule.span R {a}) = Submodule.torsionBy R M a
-- Submodule.torsionBy_le_torsionBy_of_dvd
theorem torsionBy_le_torsionBy_of_dvd (a b : R) (dvd : a ∣ b) :
    torsionBy R M a ≤ torsionBy R M b 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a b : R) (dvd : a ∣ b)
Goal: Submodule.torsionBy R M a ≤ Submodule.torsionBy R M b
-- Submodule.torsionBy_one
@[simp]
theorem torsionBy_one : torsionBy R M 1 = ⊥ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M]
Goal: Submodule.torsionBy R M 1 = ⊥
-- Submodule.torsionBySet_univ
@[simp]
theorem torsionBySet_univ : torsionBySet R M Set.univ = ⊥ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M]
Goal: Submodule.torsionBySet R M Set.univ = ⊥
-- Module.isTorsionBySet_singleton_iff
@[simp]
theorem isTorsionBySet_singleton_iff : IsTorsionBySet R M {a} ↔ IsTorsionBy R M a 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R)
Goal: Module.IsTorsionBySet R M {a} ↔ Module.IsTorsionBy R M a
-- Module.isTorsionBySet_iff_torsionBySet_eq_top
theorem isTorsionBySet_iff_torsionBySet_eq_top :
    IsTorsionBySet R M s ↔ Submodule.torsionBySet R M s = ⊤ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (s : Set R)
Goal: Module.IsTorsionBySet R M s ↔ Submodule.torsionBySet R M s = ⊤
-- Module.isTorsionBy_iff_torsionBy_eq_top
theorem isTorsionBy_iff_torsionBy_eq_top : IsTorsionBy R M a ↔ torsionBy R M a = ⊤ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R)
Goal: Module.IsTorsionBy R M a ↔ Submodule.torsionBy R M a = ⊤
-- Module.isTorsionBySet_iff_is_torsion_by_span
theorem isTorsionBySet_iff_is_torsion_by_span :
    IsTorsionBySet R M s ↔ IsTorsionBySet R M (Ideal.span s) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (s : Set R)
Goal: Module.IsTorsionBySet R M s ↔ Module.IsTorsionBySet R M ↑(Ideal.span s)
-- Module.isTorsionBySet_span_singleton_iff
theorem isTorsionBySet_span_singleton_iff : IsTorsionBySet R M (R ∙ a) ↔ IsTorsionBy R M a 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R)
Goal: Module.IsTorsionBySet R M ↑(Submodule.span R {a}) ↔ Module.IsTorsionBy R M a
-- Module.isTorsionBySet_iff_subseteq_ker_lsmul
theorem isTorsionBySet_iff_subseteq_ker_lsmul :
    IsTorsionBySet R M s ↔ s ⊆ LinearMap.ker (LinearMap.lsmul R M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (s : Set R)
Goal: Module.IsTorsionBySet R M s ↔ s ⊆ ↑(LinearMap.ker (LinearMap.lsmul R M))
-- Module.isTorsionBy_iff_mem_ker_lsmul
theorem isTorsionBy_iff_mem_ker_lsmul :
    IsTorsionBy R M a ↔ a ∈ LinearMap.ker (LinearMap.lsmul R M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R)
Goal: Module.IsTorsionBy R M a ↔ a ∈ LinearMap.ker (LinearMap.lsmul R M)
-- Submodule.torsionBySet_isTorsionBySet
theorem torsionBySet_isTorsionBySet : IsTorsionBySet R (torsionBySet R M s) s 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (s : Set R)
Goal: Module.IsTorsionBySet R (↥(Submodule.torsionBySet R M s)) s
-- Submodule.torsionBy_isTorsionBy
theorem torsionBy_isTorsionBy : IsTorsionBy R (torsionBy R M a) a 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R)
Goal: Module.IsTorsionBy R (↥(Submodule.torsionBy R M a)) a
-- Submodule.torsionBy_torsionBy_eq_top
@[simp]
theorem torsionBy_torsionBy_eq_top : torsionBy R (torsionBy R M a) a = ⊤ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (a : R)
Goal: Submodule.torsionBy R (↥(Submodule.torsionBy R M a)) a = ⊤
-- Submodule.torsionBySet_torsionBySet_eq_top
@[simp]
theorem torsionBySet_torsionBySet_eq_top : torsionBySet R (torsionBySet R M s) s = ⊤ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (s : Set R)
Goal: Submodule.torsionBySet R (↥(Submodule.torsionBySet R M s)) s = ⊤
-- Submodule.torsion_gc
theorem torsion_gc :
    @GaloisConnection (Submodule R M) (Ideal R)ᵒᵈ _ _ annihilator fun I =>
      torsionBySet R M ↑(OrderDual.ofDual I) 
Arguments: (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M]
Goal: GaloisConnection Submodule.annihilator fun I => Submodule.torsionBySet R M ↑(OrderDual.ofDual I)
-- Submodule.iSup_torsionBySet_ideal_eq_torsionBySet_iInf
theorem iSup_torsionBySet_ideal_eq_torsionBySet_iInf :
    ⨆ i ∈ S, torsionBySet R M (p i) = torsionBySet R M ↑(⨅ i ∈ S, p i) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {ι : Type u_3} {p : ι → Ideal R} {S : Finset ι} (hp : (↑S).Pairwise fun i j => p i ⊔ p j = ⊤)
Goal: ⨆ i ∈ S, Submodule.torsionBySet R M ↑(p i) = Submodule.torsionBySet R M ↑(⨅ i ∈ S, p i)
-- Submodule.supIndep_torsionBySet_ideal
theorem supIndep_torsionBySet_ideal : S.SupIndep fun i => torsionBySet R M <| p i 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {ι : Type u_3} {p : ι → Ideal R} {S : Finset ι} (hp : (↑S).Pairwise fun i j => p i ⊔ p j = ⊤)
Goal: S.SupIndep fun i => Submodule.torsionBySet R M ↑(p i)
-- Submodule.iSup_torsionBy_eq_torsionBy_prod
theorem iSup_torsionBy_eq_torsionBy_prod :
    ⨆ i ∈ S, torsionBy R M (q i) = torsionBy R M (∏ i ∈ S, q i) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {ι : Type u_3} {S : Finset ι} {q : ι → R} (hq : (↑S).Pairwise (IsCoprime on q))
Goal: ⨆ i ∈ S, Submodule.torsionBy R M (q i) = Submodule.torsionBy R M (∏ i ∈ S, q i)
-- Submodule.supIndep_torsionBy
theorem supIndep_torsionBy : S.SupIndep fun i => torsionBy R M <| q i 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {ι : Type u_3} {S : Finset ι} {q : ι → R} (hq : (↑S).Pairwise (IsCoprime on q))
Goal: S.SupIndep fun i => Submodule.torsionBy R M (q i)
-- Submodule.torsionBySet_isInternal
theorem torsionBySet_isInternal {p : ι → Ideal R}
    (hp : (S : Set ι).Pairwise fun i j => p i ⊔ p j = ⊤)
    (hM : Module.IsTorsionBySet R M (⨅ i ∈ S, p i : Ideal R)) :
    DirectSum.IsInternal fun i : S => torsionBySet R M <| p i 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {ι : Type u_3} [DecidableEq ι] {S : Finset ι} {p : ι → Ideal R} (hp : (↑S).Pairwise fun i j => p i ⊔ p j = ⊤) (hM : Module.IsTorsionBySet R M ↑(⨅ i ∈ S, p i))
Goal: DirectSum.IsInternal fun i => Submodule.torsionBySet R M ↑(p ↑i)
-- Submodule.torsionBy_isInternal
theorem torsionBy_isInternal {q : ι → R} (hq : (S : Set ι).Pairwise <| (IsCoprime on q))
    (hM : Module.IsTorsionBy R M <| ∏ i ∈ S, q i) :
    DirectSum.IsInternal fun i : S => torsionBy R M <| q i 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {ι : Type u_3} [DecidableEq ι] {S : Finset ι} {q : ι → R} (hq : (↑S).Pairwise (IsCoprime on q)) (hM : Module.IsTorsionBy R M (∏ i ∈ S, q i))
Goal: DirectSum.IsInternal fun i => Submodule.torsionBy R M (q ↑i)
-- Module.IsTorsionBySet.mk_smul
@[simp]
theorem IsTorsionBySet.mk_smul (hM : IsTorsionBySet R M I) (b : R) (x : M) :
    haveI := hM.hasSMul
    Ideal.Quotient.mk I b • x = b • x 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {I : Ideal R} (hM : Module.IsTorsionBySet R M ↑I) (b : R) (x : M)
Goal: (Ideal.Quotient.mk I) b • x = b • x