ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Module.add_smul
@[ext]
class Module (R : Type u) (M : Type v) [Semiring R] [AddCommMonoid M] extends
  DistribMulAction R M where
    protected add_smul : ∀ (r s : R) (x : M), (r + s) • x = r • x + s • x
    protected zero_smul : ∀ x : M, (0 : R) • x = 0
Arguments: {R : Type u} {M : Type v} [Semiring R] [AddCommMonoid M] [self : Module R M] (r s : R) (x : M)
Goal: (r + s) • x = r • x + s • x
-- AddMonoid.End.natCast_def
theorem AddMonoid.End.natCast_def (n : ℕ) :
    (↑n : AddMonoid.End M) = DistribMulAction.toAddMonoidEnd ℕ M n 
Arguments: {M : Type u_5} [AddCommMonoid M] (n : ℕ)
Goal: ↑n = (DistribMulAction.toAddMonoidEnd ℕ M) n
-- add_smul
theorem add_smul : (r + s) • x = r • x + s • x 
Arguments: {R : Type u_2} {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (r s : R) (x : M)
Goal: (r + s) • x = r • x + s • x
-- Convex.combo_self
theorem Convex.combo_self {a b : R} (h : a + b = 1) (x : M) : a • x + b • x = x 
Arguments: {R : Type u_2} {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] {a b : R} (h : a + b = 1) (x : M)
Goal: a • x + b • x = x
-- two_smul
theorem two_smul : (2 : R) • x = x + x 
Arguments: (R : Type u_2) {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (x : M)
Goal: 2 • x = x + x
-- two_smul'
@[deprecated (since := "2022-12-31")]
theorem two_smul' : (2 : R) • x = (2 : ℕ) • x 
Arguments: (R : Type u_2) {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (x : M)
Goal: 2 • x = 2 • x
-- invOf_two_smul_add_invOf_two_smul
@[simp]
theorem invOf_two_smul_add_invOf_two_smul [Invertible (2 : R)] (x : M) :
    (⅟ 2 : R) • x + (⅟ 2 : R) • x = x 
Arguments: (R : Type u_2) {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] [Invertible 2] (x : M)
Goal: ⅟2 • x + ⅟2 • x = x
-- Module.toAddMonoidEnd_apply_apply
@[simps! apply_apply]
def Module.toAddMonoidEnd : R →+* AddMonoid.End M 
Arguments: (R : Type u_2) (M : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] (x : R)
Goal: ∀ (x_1 : M), ((Module.toAddMonoidEnd R M) x) x_1 = x • x_1
-- smulAddHom_apply
@[simp]
theorem smulAddHom_apply (r : R) (x : M) : smulAddHom R M r x = r • x 
Arguments: {R : Type u_2} {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (r : R) (x : M)
Goal: ((smulAddHom R M) r) x = r • x
-- Module.eq_zero_of_zero_eq_one
theorem Module.eq_zero_of_zero_eq_one (zero_eq_one : (0 : R) = 1) : x = 0 
Arguments: {R : Type u_2} {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (x : M) (zero_eq_one : 0 = 1)
Goal: x = 0
-- smul_add_one_sub_smul
@[simp]
theorem smul_add_one_sub_smul {R : Type*} [Ring R] [Module R M] {r : R} {m : M} :
    r • m + (1 - r) • m = m 
Arguments: {M : Type u_5} [AddCommMonoid M] {R : Type u_9} [Ring R] [Module R M] {r : R} {m : M}
Goal: r • m + (1 - r) • m = m
-- AddMonoid.End.intCast_def
theorem AddMonoid.End.intCast_def (z : ℤ) :
    (↑z : AddMonoid.End M) = DistribMulAction.toAddMonoidEnd ℤ M z 
Arguments: (M : Type u_5) [AddCommGroup M] (z : ℤ)
Goal: ↑z = (DistribMulAction.toAddMonoidEnd ℤ M) z
-- Convex.combo_eq_smul_sub_add
theorem Convex.combo_eq_smul_sub_add [Module R M] {x y : M} {a b : R} (h : a + b = 1) :
    a • x + b • y = b • (y - x) + x 
Arguments: {R : Type u_2} {M : Type u_5} [Semiring R] [AddCommGroup M] [Module R M] {x y : M} {a b : R} (h : a + b = 1)
Goal: a • x + b • y = b • (y - x) + x
-- Module.ext'
theorem Module.ext' {R : Type*} [Semiring R] {M : Type*} [AddCommMonoid M] (P Q : Module R M)
    (w : ∀ (r : R) (m : M), (haveI := P; r • m) = (haveI := Q; r • m)) :
    P = Q 
Arguments: {R : Type u_9} [Semiring R] {M : Type u_10} [AddCommMonoid M] (P Q : Module R M) (w : ∀ (r : R) (m : M), r • m = r • m)
Goal: P = Q
-- neg_smul
@[simp]
theorem neg_smul : -r • x = -(r • x) 
Arguments: {R : Type u_2} {M : Type u_5} [Ring R] [AddCommGroup M] [Module R M] (r : R) (x : M)
Goal: -r • x = -(r • x)
-- neg_smul_neg
theorem neg_smul_neg : -r • -x = r • x 
Arguments: {R : Type u_2} {M : Type u_5} [Ring R] [AddCommGroup M] [Module R M] (r : R) (x : M)
Goal: -r • -x = r • x
-- Units.neg_smul
@[simp]
theorem Units.neg_smul (u : Rˣ) (x : M) : -u • x = -(u • x) 
Arguments: {R : Type u_2} {M : Type u_5} [Ring R] [AddCommGroup M] [Module R M] (u : Rˣ) (x : M)
Goal: -u • x = -(u • x)
-- neg_one_smul
theorem neg_one_smul (x : M) : (-1 : R) • x = -x 
Arguments: (R : Type u_2) {M : Type u_5} [Ring R] [AddCommGroup M] [Module R M] (x : M)
Goal: -1 • x = -x
-- sub_smul
theorem sub_smul (r s : R) (y : M) : (r - s) • y = r • y - s • y 
Arguments: {R : Type u_2} {M : Type u_5} [Ring R] [AddCommGroup M] [Module R M] (r s : R) (y : M)
Goal: (r - s) • y = r • y - s • y
-- Module.subsingleton
protected theorem Module.subsingleton (R M : Type*) [Semiring R] [Subsingleton R] [AddCommMonoid M]
    [Module R M] : Subsingleton M 
Arguments: (R : Type u_9) (M : Type u_10) [Semiring R] [Subsingleton R] [AddCommMonoid M] [Module R M]
Goal: Subsingleton M
-- Module.nontrivial
protected theorem Module.nontrivial (R M : Type*) [Semiring R] [Nontrivial M] [AddCommMonoid M]
    [Module R M] : Nontrivial R 
Arguments: (R : Type u_9) (M : Type u_10) [Semiring R] [Nontrivial M] [AddCommMonoid M] [Module R M]
Goal: Nontrivial R
-- RingHom.smulOneHom_apply
@[simps!] def RingHom.smulOneHom
    [Semiring R] [NonAssocSemiring S] [Module R S] [IsScalarTower R S S] : R →+* S 
Arguments: {R : Type u_2} {S : Type u_4} [Semiring R] [NonAssocSemiring S] [Module R S] [IsScalarTower R S S] (x : R)
Goal: RingHom.smulOneHom x = x • 1
-- Nat.cast_smul_eq_nsmul
lemma Nat.cast_smul_eq_nsmul (n : ℕ) (b : M) : (n : R) • b = n • b 
Arguments: (R : Type u_2) {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (n : ℕ) (b : M)
Goal: ↑n • b = n • b
-- ofNat_smul_eq_nsmul
-- See note [no_index around OfNat.ofNat]
lemma ofNat_smul_eq_nsmul (n : ℕ) [n.AtLeastTwo] (b : M) :
    (no_index OfNat.ofNat n : R) • b = OfNat.ofNat n • b 
Arguments: (R : Type u_2) {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (n : ℕ) [n.AtLeastTwo] (b : M)
Goal: OfNat.ofNat n • b = OfNat.ofNat n • b
-- nsmul_eq_smul_cast
@[deprecated Nat.cast_smul_eq_nsmul (since := "2024-07-23")]
lemma nsmul_eq_smul_cast (n : ℕ) (b : M) : n • b = (n : R) • b 
Arguments: (R : Type u_2) {M : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (n : ℕ) (b : M)
Goal: n • b = ↑n • b
-- nat_smul_eq_nsmul
theorem nat_smul_eq_nsmul (h : Module ℕ M) (n : ℕ) (x : M) : @SMul.smul ℕ M h.toSMul n x = n • x 
Arguments: {M : Type u_5} [AddCommMonoid M] (h : Module ℕ M) (n : ℕ) (x : M)
Goal: SMul.smul n x = n • x
-- Int.cast_smul_eq_nsmul
lemma Int.cast_smul_eq_nsmul (n : ℤ) (b : M) : (n : R) • b = n • b 
Arguments: (R : Type u_2) {M : Type u_5} [Ring R] [AddCommGroup M] [Module R M] (n : ℤ) (b : M)
Goal: ↑n • b = n • b
-- zsmul_eq_smul_cast
@[deprecated Int.cast_smul_eq_nsmul (since := "2024-07-23")]
theorem zsmul_eq_smul_cast (n : ℤ) (b : M) : n • b = (n : R) • b 
Arguments: (R : Type u_2) {M : Type u_5} [Ring R] [AddCommGroup M] [Module R M] (n : ℤ) (b : M)
Goal: n • b = ↑n • b
-- int_smul_eq_zsmul
theorem int_smul_eq_zsmul (h : Module ℤ M) (n : ℤ) (x : M) : @SMul.smul ℤ M h.toSMul n x = n • x 
Arguments: {M : Type u_5} [AddCommGroup M] (h : Module ℤ M) (n : ℤ) (x : M)
Goal: SMul.smul n x = n • x
-- map_intCast_smul
theorem map_intCast_smul [AddCommGroup M] [AddCommGroup M₂] {F : Type*} [FunLike F M M₂]
    [AddMonoidHomClass F M M₂] (f : F) (R S : Type*) [Ring R] [Ring S] [Module R M] [Module S M₂]
    (x : ℤ) (a : M) :
    f ((x : R) • a) = (x : S) • f a 
Arguments: {M : Type u_5} {M₂ : Type u_6} [AddCommGroup M] [AddCommGroup M₂] {F : Type u_9} [FunLike F M M₂] [AddMonoidHomClass F M M₂] (f : F) (R : Type u_10) (S : Type u_11) [Ring R] [Ring S] [Module R M] [Module S M₂] (x : ℤ) (a : M)
Goal: f (↑x • a) = ↑x • f a
-- map_natCast_smul
theorem map_natCast_smul [AddCommMonoid M] [AddCommMonoid M₂] {F : Type*} [FunLike F M M₂]
    [AddMonoidHomClass F M M₂] (f : F) (R S : Type*) [Semiring R] [Semiring S] [Module R M]
    [Module S M₂] (x : ℕ) (a : M) : f ((x : R) • a) = (x : S) • f a 
Arguments: {M : Type u_5} {M₂ : Type u_6} [AddCommMonoid M] [AddCommMonoid M₂] {F : Type u_9} [FunLike F M M₂] [AddMonoidHomClass F M M₂] (f : F) (R : Type u_10) (S : Type u_11) [Semiring R] [Semiring S] [Module R M] [Module S M₂] (x : ℕ) (a : M)
Goal: f (↑x • a) = ↑x • f a
-- NoZeroSMulDivisors.eq_zero_or_eq_zero_of_smul_eq_zero
@[mk_iff]
class NoZeroSMulDivisors (R M : Type*) [Zero R] [Zero M] [SMul R M] : Prop where
    eq_zero_or_eq_zero_of_smul_eq_zero : ∀ {c : R} {x : M}, c • x = 0 → c = 0 ∨ x = 0
Arguments: {R : Type u_9} {M : Type u_10} [Zero R] [Zero M] [SMul R M] [self : NoZeroSMulDivisors R M] {c : R} {x : M}
Goal: c • x = 0 → c = 0 ∨ x = 0
-- noZeroSMulDivisors_iff
@[mk_iff]
class NoZeroSMulDivisors (R M : Type*) [Zero R] [Zero M] [SMul R M] : Prop where
    eq_zero_or_eq_zero_of_smul_eq_zero : ∀ {c : R} {x : M}, c • x = 0 → c = 0 ∨ x = 0
Arguments: (R : Type u_9) (M : Type u_10) [Zero R] [Zero M] [SMul R M]
Goal: NoZeroSMulDivisors R M ↔ ∀ {c : R} {x : M}, c • x = 0 → c = 0 ∨ x = 0
-- Function.Injective.noZeroSMulDivisors
theorem Function.Injective.noZeroSMulDivisors {R M N : Type*} [Zero R] [Zero M] [Zero N]
    [SMul R M] [SMul R N] [NoZeroSMulDivisors R N] (f : M → N) (hf : Function.Injective f)
    (h0 : f 0 = 0) (hs : ∀ (c : R) (x : M), f (c • x) = c • f x) : NoZeroSMulDivisors R M 
Arguments: {R : Type u_9} {M : Type u_10} {N : Type u_11} [Zero R] [Zero M] [Zero N] [SMul R M] [SMul R N] [NoZeroSMulDivisors R N] (f : M → N) (hf : Function.Injective f) (h0 : f 0 = 0) (hs : ∀ (c : R) (x : M), f (c • x) = c • f x)
Goal: NoZeroSMulDivisors R M
-- smul_ne_zero
theorem smul_ne_zero [Zero R] [Zero M] [SMul R M] [NoZeroSMulDivisors R M] {c : R} {x : M}
    (hc : c ≠ 0) (hx : x ≠ 0) : c • x ≠ 0 
Arguments: {R : Type u_2} {M : Type u_5} [Zero R] [Zero M] [SMul R M] [NoZeroSMulDivisors R M] {c : R} {x : M} (hc : c ≠ 0) (hx : x ≠ 0)
Goal: c • x ≠ 0
-- smul_eq_zero
@[simp]
theorem smul_eq_zero : c • x = 0 ↔ c = 0 ∨ x = 0 
Arguments: {R : Type u_2} {M : Type u_5} [Zero R] [Zero M] [SMulWithZero R M] [NoZeroSMulDivisors R M] {c : R} {x : M}
Goal: c • x = 0 ↔ c = 0 ∨ x = 0
-- smul_ne_zero_iff
theorem smul_ne_zero_iff : c • x ≠ 0 ↔ c ≠ 0 ∧ x ≠ 0 
Arguments: {R : Type u_2} {M : Type u_5} [Zero R] [Zero M] [SMulWithZero R M] [NoZeroSMulDivisors R M] {c : R} {x : M}
Goal: c • x ≠ 0 ↔ c ≠ 0 ∧ x ≠ 0
-- smul_eq_zero_iff_left
lemma smul_eq_zero_iff_left (hx : x ≠ 0) : c • x = 0 ↔ c = 0 
Arguments: {R : Type u_2} {M : Type u_5} [Zero R] [Zero M] [SMulWithZero R M] [NoZeroSMulDivisors R M] {c : R} {x : M} (hx : x ≠ 0)
Goal: c • x = 0 ↔ c = 0
-- smul_eq_zero_iff_right
lemma smul_eq_zero_iff_right (hc : c ≠ 0) : c • x = 0 ↔ x = 0 
Arguments: {R : Type u_2} {M : Type u_5} [Zero R] [Zero M] [SMulWithZero R M] [NoZeroSMulDivisors R M] {c : R} {x : M} (hc : c ≠ 0)
Goal: c • x = 0 ↔ x = 0
-- smul_ne_zero_iff_left
lemma smul_ne_zero_iff_left (hx : x ≠ 0) : c • x ≠ 0 ↔ c ≠ 0 
Arguments: {R : Type u_2} {M : Type u_5} [Zero R] [Zero M] [SMulWithZero R M] [NoZeroSMulDivisors R M] {c : R} {x : M} (hx : x ≠ 0)
Goal: c • x ≠ 0 ↔ c ≠ 0
-- smul_ne_zero_iff_right
lemma smul_ne_zero_iff_right (hc : c ≠ 0) : c • x ≠ 0 ↔ x ≠ 0 
Arguments: {R : Type u_2} {M : Type u_5} [Zero R] [Zero M] [SMulWithZero R M] [NoZeroSMulDivisors R M] {c : R} {x : M} (hc : c ≠ 0)
Goal: c • x ≠ 0 ↔ x ≠ 0
-- Nat.noZeroSMulDivisors
theorem Nat.noZeroSMulDivisors
    (R) (M) [Semiring R] [CharZero R] [AddCommMonoid M] [Module R M] [NoZeroSMulDivisors R M] :
    NoZeroSMulDivisors ℕ M 
Arguments: (R : Type u_9) (M : Type u_10) [Semiring R] [CharZero R] [AddCommMonoid M] [Module R M] [NoZeroSMulDivisors R M]
Goal: NoZeroSMulDivisors ℕ M
-- two_nsmul_eq_zero
theorem two_nsmul_eq_zero
    (R) (M) [Semiring R] [CharZero R] [AddCommMonoid M] [Module R M] [NoZeroSMulDivisors R M]
    {v : M} : 2 • v = 0 ↔ v = 0 
Arguments: (R : Type u_9) (M : Type u_10) [Semiring R] [CharZero R] [AddCommMonoid M] [Module R M] [NoZeroSMulDivisors R M] {v : M}
Goal: 2 • v = 0 ↔ v = 0
-- CharZero.of_module
theorem CharZero.of_module (M) [AddCommMonoidWithOne M] [CharZero M] [Module R M] : CharZero R 
Arguments: (R : Type u_2) [Semiring R] (M : Type u_9) [AddCommMonoidWithOne M] [CharZero M] [Module R M]
Goal: CharZero R
-- smul_right_injective
theorem smul_right_injective [NoZeroSMulDivisors R M] {c : R} (hc : c ≠ 0) :
    Function.Injective (c • · : M → M) 
Arguments: {R : Type u_2} (M : Type u_5) [Semiring R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] {c : R} (hc : c ≠ 0)
Goal: Function.Injective fun x => c • x
-- smul_right_inj
theorem smul_right_inj [NoZeroSMulDivisors R M] {c : R} (hc : c ≠ 0) {x y : M} :
    c • x = c • y ↔ x = y 
Arguments: {R : Type u_2} {M : Type u_5} [Semiring R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] {c : R} (hc : c ≠ 0) {x y : M}
Goal: c • x = c • y ↔ x = y
-- self_eq_neg
theorem self_eq_neg
    (R) (M) [Semiring R] [CharZero R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M]
    {v : M} : v = -v ↔ v = 0 
Arguments: (R : Type u_9) (M : Type u_10) [Semiring R] [CharZero R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] {v : M}
Goal: v = -v ↔ v = 0
-- neg_eq_self
theorem neg_eq_self
    (R) (M) [Semiring R] [CharZero R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M]
    {v : M} : -v = v ↔ v = 0 
Arguments: (R : Type u_9) (M : Type u_10) [Semiring R] [CharZero R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] {v : M}
Goal: -v = v ↔ v = 0
-- self_ne_neg
theorem self_ne_neg
    (R) (M) [Semiring R] [CharZero R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M]
    {v : M} : v ≠ -v ↔ v ≠ 0 
Arguments: (R : Type u_9) (M : Type u_10) [Semiring R] [CharZero R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] {v : M}
Goal: v ≠ -v ↔ v ≠ 0
-- neg_ne_self
theorem neg_ne_self
    (R) (M) [Semiring R] [CharZero R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M]
    {v : M} : -v ≠ v ↔ v ≠ 0 
Arguments: (R : Type u_9) (M : Type u_10) [Semiring R] [CharZero R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] {v : M}
Goal: -v ≠ v ↔ v ≠ 0
-- smul_left_injective
theorem smul_left_injective {x : M} (hx : x ≠ 0) : Function.Injective fun c : R => c • x 
Arguments: (R : Type u_2) {M : Type u_5} [Ring R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] {x : M} (hx : x ≠ 0)
Goal: Function.Injective fun c => c • x
-- NoZeroSMulDivisors.int_of_charZero
theorem NoZeroSMulDivisors.int_of_charZero
    (R) (M) [Ring R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] [CharZero R] :
    NoZeroSMulDivisors ℤ M 
Arguments: (R : Type u_9) (M : Type u_10) [Ring R] [AddCommGroup M] [Module R M] [NoZeroSMulDivisors R M] [CharZero R]
Goal: NoZeroSMulDivisors ℤ M
-- CharZero.of_noZeroSMulDivisors
theorem CharZero.of_noZeroSMulDivisors [Nontrivial M] [NoZeroSMulDivisors ℤ M] : CharZero R 
Arguments: (R : Type u_2) (M : Type u_5) [Ring R] [AddCommGroup M] [Module R M] [Nontrivial M] [NoZeroSMulDivisors ℤ M]
Goal: CharZero R
-- Nat.smul_one_eq_cast
theorem Nat.smul_one_eq_cast {R : Type*} [NonAssocSemiring R] (m : ℕ) : m • (1 : R) = ↑m 
Arguments: {R : Type u_9} [NonAssocSemiring R] (m : ℕ)
Goal: m • 1 = ↑m
-- Int.smul_one_eq_cast
theorem Int.smul_one_eq_cast {R : Type*} [NonAssocRing R] (m : ℤ) : m • (1 : R) = ↑m 
Arguments: {R : Type u_9} [NonAssocRing R] (m : ℤ)
Goal: m • 1 = ↑m
-- Cardinal.mk_le_of_module
theorem mk_le_of_module (R : Type u) (E : Type v)
    [AddCommGroup E] [Ring R] [Module R E] [Nontrivial E] [NoZeroSMulDivisors R E] :
    Cardinal.lift.{v} (#R) ≤ Cardinal.lift.{u} (#E) 
Arguments: (R : Type u) (E : Type v) [AddCommGroup E] [Ring R] [Module R E] [Nontrivial E] [NoZeroSMulDivisors R E]
Goal: Cardinal.lift.{v, u} (Cardinal.mk R) ≤ Cardinal.lift.{u, v} (Cardinal.mk E)
-- _private.Mathlib.Algebra.MvPolynomial.Funext.0.MvPolynomial.funext_fin
private theorem funext_fin {n : ℕ} {p : MvPolynomial (Fin n) R}
    (h : ∀ x : Fin n → R, eval x p = 0) : p = 0 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [Infinite R] {n : ℕ} {p : MvPolynomial (Fin n) R} (h : ∀ (x : Fin n → R), (MvPolynomial.eval x) p = 0)
Goal: p = 0
-- MvPolynomial.funext
theorem funext {σ : Type*} {p q : MvPolynomial σ R} (h : ∀ x : σ → R, eval x p = eval x q) :
    p = q 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [Infinite R] {σ : Type u_2} {p q : MvPolynomial σ R} (h : ∀ (x : σ → R), (MvPolynomial.eval x) p = (MvPolynomial.eval x) q)
Goal: p = q
-- MvPolynomial.funext_iff
theorem funext_iff {σ : Type*} {p q : MvPolynomial σ R} :
    p = q ↔ ∀ x : σ → R, eval x p = eval x q 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] [Infinite R] {σ : Type u_2} {p q : MvPolynomial σ R}
Goal: p = q ↔ ∀ (x : σ → R), (MvPolynomial.eval x) p = (MvPolynomial.eval x) q
-- MvPolynomial.comap_apply
@[simp]
theorem comap_apply (f : MvPolynomial σ R →ₐ[R] MvPolynomial τ R) (x : τ → R) (i : σ) :
    comap f x i = aeval x (f (X i)) 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_4} [CommSemiring R] (f : MvPolynomial σ R →ₐ[R] MvPolynomial τ R) (x : τ → R) (i : σ)
Goal: MvPolynomial.comap f x i = (MvPolynomial.aeval x) (f (MvPolynomial.X i))
-- MvPolynomial.comap_id_apply
@[simp]
theorem comap_id_apply (x : σ → R) : comap (AlgHom.id R (MvPolynomial σ R)) x = x 
Arguments: {σ : Type u_1} {R : Type u_4} [CommSemiring R] (x : σ → R)
Goal: MvPolynomial.comap (AlgHom.id R (MvPolynomial σ R)) x = x
-- MvPolynomial.comap_id
theorem comap_id : comap (AlgHom.id R (MvPolynomial σ R)) = id 
Arguments: (σ : Type u_1) (R : Type u_4) [CommSemiring R]
Goal: MvPolynomial.comap (AlgHom.id R (MvPolynomial σ R)) = id
-- MvPolynomial.comap_comp_apply
theorem comap_comp_apply (f : MvPolynomial σ R →ₐ[R] MvPolynomial τ R)
    (g : MvPolynomial τ R →ₐ[R] MvPolynomial υ R) (x : υ → R) :
    comap (g.comp f) x = comap f (comap g x) 
Arguments: {σ : Type u_1} {τ : Type u_2} {υ : Type u_3} {R : Type u_4} [CommSemiring R] (f : MvPolynomial σ R →ₐ[R] MvPolynomial τ R) (g : MvPolynomial τ R →ₐ[R] MvPolynomial υ R) (x : υ → R)
Goal: MvPolynomial.comap (g.comp f) x = MvPolynomial.comap f (MvPolynomial.comap g x)
-- MvPolynomial.comap_comp
theorem comap_comp (f : MvPolynomial σ R →ₐ[R] MvPolynomial τ R)
    (g : MvPolynomial τ R →ₐ[R] MvPolynomial υ R) : comap (g.comp f) = comap f ∘ comap g 
Arguments: {σ : Type u_1} {τ : Type u_2} {υ : Type u_3} {R : Type u_4} [CommSemiring R] (f : MvPolynomial σ R →ₐ[R] MvPolynomial τ R) (g : MvPolynomial τ R →ₐ[R] MvPolynomial υ R)
Goal: MvPolynomial.comap (g.comp f) = MvPolynomial.comap f ∘ MvPolynomial.comap g
-- MvPolynomial.comap_eq_id_of_eq_id
theorem comap_eq_id_of_eq_id (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (hf : ∀ φ, f φ = φ)
    (x : σ → R) : comap f x = x 
Arguments: {σ : Type u_1} {R : Type u_4} [CommSemiring R] (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (hf : ∀ (φ : MvPolynomial σ R), f φ = φ) (x : σ → R)
Goal: MvPolynomial.comap f x = x
-- MvPolynomial.comap_rename
theorem comap_rename (f : σ → τ) (x : τ → R) : comap (rename f) x = x ∘ f 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_4} [CommSemiring R] (f : σ → τ) (x : τ → R)
Goal: MvPolynomial.comap (MvPolynomial.rename f) x = x ∘ f
-- MvPolynomial.comapEquiv_coe
@[simp]
theorem comapEquiv_coe (f : MvPolynomial σ R ≃ₐ[R] MvPolynomial τ R) :
    (comapEquiv f : (τ → R) → σ → R) = comap f 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_4} [CommSemiring R] (f : MvPolynomial σ R ≃ₐ[R] MvPolynomial τ R)
Goal: ⇑(MvPolynomial.comapEquiv f) = MvPolynomial.comap ↑f
-- MvPolynomial.comapEquiv_symm_coe
@[simp]
theorem comapEquiv_symm_coe (f : MvPolynomial σ R ≃ₐ[R] MvPolynomial τ R) :
    ((comapEquiv f).symm : (σ → R) → τ → R) = comap f.symm 
Arguments: {σ : Type u_1} {τ : Type u_2} {R : Type u_4} [CommSemiring R] (f : MvPolynomial σ R ≃ₐ[R] MvPolynomial τ R)
Goal: ⇑(MvPolynomial.comapEquiv f).symm = MvPolynomial.comap ↑f.symm
-- IsLocalizedModule.isInteger_zero
lemma isInteger_zero : IsInteger f (0 : M') 
Arguments: {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M')
Goal: IsLocalizedModule.IsInteger f 0
-- IsLocalizedModule.isInteger_add
theorem isInteger_add {x y : M'} (hx : IsInteger f x) (hy : IsInteger f y) : IsInteger f (x + y) 
Arguments: {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') {x y : M'} (hx : IsLocalizedModule.IsInteger f x) (hy : IsLocalizedModule.IsInteger f y)
Goal: IsLocalizedModule.IsInteger f (x + y)
-- IsLocalizedModule.isInteger_smul
theorem isInteger_smul {a : R} {x : M'} (hx : IsInteger f x) : IsInteger f (a • x) 
Arguments: {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') {a : R} {x : M'} (hx : IsLocalizedModule.IsInteger f x)
Goal: IsLocalizedModule.IsInteger f (a • x)
-- IsLocalizedModule.exists_integer_multiple
theorem exists_integer_multiple (x : M') : ∃ a : S, IsInteger f (a.val • x) 
Arguments: {R : Type u_1} [CommSemiring R] (S : Submonoid R) {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') [IsLocalizedModule S f] (x : M')
Goal: ∃ a, IsLocalizedModule.IsInteger f (↑a • x)
-- IsLocalizedModule.exist_integer_multiples
theorem exist_integer_multiples {ι : Type*} (s : Finset ι) (g : ι → M') :
    ∃ b : S, ∀ i ∈ s, IsInteger f (b.val • g i) 
Arguments: {R : Type u_1} [CommSemiring R] (S : Submonoid R) {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') [IsLocalizedModule S f] {ι : Type u_4} (s : Finset ι) (g : ι → M')
Goal: ∃ b, ∀ i ∈ s, IsLocalizedModule.IsInteger f (↑b • g i)
-- IsLocalizedModule.exist_integer_multiples_of_finite
theorem exist_integer_multiples_of_finite {ι : Type*} [Finite ι] (g : ι → M') :
    ∃ b : S, ∀ i, IsInteger f ((b : R) • g i) 
Arguments: {R : Type u_1} [CommSemiring R] (S : Submonoid R) {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') [IsLocalizedModule S f] {ι : Type u_4} [Finite ι] (g : ι → M')
Goal: ∃ b, ∀ (i : ι), IsLocalizedModule.IsInteger f (↑b • g i)
-- IsLocalizedModule.exist_integer_multiples_of_finset
theorem exist_integer_multiples_of_finset (s : Finset M') :
    ∃ b : S, ∀ a ∈ s, IsInteger f ((b : R) • a) 
Arguments: {R : Type u_1} [CommSemiring R] (S : Submonoid R) {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') [IsLocalizedModule S f] (s : Finset M')
Goal: ∃ b, ∀ a ∈ s, IsLocalizedModule.IsInteger f (↑b • a)
-- IsLocalizedModule.map_integerMultiple
@[simp]
theorem map_integerMultiple {ι : Type*} (s : Finset ι) (g : ι → M') (i : s) :
    f (integerMultiple S f s g i) = commonDenom S f s g • g i 
Arguments: {R : Type u_1} [CommSemiring R] (S : Submonoid R) {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') [IsLocalizedModule S f] {ι : Type u_4} (s : Finset ι) (g : ι → M') (i : { x // x ∈ s })
Goal: f (IsLocalizedModule.integerMultiple S f s g i) = IsLocalizedModule.commonDenom S f s g • g ↑i
-- IsLocalizedModule.finsetIntegerMultiple_image
theorem finsetIntegerMultiple_image [DecidableEq M] (s : Finset M') :
    f '' finsetIntegerMultiple S f s = commonDenomOfFinset S f s • (s : Set M') 
Arguments: {R : Type u_1} [CommSemiring R] (S : Submonoid R) {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') [IsLocalizedModule S f] [DecidableEq M] (s : Finset M')
Goal: ⇑f '' ↑(IsLocalizedModule.finsetIntegerMultiple S f s) = IsLocalizedModule.commonDenomOfFinset S f s • ↑s
-- IsLocalizedModule.smul_mem_finsetIntegerMultiple_span
theorem smul_mem_finsetIntegerMultiple_span [DecidableEq M] (x : M) (s : Finset M')
    (hx : f x ∈ Submodule.span R s) :
    ∃ (m : S), m • x ∈ Submodule.span R (IsLocalizedModule.finsetIntegerMultiple S f s) 
Arguments: {R : Type u_1} [CommSemiring R] (S : Submonoid R) {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') [IsLocalizedModule S f] [DecidableEq M] (x : M) (s : Finset M') (hx : f x ∈ Submodule.span R ↑s)
Goal: ∃ m, m • x ∈ Submodule.span R ↑(IsLocalizedModule.finsetIntegerMultiple S f s)