ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- NonUnitalAlgHom.toFun_eq_coe
@[simp]
theorem toFun_eq_coe (f : A →ₛₙₐ[φ] B) : f.toFun = ⇑f 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] (φ : R →* S) (A : Type v) (B : Type w) [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B)
Goal: f.toFun = ⇑f
-- NonUnitalAlgHom.coe_coe
@[simp]
protected theorem coe_coe {F : Type*} [FunLike F A B]
    [NonUnitalAlgSemiHomClass F φ A B] (f : F) :
    ⇑(f : A →ₛₙₐ[φ] B) = f 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] {F : Type u_2} [FunLike F A B] [NonUnitalAlgSemiHomClass F φ A B] (f : F)
Goal: ⇑↑f = ⇑f
-- NonUnitalAlgHom.coe_injective
theorem coe_injective : @Function.Injective (A →ₛₙₐ[φ] B) (A → B) (↑) 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B]
Goal: Function.Injective DFunLike.coe
-- NonUnitalAlgHom.ext
@[ext]
theorem ext {f g : A →ₛₙₐ[φ] B} (h : ∀ x, f x = g x) : f = g 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] {f g : A →ₛₙₐ[φ] B} (h : ∀ (x : A), f x = g x)
Goal: f = g
-- NonUnitalAlgHom.ext_iff
theorem ext_iff {f g : A →ₛₙₐ[φ] B} : f = g ↔ ∀ x, f x = g x 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] {f g : A →ₛₙₐ[φ] B}
Goal: f = g ↔ ∀ (x : A), f x = g x
-- NonUnitalAlgHom.congr_fun
theorem congr_fun {f g : A →ₛₙₐ[φ] B} (h : f = g) (x : A) : f x = g x 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] {f g : A →ₛₙₐ[φ] B} (h : f = g) (x : A)
Goal: f x = g x
-- NonUnitalAlgHom.coe_mk
@[simp]
theorem coe_mk (f : A → B) (h₁ h₂ h₃ h₄) : ⇑(⟨⟨⟨f, h₁⟩, h₂, h₃⟩, h₄⟩ : A →ₛₙₐ[φ] B) = f 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A → B) (h₁ : ∀ (m : R) (x : A), f (m • x) = φ m • f x) (h₂ : { toFun := f, map_smul' := h₁ }.toFun 0 = 0) (h₃ :
  ∀ (x y : A),
    { toFun := f, map_smul' := h₁ }.toFun (x + y) =
      { toFun := f, map_smul' := h₁ }.toFun x + { toFun := f, map_smul' := h₁ }.toFun y) (h₄ :
  ∀ (x y : A),
    { toFun := f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun (x * y) =
      { toFun := f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun x *
        { toFun := f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun y)
Goal: ⇑{ toFun := f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃, map_mul' := h₄ } = f
-- NonUnitalAlgHom.mk_coe
@[simp]
theorem mk_coe (f : A →ₛₙₐ[φ] B) (h₁ h₂ h₃ h₄) : (⟨⟨⟨f, h₁⟩, h₂, h₃⟩, h₄⟩ : A →ₛₙₐ[φ] B) = f 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B) (h₁ : ∀ (m : R) (x : A), f (m • x) = φ m • f x) (h₂ : { toFun := ⇑f, map_smul' := h₁ }.toFun 0 = 0) (h₃ :
  ∀ (x y : A),
    { toFun := ⇑f, map_smul' := h₁ }.toFun (x + y) =
      { toFun := ⇑f, map_smul' := h₁ }.toFun x + { toFun := ⇑f, map_smul' := h₁ }.toFun y) (h₄ :
  ∀ (x y : A),
    { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun (x * y) =
      { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun x *
        { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun y)
Goal: { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃, map_mul' := h₄ } = f
-- NonUnitalAlgHom.toDistribMulActionHom_eq_coe
@[simp]
theorem toDistribMulActionHom_eq_coe (f : A →ₛₙₐ[φ] B) : f.toDistribMulActionHom = ↑f 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B)
Goal: f.toDistribMulActionHom = ↑f
-- NonUnitalAlgHom.toMulHom_eq_coe
@[simp]
theorem toMulHom_eq_coe (f : A →ₛₙₐ[φ] B) : f.toMulHom = ↑f 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B)
Goal: f.toMulHom = ↑f
-- NonUnitalAlgHom.coe_to_distribMulActionHom
@[simp, norm_cast]
theorem coe_to_distribMulActionHom (f : A →ₛₙₐ[φ] B) : ⇑(f : A →ₑ+[φ] B) = f 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B)
Goal: ⇑↑f = ⇑f
-- NonUnitalAlgHom.coe_to_mulHom
@[simp, norm_cast]
theorem coe_to_mulHom (f : A →ₛₙₐ[φ] B) : ⇑(f : A →ₙ* B) = f 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B)
Goal: ⇑↑f = ⇑f
-- NonUnitalAlgHom.to_distribMulActionHom_injective
theorem to_distribMulActionHom_injective {f g : A →ₛₙₐ[φ] B}
    (h : (f : A →ₑ+[φ] B) = (g : A →ₑ+[φ] B)) : f = g 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] {f g : A →ₛₙₐ[φ] B} (h : ↑f = ↑g)
Goal: f = g
-- NonUnitalAlgHom.to_mulHom_injective
theorem to_mulHom_injective {f g : A →ₛₙₐ[φ] B} (h : (f : A →ₙ* B) = (g : A →ₙ* B)) : f = g 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] {f g : A →ₛₙₐ[φ] B} (h : ↑f = ↑g)
Goal: f = g
-- NonUnitalAlgHom.coe_distribMulActionHom_mk
@[norm_cast]
theorem coe_distribMulActionHom_mk (f : A →ₛₙₐ[φ] B) (h₁ h₂ h₃ h₄) :
    ((⟨⟨⟨f, h₁⟩, h₂, h₃⟩, h₄⟩ : A →ₛₙₐ[φ] B) : A →ₑ+[φ] B) = ⟨⟨f, h₁⟩, h₂, h₃⟩ 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B) (h₁ : ∀ (m : R) (x : A), f (m • x) = φ m • f x) (h₂ : { toFun := ⇑f, map_smul' := h₁ }.toFun 0 = 0) (h₃ :
  ∀ (x y : A),
    { toFun := ⇑f, map_smul' := h₁ }.toFun (x + y) =
      { toFun := ⇑f, map_smul' := h₁ }.toFun x + { toFun := ⇑f, map_smul' := h₁ }.toFun y) (h₄ :
  ∀ (x y : A),
    { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun (x * y) =
      { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun x *
        { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun y)
Goal: ↑{ toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃, map_mul' := h₄ } =
  { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }
-- NonUnitalAlgHom.coe_mulHom_mk
@[norm_cast]
theorem coe_mulHom_mk (f : A →ₛₙₐ[φ] B) (h₁ h₂ h₃ h₄) :
    ((⟨⟨⟨f, h₁⟩, h₂, h₃⟩, h₄⟩ : A →ₛₙₐ[φ] B) : A →ₙ* B) = ⟨f, h₄⟩ 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B) (h₁ : ∀ (m : R) (x : A), f (m • x) = φ m • f x) (h₂ : { toFun := ⇑f, map_smul' := h₁ }.toFun 0 = 0) (h₃ :
  ∀ (x y : A),
    { toFun := ⇑f, map_smul' := h₁ }.toFun (x + y) =
      { toFun := ⇑f, map_smul' := h₁ }.toFun x + { toFun := ⇑f, map_smul' := h₁ }.toFun y) (h₄ :
  ∀ (x y : A),
    { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun (x * y) =
      { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun x *
        { toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃ }.toFun y)
Goal: ↑{ toFun := ⇑f, map_smul' := h₁, map_zero' := h₂, map_add' := h₃, map_mul' := h₄ } = { toFun := ⇑f, map_mul' := h₄ }
-- NonUnitalAlgHom.map_smul
protected theorem map_smul (f : A →ₛₙₐ[φ] B) (c : R) (x : A) : f (c • x) = (φ c) • f x 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B) (c : R) (x : A)
Goal: f (c • x) = φ c • f x
-- NonUnitalAlgHom.map_add
protected theorem map_add (f : A →ₛₙₐ[φ] B) (x y : A) : f (x + y) = f x + f y 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B) (x y : A)
Goal: f (x + y) = f x + f y
-- NonUnitalAlgHom.map_mul
protected theorem map_mul (f : A →ₛₙₐ[φ] B) (x y : A) : f (x * y) = f x * f y 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B) (x y : A)
Goal: f (x * y) = f x * f y
-- NonUnitalAlgHom.map_zero
protected theorem map_zero (f : A →ₛₙₐ[φ] B) : f 0 = 0 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (f : A →ₛₙₐ[φ] B)
Goal: f 0 = 0
-- NonUnitalAlgHom.coe_id
@[simp]
theorem coe_id : ⇑(NonUnitalAlgHom.id R A) = id 
Arguments: {R : Type u} [Monoid R] {A : Type v} [NonUnitalNonAssocSemiring A] [DistribMulAction R A]
Goal: ⇑(NonUnitalAlgHom.id R A) = id
-- NonUnitalAlgHom.coe_zero
@[simp]
theorem coe_zero : ⇑(0 : A →ₛₙₐ[φ] B) = 0 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B]
Goal: ⇑0 = 0
-- NonUnitalAlgHom.coe_one
@[simp]
theorem coe_one : ((1 : A →ₙₐ[R] A) : A → A) = id 
Arguments: {R : Type u} [Monoid R] {A : Type v} [NonUnitalNonAssocSemiring A] [DistribMulAction R A]
Goal: ⇑1 = id
-- NonUnitalAlgHom.zero_apply
theorem zero_apply (a : A) : (0 : A →ₛₙₐ[φ] B) a = 0 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] (a : A)
Goal: 0 a = 0
-- NonUnitalAlgHom.one_apply
theorem one_apply (a : A) : (1 : A →ₙₐ[R] A) a = a 
Arguments: {R : Type u} [Monoid R] {A : Type v} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] (a : A)
Goal: 1 a = a
-- NonUnitalAlgHom.coe_comp
@[simp, norm_cast]
theorem coe_comp (f : B →ₛₙₐ[ψ] C) (g : A →ₛₙₐ[φ] B) [MonoidHom.CompTriple φ ψ χ] :
    ⇑(f.comp g) = (⇑f) ∘ (⇑g) 
Arguments: {R : Type u} {S : Type u₁} {T : Type u_1} [Monoid R] [Monoid S] [Monoid T] {φ : R →* S} {A : Type v} {B : Type w} {C : Type w₁} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] [NonUnitalNonAssocSemiring C] [DistribMulAction T C] {ψ : S →* T} {χ : R →* T} (f : B →ₛₙₐ[ψ] C) (g : A →ₛₙₐ[φ] B) [φ.CompTriple ψ χ]
Goal: ⇑(f.comp g) = ⇑f ∘ ⇑g
-- NonUnitalAlgHom.comp_apply
theorem comp_apply (f : B →ₛₙₐ[ψ] C) (g : A →ₛₙₐ[φ] B) [MonoidHom.CompTriple φ ψ χ] (x : A) :
    f.comp g x = f (g x) 
Arguments: {R : Type u} {S : Type u₁} {T : Type u_1} [Monoid R] [Monoid S] [Monoid T] {φ : R →* S} {A : Type v} {B : Type w} {C : Type w₁} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] [NonUnitalNonAssocSemiring C] [DistribMulAction T C] {ψ : S →* T} {χ : R →* T} (f : B →ₛₙₐ[ψ] C) (g : A →ₛₙₐ[φ] B) [φ.CompTriple ψ χ] (x : A)
Goal: (f.comp g) x = f (g x)
-- NonUnitalAlgHom.coe_inverse
@[simp]
theorem coe_inverse (f : A →ₙₐ[R] B₁) (g : B₁ → A) (h₁ : Function.LeftInverse g f)
    (h₂ : Function.RightInverse g f) : (inverse f g h₁ h₂ : B₁ → A) = g 
Arguments: {R : Type u} [Monoid R] {A : Type v} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] {B₁ : Type u_2} [NonUnitalNonAssocSemiring B₁] [DistribMulAction R B₁] (f : A →ₙₐ[R] B₁) (g : B₁ → A) (h₁ : Function.LeftInverse g ⇑f) (h₂ : Function.RightInverse g ⇑f)
Goal: ⇑(f.inverse g h₁ h₂) = g
-- NonUnitalAlgHom.coe_inverse'
@[simp]
theorem coe_inverse' (f : A →ₛₙₐ[φ] B) (g : B → A)
    (k : Function.RightInverse φ' φ)
    (h₁ : Function.LeftInverse g f) (h₂ : Function.RightInverse g f) :
    (inverse' f g k h₁ h₂ : B → A) = g 
Arguments: {R : Type u} {S : Type u₁} [Monoid R] [Monoid S] {φ : R →* S} {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction S B] {φ' : S →* R} (f : A →ₛₙₐ[φ] B) (g : B → A) (k : Function.RightInverse ⇑φ' ⇑φ) (h₁ : Function.LeftInverse g ⇑f) (h₂ : Function.RightInverse g ⇑f)
Goal: ⇑(f.inverse' g k h₁ h₂) = g
-- NonUnitalAlgHom.fst_apply
@[simps]
def fst : A × B →ₙₐ[R] A 
Arguments: (R : Type u) [Monoid R] (A : Type v) (B : Type w) [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B] (self : A × B)
Goal: (NonUnitalAlgHom.fst R A B) self = self.1
-- NonUnitalAlgHom.fst_toFun
@[simps]
def fst : A × B →ₙₐ[R] A 
Arguments: (R : Type u) [Monoid R] (A : Type v) (B : Type w) [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B] (self : A × B)
Goal: (NonUnitalAlgHom.fst R A B) self = self.1
-- NonUnitalAlgHom.snd_apply
@[simps]
def snd : A × B →ₙₐ[R] B 
Arguments: (R : Type u) [Monoid R] (A : Type v) (B : Type w) [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B] (self : A × B)
Goal: (NonUnitalAlgHom.snd R A B) self = self.2
-- NonUnitalAlgHom.snd_toFun
@[simps]
def snd : A × B →ₙₐ[R] B 
Arguments: (R : Type u) [Monoid R] (A : Type v) (B : Type w) [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B] (self : A × B)
Goal: (NonUnitalAlgHom.snd R A B) self = self.2
-- NonUnitalAlgHom.prod_toFun
@[simps]
def prod (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) : A →ₙₐ[R] B × C 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} {C : Type w₁} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [NonUnitalNonAssocSemiring C] [DistribMulAction R B] [DistribMulAction R C] (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) (i : A)
Goal: (f.prod g) i = Pi.prod (⇑f) (⇑g) i
-- NonUnitalAlgHom.prod_apply
@[simps]
def prod (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) : A →ₙₐ[R] B × C 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} {C : Type w₁} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [NonUnitalNonAssocSemiring C] [DistribMulAction R B] [DistribMulAction R C] (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) (i : A)
Goal: (f.prod g) i = Pi.prod (⇑f) (⇑g) i
-- NonUnitalAlgHom.coe_prod
theorem coe_prod (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) : ⇑(f.prod g) = Pi.prod f g 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} {C : Type w₁} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [NonUnitalNonAssocSemiring C] [DistribMulAction R B] [DistribMulAction R C] (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C)
Goal: ⇑(f.prod g) = Pi.prod ⇑f ⇑g
-- NonUnitalAlgHom.fst_prod
@[simp]
theorem fst_prod (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) : (fst R B C).comp (prod f g) = f 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} {C : Type w₁} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [NonUnitalNonAssocSemiring C] [DistribMulAction R B] [DistribMulAction R C] (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C)
Goal: (NonUnitalAlgHom.fst R B C).comp (f.prod g) = f
-- NonUnitalAlgHom.snd_prod
@[simp]
theorem snd_prod (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) : (snd R B C).comp (prod f g) = g 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} {C : Type w₁} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [NonUnitalNonAssocSemiring C] [DistribMulAction R B] [DistribMulAction R C] (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C)
Goal: (NonUnitalAlgHom.snd R B C).comp (f.prod g) = g
-- NonUnitalAlgHom.prod_fst_snd
@[simp]
theorem prod_fst_snd : prod (fst R A B) (snd R A B) = 1 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B]
Goal: (NonUnitalAlgHom.fst R A B).prod (NonUnitalAlgHom.snd R A B) = 1
-- NonUnitalAlgHom.prodEquiv_apply
@[simps]
def prodEquiv : (A →ₙₐ[R] B) × (A →ₙₐ[R] C) ≃ (A →ₙₐ[R] B × C) 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} {C : Type w₁} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [NonUnitalNonAssocSemiring C] [DistribMulAction R B] [DistribMulAction R C] (f : (A →ₙₐ[R] B) × (A →ₙₐ[R] C))
Goal: NonUnitalAlgHom.prodEquiv f = f.1.prod f.2
-- NonUnitalAlgHom.prodEquiv_symm_apply
@[simps]
def prodEquiv : (A →ₙₐ[R] B) × (A →ₙₐ[R] C) ≃ (A →ₙₐ[R] B × C) 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} {C : Type w₁} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [NonUnitalNonAssocSemiring C] [DistribMulAction R B] [DistribMulAction R C] (f : A →ₙₐ[R] B × C)
Goal: NonUnitalAlgHom.prodEquiv.symm f = ((NonUnitalAlgHom.fst R B C).comp f, (NonUnitalAlgHom.snd R B C).comp f)
-- NonUnitalAlgHom.coe_inl
@[simp]
theorem coe_inl : (inl R A B : A → A × B) = fun x => (x, 0) 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B]
Goal: ⇑(NonUnitalAlgHom.inl R A B) = fun x => (x, 0)
-- NonUnitalAlgHom.inl_apply
theorem inl_apply (x : A) : inl R A B x = (x, 0) 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B] (x : A)
Goal: (NonUnitalAlgHom.inl R A B) x = (x, 0)
-- NonUnitalAlgHom.coe_inr
@[simp]
theorem coe_inr : (inr R A B : B → A × B) = Prod.mk 0 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B]
Goal: ⇑(NonUnitalAlgHom.inr R A B) = Prod.mk 0
-- NonUnitalAlgHom.inr_apply
theorem inr_apply (x : B) : inr R A B x = (0, x) 
Arguments: {R : Type u} [Monoid R] {A : Type v} {B : Type w} [NonUnitalNonAssocSemiring A] [DistribMulAction R A] [NonUnitalNonAssocSemiring B] [DistribMulAction R B] (x : B)
Goal: (NonUnitalAlgHom.inr R A B) x = (0, x)
-- AlgHom.toNonUnitalAlgHom_eq_coe
@[simp]
theorem toNonUnitalAlgHom_eq_coe (f : A →ₐ[R] B) : f.toNonUnitalAlgHom = f 
Arguments: {R : Type u_2} [CommSemiring R] {A : Type u_3} {B : Type u_4} [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B)
Goal: ↑f = NonUnitalAlgHomClass.toNonUnitalAlgHom f
-- AlgHom.coe_to_nonUnitalAlgHom
@[simp, norm_cast, nolint simpNF]
theorem coe_to_nonUnitalAlgHom (f : A →ₐ[R] B) : ⇑(f.toNonUnitalAlgHom) = ⇑f 
Arguments: {R : Type u_2} [CommSemiring R] {A : Type u_3} {B : Type u_4} [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B)
Goal: ⇑↑f = ⇑f
-- NonUnitalAlgHom.restrictScalars_apply
@[simp]
lemma restrictScalars_apply (f : A →ₙₐ[S] B) (x : A) : f.restrictScalars R x = f x 
Arguments: (R : Type u_1) {S : Type u_2} {A : Type u_3} {B : Type u_4} [Monoid R] [Monoid S] [NonUnitalNonAssocSemiring A] [NonUnitalNonAssocSemiring B] [MulAction R S] [DistribMulAction S A] [DistribMulAction S B] [DistribMulAction R A] [DistribMulAction R B] [IsScalarTower R S A] [IsScalarTower R S B] (f : A →ₙₐ[S] B) (x : A)
Goal: (NonUnitalAlgHom.restrictScalars R f) x = f x
-- NonUnitalAlgHom.coe_restrictScalars
lemma coe_restrictScalars (f : A →ₙₐ[S] B) : (f.restrictScalars R : A →ₙ+* B) = f 
Arguments: (R : Type u_1) {S : Type u_2} {A : Type u_3} {B : Type u_4} [Monoid R] [Monoid S] [NonUnitalNonAssocSemiring A] [NonUnitalNonAssocSemiring B] [MulAction R S] [DistribMulAction S A] [DistribMulAction S B] [DistribMulAction R A] [DistribMulAction R B] [IsScalarTower R S A] [IsScalarTower R S B] (f : A →ₙₐ[S] B)
Goal: ↑(NonUnitalAlgHom.restrictScalars R f) = ↑f
-- NonUnitalAlgHom.coe_restrictScalars'
lemma coe_restrictScalars' (f : A →ₙₐ[S] B) : (f.restrictScalars R : A → B) = f 
Arguments: (R : Type u_1) {S : Type u_2} {A : Type u_3} {B : Type u_4} [Monoid R] [Monoid S] [NonUnitalNonAssocSemiring A] [NonUnitalNonAssocSemiring B] [MulAction R S] [DistribMulAction S A] [DistribMulAction S B] [DistribMulAction R A] [DistribMulAction R B] [IsScalarTower R S A] [IsScalarTower R S B] (f : A →ₙₐ[S] B)
Goal: ⇑(NonUnitalAlgHom.restrictScalars R f) = ⇑f
-- NonUnitalAlgHom.restrictScalars_injective
theorem restrictScalars_injective :
    Function.Injective (restrictScalars R : (A →ₙₐ[S] B) → A →ₙₐ[R] B) 
Arguments: (R : Type u_1) {S : Type u_2} {A : Type u_3} {B : Type u_4} [Monoid R] [Monoid S] [NonUnitalNonAssocSemiring A] [NonUnitalNonAssocSemiring B] [MulAction R S] [DistribMulAction S A] [DistribMulAction S B] [DistribMulAction R A] [DistribMulAction R B] [IsScalarTower R S A] [IsScalarTower R S B]
Goal: Function.Injective (NonUnitalAlgHom.restrictScalars R)
-- Rat.mkRat_eq_div
lemma mkRat_eq_div (n : ℤ) (d : ℕ) : mkRat n d = n / d 
Arguments: (n : ℤ) (d : ℕ)
Goal: mkRat n d = ↑n / ↑d
-- Rat.divInt_div_divInt_cancel_left
lemma divInt_div_divInt_cancel_left {x : ℤ} (hx : x ≠ 0) (n d : ℤ) :
    n /. x / (d /. x) = n /. d 
Arguments: {x : ℤ} (hx : x ≠ 0) (n d : ℤ)
Goal: Rat.divInt n x / Rat.divInt d x = Rat.divInt n d
-- Rat.divInt_div_divInt_cancel_right
lemma divInt_div_divInt_cancel_right {x : ℤ} (hx : x ≠ 0) (n d : ℤ) :
    x /. n / (x /. d) = d /. n 
Arguments: {x : ℤ} (hx : x ≠ 0) (n d : ℤ)
Goal: Rat.divInt x n / Rat.divInt x d = Rat.divInt d n
-- Rat.num_div_den
lemma num_div_den (r : ℚ) : (r.num : ℚ) / (r.den : ℚ) = r 
Arguments: (r : ℚ)
Goal: ↑r.num / ↑r.den = r
-- Rat.divInt_pow
@[simp] lemma divInt_pow (num : ℕ) (den : ℤ) (n : ℕ) : (num /. den) ^ n = num ^ n /. den ^ n 
Arguments: (num : ℕ) (den : ℤ) (n : ℕ)
Goal: Rat.divInt (↑num) den ^ n = Rat.divInt (↑num ^ n) (den ^ n)
-- Rat.mkRat_pow
@[simp] lemma mkRat_pow (num den : ℕ) (n : ℕ) : mkRat num den ^ n = mkRat (num ^ n) (den ^ n) 
Arguments: (num den n : ℕ)
Goal: mkRat (↑num) den ^ n = mkRat (↑num ^ n) (den ^ n)
-- Rat.natCast_eq_divInt
lemma natCast_eq_divInt (n : ℕ) : ↑n = n /. 1 
Arguments: (n : ℕ)
Goal: ↑n = Rat.divInt (↑n) 1
-- Rat.mul_den_eq_num
@[simp] lemma mul_den_eq_num (q : ℚ) : q * q.den = q.num 
Arguments: (q : ℚ)
Goal: q * ↑q.den = ↑q.num
-- Rat.den_mul_eq_num
@[simp] lemma den_mul_eq_num (q : ℚ) : q.den * q = q.num 
Arguments: (q : ℚ)
Goal: ↑q.den * q = ↑q.num
-- IsUnit.val_inv_subInvSMul
@[simps]
noncomputable def IsUnit.subInvSMul {r : Rˣ} {s : R} {a : A} (h : IsUnit <| r • ↑ₐ s - a) : Aˣ 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : Rˣ} {s : R} {a : A} (h : IsUnit (r • (algebraMap R A) s - a))
Goal: ↑h.subInvSMul⁻¹ = r • ↑h.unit⁻¹
-- IsUnit.val_subInvSMul
@[simps]
noncomputable def IsUnit.subInvSMul {r : Rˣ} {s : R} {a : A} (h : IsUnit <| r • ↑ₐ s - a) : Aˣ 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Ring A] [Algebra R A] {r : Rˣ} {s : R} {a : A} (h : IsUnit (r • (algebraMap R A) s - a))
Goal: ↑h.subInvSMul = (algebraMap R A) s - r⁻¹ • a
-- spectrum.mem_iff
theorem 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)