ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- spectrum.not_mem_iff
theorem not_mem_iff {r : R} {a : A} : r ∉ σ a ↔ IsUnit (↑ₐ r - a) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : R} {a : A}
Goal: r ∉ spectrum R a ↔ IsUnit ((algebraMap R A) r - a)
-- spectrum.zero_mem_iff
theorem zero_mem_iff {a : A} : (0 : R) ∈ σ a ↔ ¬IsUnit a 
Arguments: (R : Type u) {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a : A}
Goal: 0 ∈ spectrum R a ↔ ¬IsUnit a
-- spectrum.zero_not_mem_iff
theorem zero_not_mem_iff {a : A} : (0 : R) ∉ σ a ↔ IsUnit a 
Arguments: (R : Type u) {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a : A}
Goal: 0 ∉ spectrum R a ↔ IsUnit a
-- spectrum.subset_singleton_zero_compl
lemma subset_singleton_zero_compl {a : A} (ha : IsUnit a) : spectrum R a ⊆ {0}ᶜ 
Arguments: (R : Type u) {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a : A} (ha : IsUnit a)
Goal: spectrum R a ⊆ {0}ᶜ
-- spectrum.mem_resolventSet_of_left_right_inverse
theorem mem_resolventSet_of_left_right_inverse {r : R} {a b c : A} (h₁ : (↑ₐ r - a) * b = 1)
    (h₂ : c * (↑ₐ r - a) = 1) : r ∈ resolventSet R a 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : R} {a b c : A} (h₁ : ((algebraMap R A) r - a) * b = 1) (h₂ : c * ((algebraMap R A) r - a) = 1)
Goal: r ∈ resolventSet R a
-- spectrum.mem_resolventSet_iff
theorem mem_resolventSet_iff {r : R} {a : A} : r ∈ resolventSet R a ↔ IsUnit (↑ₐ r - a) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : R} {a : A}
Goal: r ∈ resolventSet R a ↔ IsUnit ((algebraMap R A) r - a)
-- spectrum.algebraMap_mem_iff
@[simp]
theorem algebraMap_mem_iff (S : Type*) {R A : Type*} [CommSemiring R] [CommSemiring S]
    [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] {a : A} {r : R} :
    algebraMap R S r ∈ spectrum S a ↔ r ∈ spectrum R a 
Arguments: (S : Type u_1) {R : Type u_2} {A : Type u_3} [CommSemiring R] [CommSemiring S] [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] {a : A} {r : R}
Goal: (algebraMap R S) r ∈ spectrum S a ↔ r ∈ spectrum R a
-- spectrum.preimage_algebraMap
@[simp]
theorem preimage_algebraMap (S : Type*) {R A : Type*} [CommSemiring R] [CommSemiring S]
    [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] {a : A} :
    algebraMap R S ⁻¹' spectrum S a = spectrum R a 
Arguments: (S : Type u_1) {R : Type u_2} {A : Type u_3} [CommSemiring R] [CommSemiring S] [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] {a : A}
Goal: ⇑(algebraMap R S) ⁻¹' spectrum S a = spectrum R a
-- spectrum.resolventSet_of_subsingleton
@[simp]
theorem resolventSet_of_subsingleton [Subsingleton A] (a : A) : resolventSet R a = Set.univ 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] [Subsingleton A] (a : A)
Goal: resolventSet R a = Set.univ
-- spectrum.of_subsingleton
@[simp]
theorem of_subsingleton [Subsingleton A] (a : A) : spectrum R a = ∅ 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] [Subsingleton A] (a : A)
Goal: spectrum R a = ∅
-- spectrum.resolvent_eq
theorem resolvent_eq {a : A} {r : R} (h : r ∈ resolventSet R a) : resolvent a r = ↑h.unit⁻¹ 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a : A} {r : R} (h : r ∈ resolventSet R a)
Goal: resolvent a r = ↑(IsUnit.unit h)⁻¹
-- spectrum.units_smul_resolvent
theorem units_smul_resolvent {r : Rˣ} {s : R} {a : A} :
    r • resolvent a (s : R) = resolvent (r⁻¹ • a) (r⁻¹ • s : R) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : Rˣ} {s : R} {a : A}
Goal: r • resolvent a s = resolvent (r⁻¹ • a) (r⁻¹ • s)
-- spectrum.units_smul_resolvent_self
theorem units_smul_resolvent_self {r : Rˣ} {a : A} :
    r • resolvent a (r : R) = resolvent (r⁻¹ • a) (1 : R) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : Rˣ} {a : A}
Goal: r • resolvent a ↑r = resolvent (r⁻¹ • a) 1
-- spectrum.isUnit_resolvent
theorem isUnit_resolvent {r : R} {a : A} : r ∈ resolventSet R a ↔ IsUnit (resolvent a r) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : R} {a : A}
Goal: r ∈ resolventSet R a ↔ IsUnit (resolvent a r)
-- spectrum.inv_mem_resolventSet
theorem inv_mem_resolventSet {r : Rˣ} {a : Aˣ} (h : (r : R) ∈ resolventSet R (a : A)) :
    (↑r⁻¹ : R) ∈ resolventSet R (↑a⁻¹ : A) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : Rˣ} {a : Aˣ} (h : ↑r ∈ resolventSet R ↑a)
Goal: ↑r⁻¹ ∈ resolventSet R ↑a⁻¹
-- spectrum.inv_mem_iff
theorem inv_mem_iff {r : Rˣ} {a : Aˣ} : (r : R) ∈ σ (a : A) ↔ (↑r⁻¹ : R) ∈ σ (↑a⁻¹ : A) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : Rˣ} {a : Aˣ}
Goal: ↑r ∈ spectrum R ↑a ↔ ↑r⁻¹ ∈ spectrum R ↑a⁻¹
-- spectrum.zero_mem_resolventSet_of_unit
theorem zero_mem_resolventSet_of_unit (a : Aˣ) : 0 ∈ resolventSet R (a : A) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] (a : Aˣ)
Goal: 0 ∈ resolventSet R ↑a
-- spectrum.ne_zero_of_mem_of_unit
theorem ne_zero_of_mem_of_unit {a : Aˣ} {r : R} (hr : r ∈ σ (a : A)) : r ≠ 0 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a : Aˣ} {r : R} (hr : r ∈ spectrum R ↑a)
Goal: r ≠ 0
-- spectrum.add_mem_iff
theorem add_mem_iff {a : A} {r s : R} : r + s ∈ σ a ↔ r ∈ σ (-↑ₐ s + a) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a : A} {r s : R}
Goal: r + s ∈ spectrum R a ↔ r ∈ spectrum R (-(algebraMap R A) s + a)
-- spectrum.add_mem_add_iff
theorem add_mem_add_iff {a : A} {r s : R} : r + s ∈ σ (↑ₐ s + a) ↔ r ∈ σ a 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a : A} {r s : R}
Goal: r + s ∈ spectrum R ((algebraMap R A) s + a) ↔ r ∈ spectrum R a
-- spectrum.smul_mem_smul_iff
theorem smul_mem_smul_iff {a : A} {s : R} {r : Rˣ} : r • s ∈ σ (r • a) ↔ s ∈ σ a 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a : A} {s : R} {r : Rˣ}
Goal: r • s ∈ spectrum R (r • a) ↔ s ∈ spectrum R a
-- spectrum.unit_smul_eq_smul
theorem unit_smul_eq_smul (a : A) (r : Rˣ) : σ (r • a) = r • σ a 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] (a : A) (r : Rˣ)
Goal: spectrum R (r • a) = r • spectrum R a
-- spectrum.unit_mem_mul_iff_mem_swap_mul
theorem unit_mem_mul_iff_mem_swap_mul {a b : A} {r : Rˣ} : ↑r ∈ σ (a * b) ↔ ↑r ∈ σ (b * a) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a b : A} {r : Rˣ}
Goal: ↑r ∈ spectrum R (a * b) ↔ ↑r ∈ spectrum R (b * a)
-- spectrum.preimage_units_mul_eq_swap_mul
theorem preimage_units_mul_eq_swap_mul {a b : A} :
    ((↑) : Rˣ → R) ⁻¹' σ (a * b) = (↑) ⁻¹' σ (b * a) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {a b : A}
Goal: Units.val ⁻¹' spectrum R (a * b) = Units.val ⁻¹' spectrum R (b * a)
-- spectrum.star_mem_resolventSet_iff
theorem star_mem_resolventSet_iff {r : R} {a : A} :
    star r ∈ resolventSet R a ↔ r ∈ resolventSet R (star a) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] [InvolutiveStar R] [StarRing A] [StarModule R A] {r : R} {a : A}
Goal: star r ∈ resolventSet R a ↔ r ∈ resolventSet R (star a)
-- spectrum.map_star
protected theorem map_star (a : A) : σ (star a) = star (σ a) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] [InvolutiveStar R] [StarRing A] [StarModule R A] (a : A)
Goal: spectrum R (star a) = star (spectrum R a)
-- spectrum.subset_subalgebra
theorem subset_subalgebra {S R A : Type*} [CommSemiring R] [Ring A] [Algebra R A]
    [SetLike S A] [SubringClass S A] [SMulMemClass S R A] {s : S} (a : s) :
    spectrum R (a : A) ⊆ spectrum R a 
Arguments: {S : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [Ring A] [Algebra R A] [SetLike S A] [SubringClass S A] [SMulMemClass S R A] {s : S} (a : ↥s)
Goal: spectrum R ↑a ⊆ spectrum R a
-- spectrum.subset_starSubalgebra
@[deprecated subset_subalgebra (since := "2024-07-19")]
theorem subset_starSubalgebra [StarRing R] [StarRing A] [StarModule R A] {S : StarSubalgebra R A}
    (a : S) : spectrum R (a : A) ⊆ spectrum R a 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] [StarRing R] [StarRing A] [StarModule R A] {S : StarSubalgebra R A} (a : ↥S)
Goal: spectrum R ↑a ⊆ spectrum R a
-- spectrum.singleton_add_eq
theorem singleton_add_eq (a : A) (r : R) : {r} + σ a = σ (↑ₐ r + a) 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (a : A) (r : R)
Goal: {r} + spectrum R a = spectrum R ((algebraMap R A) r + a)
-- spectrum.add_singleton_eq
theorem add_singleton_eq (a : A) (r : R) : σ a + {r} = σ (a + ↑ₐ r) 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (a : A) (r : R)
Goal: spectrum R a + {r} = spectrum R (a + (algebraMap R A) r)
-- spectrum.vadd_eq
theorem vadd_eq (a : A) (r : R) : r +ᵥ σ a = σ (↑ₐ r + a) 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (a : A) (r : R)
Goal: r +ᵥ spectrum R a = spectrum R ((algebraMap R A) r + a)
-- spectrum.neg_eq
theorem neg_eq (a : A) : -σ a = σ (-a) 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (a : A)
Goal: -spectrum R a = spectrum R (-a)
-- spectrum.singleton_sub_eq
theorem singleton_sub_eq (a : A) (r : R) : {r} - σ a = σ (↑ₐ r - a) 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (a : A) (r : R)
Goal: {r} - spectrum R a = spectrum R ((algebraMap R A) r - a)
-- spectrum.sub_singleton_eq
theorem sub_singleton_eq (a : A) (r : R) : σ a - {r} = σ (a - ↑ₐ r) 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (a : A) (r : R)
Goal: spectrum R a - {r} = spectrum R (a - (algebraMap R A) r)
-- spectrum.zero_eq
@[simp]
theorem zero_eq [Nontrivial A] : σ (0 : A) = {0} 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] [Nontrivial A]
Goal: spectrum 𝕜 0 = {0}
-- spectrum.scalar_eq
@[simp]
theorem scalar_eq [Nontrivial A] (k : 𝕜) : σ (↑ₐ k) = {k} 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] [Nontrivial A] (k : 𝕜)
Goal: spectrum 𝕜 ((algebraMap 𝕜 A) k) = {k}
-- spectrum.one_eq
@[simp]
theorem one_eq [Nontrivial A] : σ (1 : A) = {1} 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] [Nontrivial A]
Goal: spectrum 𝕜 1 = {1}
-- spectrum.smul_eq_smul
theorem smul_eq_smul [Nontrivial A] (k : 𝕜) (a : A) (ha : (σ a).Nonempty) :
    σ (k • a) = k • σ a 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] [Nontrivial A] (k : 𝕜) (a : A) (ha : (spectrum 𝕜 a).Nonempty)
Goal: spectrum 𝕜 (k • a) = k • spectrum 𝕜 a
-- spectrum.nonzero_mul_eq_swap_mul
theorem nonzero_mul_eq_swap_mul (a b : A) : σ (a * b) \ {0} = σ (b * a) \ {0} 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a b : A)
Goal: spectrum 𝕜 (a * b) \ {0} = spectrum 𝕜 (b * a) \ {0}
-- spectrum.map_inv
protected theorem map_inv (a : Aˣ) : (σ (a : A))⁻¹ = σ (↑a⁻¹ : A) 
Arguments: {𝕜 : Type u} {A : Type v} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : Aˣ)
Goal: (spectrum 𝕜 ↑a)⁻¹ = spectrum 𝕜 ↑a⁻¹
-- AlgHom.mem_resolventSet_apply
theorem mem_resolventSet_apply (φ : F) {a : A} {r : R} (h : r ∈ resolventSet R a) :
    r ∈ resolventSet R ((φ : A → B) a) 
Arguments: {F : Type u_1} {R : Type u_2} {A : Type u_3} {B : Type u_4} [CommSemiring R] [Ring A] [Algebra R A] [Ring B] [Algebra R B] [FunLike F A B] [AlgHomClass F R A B] (φ : F) {a : A} {r : R} (h : r ∈ resolventSet R a)
Goal: r ∈ resolventSet R (φ a)
-- AlgHom.spectrum_apply_subset
theorem spectrum_apply_subset (φ : F) (a : A) : σ ((φ : A → B) a) ⊆ σ a 
Arguments: {F : Type u_1} {R : Type u_2} {A : Type u_3} {B : Type u_4} [CommSemiring R] [Ring A] [Algebra R A] [Ring B] [Algebra R B] [FunLike F A B] [AlgHomClass F R A B] (φ : F) (a : A)
Goal: spectrum R (φ a) ⊆ spectrum R a
-- AlgHom.apply_mem_spectrum
theorem apply_mem_spectrum [Nontrivial R] (φ : F) (a : A) : φ a ∈ σ a 
Arguments: {F : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [Ring A] [Algebra R A] [FunLike F A R] [AlgHomClass F R A R] [Nontrivial R] (φ : F) (a : A)
Goal: φ a ∈ spectrum R a
-- AlgEquiv.spectrum_eq
@[simp]
theorem AlgEquiv.spectrum_eq {F R A B : Type*} [CommSemiring R] [Ring A] [Ring B] [Algebra R A]
    [Algebra R B] [EquivLike F A B] [AlgEquivClass F R A B] (f : F) (a : A) :
    spectrum R (f a) = spectrum R a 
Arguments: {F : Type u_1} {R : Type u_2} {A : Type u_3} {B : Type u_4} [CommSemiring R] [Ring A] [Ring B] [Algebra R A] [Algebra R B] [EquivLike F A B] [AlgEquivClass F R A B] (f : F) (a : A)
Goal: spectrum R (f a) = spectrum R a
-- spectrum.units_conjugate
@[simp]
lemma spectrum.units_conjugate {a : A} {u : Aˣ} :
    spectrum R (u * a * u⁻¹) = spectrum R a 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Ring A] [Algebra R A] {a : A} {u : Aˣ}
Goal: spectrum R (↑u * a * ↑u⁻¹) = spectrum R a
-- spectrum.units_conjugate'
@[simp]
lemma spectrum.units_conjugate' {a : A} {u : Aˣ} :
    spectrum R (u⁻¹ * a * u) = spectrum R a 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Ring A] [Algebra R A] {a : A} {u : Aˣ}
Goal: spectrum R (↑u⁻¹ * a * ↑u) = spectrum R a
-- MulSemiringAction.smul_mul
class MulSemiringAction (M : Type u) (R : Type v) [Monoid M] [Semiring R] extends
  DistribMulAction M R where
    smul_one : ∀ g : M, (g • (1 : R) : R) = 1
    smul_mul : ∀ (g : M) (x y : R), g • (x * y) = g • x * g • y
Arguments: {M : Type u} {R : Type v} [Monoid M] [Semiring R] [self : MulSemiringAction M R] (g : M) (x y : R)
Goal: g • (x * y) = g • x * g • y
-- MulSemiringAction.smul_one
class MulSemiringAction (M : Type u) (R : Type v) [Monoid M] [Semiring R] extends
  DistribMulAction M R where
    smul_one : ∀ g : M, (g • (1 : R) : R) = 1
    smul_mul : ∀ (g : M) (x y : R), g • (x * y) = g • x * g • y
Arguments: {M : Type u} {R : Type v} [Monoid M] [Semiring R] [self : MulSemiringAction M R] (g : M)
Goal: g • 1 = 1
-- MulSemiringAction.toRingHom_apply
@[simps!]
def MulSemiringAction.toRingHom [MulSemiringAction M R] (x : M) : R →+* R 
Arguments: (M : Type u_1) [Monoid M] (R : Type v) [Semiring R] [MulSemiringAction M R] (x : M)
Goal: ∀ (x_1 : R), (MulSemiringAction.toRingHom M R x) x_1 = x • x_1
-- toRingHom_injective
theorem toRingHom_injective [MulSemiringAction M R] [FaithfulSMul M R] :
    Function.Injective (MulSemiringAction.toRingHom M R) 
Arguments: (M : Type u_1) [Monoid M] (R : Type v) [Semiring R] [MulSemiringAction M R] [FaithfulSMul M R]
Goal: Function.Injective (MulSemiringAction.toRingHom M R)
-- RingHom.smul_def
@[simp]
protected theorem RingHom.smul_def (f : R →+* R) (a : R) : f • a = f a 
Arguments: (R : Type v) [Semiring R] (f : R →+* R) (a : R)
Goal: f • a = f a
-- NonUnitalRingHom.coe_toMulHom
@[simp]
theorem coe_toMulHom (f : α →ₙ+* β) : ⇑f.toMulHom = f 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α →ₙ+* β)
Goal: ⇑f.toMulHom = ⇑f
-- NonUnitalRingHom.coe_mulHom_mk
@[simp]
theorem coe_mulHom_mk (f : α → β) (h₁ h₂ h₃) :
    ((⟨⟨f, h₁⟩, h₂, h₃⟩ : α →ₙ+* β) : α →ₙ* β) = ⟨f, h₁⟩ 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α → β) (h₁ : ∀ (x y : α), f (x * y) = f x * f y) (h₂ : { toFun := f, map_mul' := h₁ }.toFun 0 = 0) (h₃ :
  ∀ (x y : α),
    { toFun := f, map_mul' := h₁ }.toFun (x + y) =
      { toFun := f, map_mul' := h₁ }.toFun x + { toFun := f, map_mul' := h₁ }.toFun y)
Goal: ↑{ toFun := f, map_mul' := h₁, map_zero' := h₂, map_add' := h₃ } = { toFun := f, map_mul' := h₁ }
-- NonUnitalRingHom.coe_toAddMonoidHom
theorem coe_toAddMonoidHom (f : α →ₙ+* β) : ⇑f.toAddMonoidHom = f 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α →ₙ+* β)
Goal: ⇑f.toAddMonoidHom = ⇑f
-- NonUnitalRingHom.coe_addMonoidHom_mk
@[simp]
theorem coe_addMonoidHom_mk (f : α → β) (h₁ h₂ h₃) :
    ((⟨⟨f, h₁⟩, h₂, h₃⟩ : α →ₙ+* β) : α →+ β) = ⟨⟨f, h₂⟩, h₃⟩ 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α → β) (h₁ : ∀ (x y : α), f (x * y) = f x * f y) (h₂ : { toFun := f, map_mul' := h₁ }.toFun 0 = 0) (h₃ :
  ∀ (x y : α),
    { toFun := f, map_mul' := h₁ }.toFun (x + y) =
      { toFun := f, map_mul' := h₁ }.toFun x + { toFun := f, map_mul' := h₁ }.toFun y)
Goal: ↑{ toFun := f, map_mul' := h₁, map_zero' := h₂, map_add' := h₃ } = { toFun := f, map_zero' := h₂, map_add' := h₃ }
-- NonUnitalRingHom.coe_copy
@[simp]
theorem coe_copy (f : α →ₙ+* β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α →ₙ+* β) (f' : α → β) (h : f' = ⇑f)
Goal: ⇑(f.copy f' h) = f'
-- NonUnitalRingHom.copy_eq
theorem copy_eq (f : α →ₙ+* β) (f' : α → β) (h : f' = f) : f.copy f' h = f 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α →ₙ+* β) (f' : α → β) (h : f' = ⇑f)
Goal: f.copy f' h = f
-- NonUnitalRingHom.ext
@[ext]
theorem ext ⦃f g : α →ₙ+* β⦄ : (∀ x, f x = g x) → f = g 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] ⦃f g : α →ₙ+* β⦄
Goal: (∀ (x : α), f x = g x) → f = g
-- NonUnitalRingHom.ext_iff
protected theorem ext_iff {f g : α →ₙ+* β} : f = g ↔ ∀ x, f x = g x 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] {f g : α →ₙ+* β}
Goal: f = g ↔ ∀ (x : α), f x = g x
-- NonUnitalRingHom.mk_coe
@[simp]
theorem mk_coe (f : α →ₙ+* β) (h₁ h₂ h₃) : NonUnitalRingHom.mk (MulHom.mk f h₁) h₂ h₃ = f 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α →ₙ+* β) (h₁ : ∀ (x y : α), f (x * y) = f x * f y) (h₂ : { toFun := ⇑f, map_mul' := h₁ }.toFun 0 = 0) (h₃ :
  ∀ (x y : α),
    { toFun := ⇑f, map_mul' := h₁ }.toFun (x + y) =
      { toFun := ⇑f, map_mul' := h₁ }.toFun x + { toFun := ⇑f, map_mul' := h₁ }.toFun y)
Goal: { toFun := ⇑f, map_mul' := h₁, map_zero' := h₂, map_add' := h₃ } = f
-- NonUnitalRingHom.coe_addMonoidHom_injective
theorem coe_addMonoidHom_injective : Injective fun f : α →ₙ+* β => (f : α →+ β) 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β]
Goal: Function.Injective fun f => ↑f
-- NonUnitalRingHom.coe_mulHom_injective
theorem coe_mulHom_injective : Injective fun f : α →ₙ+* β => (f : α →ₙ* β) 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β]
Goal: Function.Injective fun f => ↑f
-- NonUnitalRingHom.coe_zero
@[simp]
theorem coe_zero : ⇑(0 : α →ₙ+* β) = 0 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β]
Goal: ⇑0 = 0
-- NonUnitalRingHom.zero_apply
@[simp]
theorem zero_apply (x : α) : (0 : α →ₙ+* β) x = 0 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (x : α)
Goal: 0 x = 0
-- NonUnitalRingHom.id_apply
@[simp]
theorem id_apply (x : α) : NonUnitalRingHom.id α x = x 
Arguments: {α : Type u_2} [NonUnitalNonAssocSemiring α] (x : α)
Goal: (NonUnitalRingHom.id α) x = x
-- NonUnitalRingHom.coe_addMonoidHom_id
@[simp]
theorem coe_addMonoidHom_id : (NonUnitalRingHom.id α : α →+ α) = AddMonoidHom.id α 
Arguments: {α : Type u_2} [NonUnitalNonAssocSemiring α]
Goal: ↑(NonUnitalRingHom.id α) = AddMonoidHom.id α
-- NonUnitalRingHom.coe_mulHom_id
@[simp]
theorem coe_mulHom_id : (NonUnitalRingHom.id α : α →ₙ* α) = MulHom.id α 
Arguments: {α : Type u_2} [NonUnitalNonAssocSemiring α]
Goal: ↑(NonUnitalRingHom.id α) = MulHom.id α
-- NonUnitalRingHom.comp_assoc
theorem comp_assoc {δ} {_ : NonUnitalNonAssocSemiring δ} (f : α →ₙ+* β) (g : β →ₙ+* γ)
    (h : γ →ₙ+* δ) : (h.comp g).comp f = h.comp (g.comp f) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] [NonUnitalNonAssocSemiring γ] {δ : Type u_5}
Goal: ∀ {x : NonUnitalNonAssocSemiring δ} (f : α →ₙ+* β) (g : β →ₙ+* γ) (h : γ →ₙ+* δ), (h.comp g).comp f = h.comp (g.comp f)
-- NonUnitalRingHom.coe_comp
@[simp]
theorem coe_comp (g : β →ₙ+* γ) (f : α →ₙ+* β) : ⇑(g.comp f) = g ∘ f 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] [NonUnitalNonAssocSemiring γ] (g : β →ₙ+* γ) (f : α →ₙ+* β)
Goal: ⇑(g.comp f) = ⇑g ∘ ⇑f
-- NonUnitalRingHom.comp_apply
@[simp]
theorem comp_apply (g : β →ₙ+* γ) (f : α →ₙ+* β) (x : α) : g.comp f x = g (f x) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] [NonUnitalNonAssocSemiring γ] (g : β →ₙ+* γ) (f : α →ₙ+* β) (x : α)
Goal: (g.comp f) x = g (f x)
-- NonUnitalRingHom.coe_comp_addMonoidHom
@[simp]
theorem coe_comp_addMonoidHom (g : β →ₙ+* γ) (f : α →ₙ+* β) :
    AddMonoidHom.mk ⟨g ∘ f, (g.comp f).map_zero'⟩ (g.comp f).map_add' = (g : β →+ γ).comp f 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] [NonUnitalNonAssocSemiring γ] (g : β →ₙ+* γ) (f : α →ₙ+* β)
Goal: { toFun := ⇑g ∘ ⇑f, map_zero' := ⋯, map_add' := ⋯ } = (↑g).comp ↑f
-- NonUnitalRingHom.coe_comp_mulHom
@[simp]
theorem coe_comp_mulHom (g : β →ₙ+* γ) (f : α →ₙ+* β) :
    MulHom.mk (g ∘ f) (g.comp f).map_mul' = (g : β →ₙ* γ).comp f 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] [NonUnitalNonAssocSemiring γ] (g : β →ₙ+* γ) (f : α →ₙ+* β)
Goal: { toFun := ⇑g ∘ ⇑f, map_mul' := ⋯ } = (↑g).comp ↑f
-- NonUnitalRingHom.comp_zero
@[simp]
theorem comp_zero (g : β →ₙ+* γ) : g.comp (0 : α →ₙ+* β) = 0 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] [NonUnitalNonAssocSemiring γ] (g : β →ₙ+* γ)
Goal: g.comp 0 = 0
-- NonUnitalRingHom.zero_comp
@[simp]
theorem zero_comp (f : α →ₙ+* β) : (0 : β →ₙ+* γ).comp f = 0 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] [NonUnitalNonAssocSemiring γ] (f : α →ₙ+* β)
Goal: NonUnitalRingHom.comp 0 f = 0
-- NonUnitalRingHom.comp_id
@[simp]
theorem comp_id (f : α →ₙ+* β) : f.comp (NonUnitalRingHom.id α) = f 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α →ₙ+* β)
Goal: f.comp (NonUnitalRingHom.id α) = f
-- NonUnitalRingHom.id_comp
@[simp]
theorem id_comp (f : α →ₙ+* β) : (NonUnitalRingHom.id β).comp f = f 
Arguments: {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α →ₙ+* β)
Goal: (NonUnitalRingHom.id β).comp f = f
-- NonUnitalRingHom.one_def
theorem one_def : (1 : α →ₙ+* α) = NonUnitalRingHom.id α 
Arguments: {α : Type u_2} [NonUnitalNonAssocSemiring α]
Goal: 1 = NonUnitalRingHom.id α
-- NonUnitalRingHom.coe_one
@[simp]
theorem coe_one : ⇑(1 : α →ₙ+* α) = id 
Arguments: {α : Type u_2} [NonUnitalNonAssocSemiring α]
Goal: ⇑1 = id
-- NonUnitalRingHom.mul_def
theorem mul_def (f g : α →ₙ+* α) : f * g = f.comp g 
Arguments: {α : Type u_2} [NonUnitalNonAssocSemiring α] (f g : α →ₙ+* α)
Goal: f * g = f.comp g
-- NonUnitalRingHom.coe_mul
@[simp]
theorem coe_mul (f g : α →ₙ+* α) : ⇑(f * g) = f ∘ g 
Arguments: {α : Type u_2} [NonUnitalNonAssocSemiring α] (f g : α →ₙ+* α)
Goal: ⇑(f * g) = ⇑f ∘ ⇑g
-- NonUnitalRingHom.cancel_right
@[simp]
theorem cancel_right {g₁ g₂ : β →ₙ+* γ} {f : α →ₙ+* β} (hf : Surjective f) :
    g₁.comp f = g₂.comp f ↔ g₁ = g₂ 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] [NonUnitalNonAssocSemiring γ] {g₁ g₂ : β →ₙ+* γ} {f : α →ₙ+* β} (hf : Function.Surjective ⇑f)
Goal: g₁.comp f = g₂.comp f ↔ g₁ = g₂
-- NonUnitalRingHom.cancel_left
@[simp]
theorem cancel_left {g : β →ₙ+* γ} {f₁ f₂ : α →ₙ+* β} (hg : Injective g) :
    g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] [NonUnitalNonAssocSemiring γ] {g : β →ₙ+* γ} {f₁ f₂ : α →ₙ+* β} (hg : Function.Injective ⇑g)
Goal: g.comp f₁ = g.comp f₂ ↔ f₁ = f₂