ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Subalgebra.coe_restrictScalars
@[simp]
theorem coe_restrictScalars {U : Subalgebra S A} : (restrictScalars R U : Set A) = (U : Set A) 
Arguments: (R : Type u) {S : Type v} {A : Type w} [CommSemiring R] [CommSemiring S] [Semiring A] [Algebra R S] [Algebra S A] [Algebra R A] [IsScalarTower R S A] {U : Subalgebra S A}
Goal: ↑(Subalgebra.restrictScalars R U) = ↑U
-- Subalgebra.restrictScalars_top
@[simp]
theorem restrictScalars_top : restrictScalars R (⊤ : Subalgebra S A) = ⊤ 
Arguments: (R : Type u) {S : Type v} {A : Type w} [CommSemiring R] [CommSemiring S] [Semiring A] [Algebra R S] [Algebra S A] [Algebra R A] [IsScalarTower R S A]
Goal: Subalgebra.restrictScalars R ⊤ = ⊤
-- Subalgebra.restrictScalars_toSubmodule
@[simp]
theorem restrictScalars_toSubmodule {U : Subalgebra S A} :
    Subalgebra.toSubmodule (U.restrictScalars R) = U.toSubmodule.restrictScalars R 
Arguments: (R : Type u) {S : Type v} {A : Type w} [CommSemiring R] [CommSemiring S] [Semiring A] [Algebra R S] [Algebra S A] [Algebra R A] [IsScalarTower R S A] {U : Subalgebra S A}
Goal: Subalgebra.toSubmodule (Subalgebra.restrictScalars R U) = Submodule.restrictScalars R (Subalgebra.toSubmodule U)
-- Subalgebra.mem_restrictScalars
@[simp]
theorem mem_restrictScalars {U : Subalgebra S A} {x : A} : x ∈ restrictScalars R U ↔ x ∈ U 
Arguments: (R : Type u) {S : Type v} {A : Type w} [CommSemiring R] [CommSemiring S] [Semiring A] [Algebra R S] [Algebra S A] [Algebra R A] [IsScalarTower R S A] {U : Subalgebra S A} {x : A}
Goal: x ∈ Subalgebra.restrictScalars R U ↔ x ∈ U
-- Subalgebra.restrictScalars_injective
theorem restrictScalars_injective :
    Function.Injective (restrictScalars R : Subalgebra S A → Subalgebra R A) 
Arguments: (R : Type u) {S : Type v} {A : Type w} [CommSemiring R] [CommSemiring S] [Semiring A] [Algebra R S] [Algebra S A] [Algebra R A] [IsScalarTower R S A]
Goal: Function.Injective (Subalgebra.restrictScalars R)
-- Subalgebra.range_isScalarTower_toAlgHom
@[simp]
lemma range_isScalarTower_toAlgHom [CommSemiring R] [CommSemiring A]
    [Algebra R A] (S : Subalgebra R A) :
    LinearMap.range (IsScalarTower.toAlgHom R S A) = Subalgebra.toSubmodule S 
Arguments: (R : Type u) (A : Type w) [CommSemiring R] [CommSemiring A] [Algebra R A] (S : Subalgebra R A)
Goal: LinearMap.range (IsScalarTower.toAlgHom R (↥S) A) = Subalgebra.toSubmodule S
-- IsScalarTower.adjoin_range_toAlgHom
theorem adjoin_range_toAlgHom (t : Set A) :
    (Algebra.adjoin (toAlgHom R S A).range t).restrictScalars R =
      (Algebra.adjoin S t).restrictScalars R 
Arguments: (R : Type u) (S : Type v) (A : Type w) [CommSemiring R] [CommSemiring S] [CommSemiring A] [Algebra R S] [Algebra S A] [Algebra R A] [IsScalarTower R S A] (t : Set A)
Goal: Subalgebra.restrictScalars R (Algebra.adjoin (↥(IsScalarTower.toAlgHom R S A).range) t) =
  Subalgebra.restrictScalars R (Algebra.adjoin S t)
-- Subalgebra.coe_prod
@[simp]
theorem coe_prod : (prod S S₁ : Set (A × B)) = (S : Set A) ×ˢ (S₁ : Set B) 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (S : Subalgebra R A) (S₁ : Subalgebra R B)
Goal: ↑(S.prod S₁) = ↑S ×ˢ ↑S₁
-- Subalgebra.prod_toSubmodule
theorem prod_toSubmodule : toSubmodule (S.prod S₁) = (toSubmodule S).prod (toSubmodule S₁) 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (S : Subalgebra R A) (S₁ : Subalgebra R B)
Goal: Subalgebra.toSubmodule (S.prod S₁) = (Subalgebra.toSubmodule S).prod (Subalgebra.toSubmodule S₁)
-- Subalgebra.mem_prod
@[simp]
theorem mem_prod {S : Subalgebra R A} {S₁ : Subalgebra R B} {x : A × B} :
    x ∈ prod S S₁ ↔ x.1 ∈ S ∧ x.2 ∈ S₁ 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S : Subalgebra R A} {S₁ : Subalgebra R B} {x : A × B}
Goal: x ∈ S.prod S₁ ↔ x.1 ∈ S ∧ x.2 ∈ S₁
-- Subalgebra.prod_top
@[simp]
theorem prod_top : (prod ⊤ ⊤ : Subalgebra R (A × B)) = ⊤ 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B]
Goal: ⊤.prod ⊤ = ⊤
-- Subalgebra.prod_mono
theorem prod_mono {S T : Subalgebra R A} {S₁ T₁ : Subalgebra R B} :
    S ≤ T → S₁ ≤ T₁ → prod S S₁ ≤ prod T T₁ 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S T : Subalgebra R A} {S₁ T₁ : Subalgebra R B}
Goal: S ≤ T → S₁ ≤ T₁ → S.prod S₁ ≤ T.prod T₁
-- Subalgebra.prod_inf_prod
@[simp]
theorem prod_inf_prod {S T : Subalgebra R A} {S₁ T₁ : Subalgebra R B} :
    S.prod S₁ ⊓ T.prod T₁ = (S ⊓ T).prod (S₁ ⊓ T₁) 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S T : Subalgebra R A} {S₁ T₁ : Subalgebra R B}
Goal: S.prod S₁ ⊓ T.prod T₁ = (S ⊓ T).prod (S₁ ⊓ T₁)
-- Pi.algebraMap_def
theorem algebraMap_def {_ : CommSemiring R} [_s : ∀ i, Semiring (f i)] [∀ i, Algebra R (f i)]
    (a : R) : algebraMap R (∀ i, f i) a = fun i => algebraMap R (f i) a 
Arguments: (I : Type u) {R : Type u_1} (f : I → Type v)
Goal: ∀ {x : CommSemiring R} [_s : (i : I) → Semiring (f i)] [inst : (i : I) → Algebra R (f i)] (a : R),
  (algebraMap R ((i : I) → f i)) a = fun i => (algebraMap R (f i)) a
-- Pi.algebraMap_apply
@[simp]
theorem algebraMap_apply {_ : CommSemiring R} [_s : ∀ i, Semiring (f i)] [∀ i, Algebra R (f i)]
    (a : R) (i : I) : algebraMap R (∀ i, f i) a i = algebraMap R (f i) a 
Arguments: (I : Type u) {R : Type u_1} (f : I → Type v)
Goal: ∀ {x : CommSemiring R} [_s : (i : I) → Semiring (f i)] [inst : (i : I) → Algebra R (f i)] (a : R) (i : I),
  (algebraMap R ((i : I) → f i)) a i = (algebraMap R (f i)) a
-- Pi.evalAlgHom_apply
@[simps]
def evalAlgHom {_ : CommSemiring R} [∀ i, Semiring (f i)] [∀ i, Algebra R (f i)] (i : I) :
    (∀ i, f i) →ₐ[R] f i 
Arguments: {I : Type u} (R : Type u_1) (f : I → Type v)
Goal: ∀ {x : CommSemiring R} [inst : (i : I) → Semiring (f i)] [inst_1 : (i : I) → Algebra R (f i)] (i : I)
  (f_1 : (i : I) → f i), (Pi.evalAlgHom R f i) f_1 = f_1 i
-- Pi.constAlgHom_apply
@[simps]
def constAlgHom : B →ₐ[R] A → B 
Arguments: (R : Type u_1) (A : Type u_2) (B : Type u_3) [CommSemiring R] [Semiring B] [Algebra R B] (a : B)
Goal: ∀ (a_1 : A), (Pi.constAlgHom R A B) a a_1 = Function.const A a a_1
-- Pi.constRingHom_eq_algebraMap
@[simp]
theorem constRingHom_eq_algebraMap : constRingHom A R = algebraMap R (A → R) 
Arguments: (R : Type u_1) (A : Type u_2) [CommSemiring R]
Goal: Pi.constRingHom A R = algebraMap R (A → R)
-- Pi.constAlgHom_eq_algebra_ofId
@[simp]
theorem constAlgHom_eq_algebra_ofId : constAlgHom R A R = Algebra.ofId R (A → R) 
Arguments: (R : Type u_1) (A : Type u_2) [CommSemiring R]
Goal: Pi.constAlgHom R A R = Algebra.ofId R (A → R)
-- AlgHom.compLeft_apply
@[simps]
protected def compLeft (f : A →ₐ[R] B) (I : Type*) : (I → A) →ₐ[R] I → B 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B) (I : Type u_2) (h : I → A)
Goal: ∀ (a : I), (f.compLeft I) h a = (⇑f ∘ h) a
-- AlgEquiv.piCongrRight_apply
@[simps apply]
def piCongrRight {R ι : Type*} {A₁ A₂ : ι → Type*} [CommSemiring R] [∀ i, Semiring (A₁ i)]
    [∀ i, Semiring (A₂ i)] [∀ i, Algebra R (A₁ i)] [∀ i, Algebra R (A₂ i)]
    (e : ∀ i, A₁ i ≃ₐ[R] A₂ i) : (∀ i, A₁ i) ≃ₐ[R] ∀ i, A₂ i 
Arguments: {R : Type u_1} {ι : Type u_2} {A₁ : ι → Type u_3} {A₂ : ι → Type u_4} [CommSemiring R] [(i : ι) → Semiring (A₁ i)] [(i : ι) → Semiring (A₂ i)] [(i : ι) → Algebra R (A₁ i)] [(i : ι) → Algebra R (A₂ i)] (e : (i : ι) → A₁ i ≃ₐ[R] A₂ i) (x : (i : ι) → A₁ i) (j : ι)
Goal: (AlgEquiv.piCongrRight e) x j = (e j) (x j)
-- AlgEquiv.piCongrRight_refl
@[simp]
theorem piCongrRight_refl {R ι : Type*} {A : ι → Type*} [CommSemiring R] [∀ i, Semiring (A i)]
    [∀ i, Algebra R (A i)] :
    (piCongrRight fun i => (AlgEquiv.refl : A i ≃ₐ[R] A i)) = AlgEquiv.refl 
Arguments: {R : Type u_1} {ι : Type u_2} {A : ι → Type u_3} [CommSemiring R] [(i : ι) → Semiring (A i)] [(i : ι) → Algebra R (A i)]
Goal: (AlgEquiv.piCongrRight fun i => AlgEquiv.refl) = AlgEquiv.refl
-- AlgEquiv.piCongrRight_symm
@[simp]
theorem piCongrRight_symm {R ι : Type*} {A₁ A₂ : ι → Type*} [CommSemiring R]
    [∀ i, Semiring (A₁ i)] [∀ i, Semiring (A₂ i)] [∀ i, Algebra R (A₁ i)] [∀ i, Algebra R (A₂ i)]
    (e : ∀ i, A₁ i ≃ₐ[R] A₂ i) : (piCongrRight e).symm = piCongrRight fun i => (e i).symm 
Arguments: {R : Type u_1} {ι : Type u_2} {A₁ : ι → Type u_3} {A₂ : ι → Type u_4} [CommSemiring R] [(i : ι) → Semiring (A₁ i)] [(i : ι) → Semiring (A₂ i)] [(i : ι) → Algebra R (A₁ i)] [(i : ι) → Algebra R (A₂ i)] (e : (i : ι) → A₁ i ≃ₐ[R] A₂ i)
Goal: (AlgEquiv.piCongrRight e).symm = AlgEquiv.piCongrRight fun i => (e i).symm
-- AlgEquiv.piCongrRight_trans
@[simp]
theorem piCongrRight_trans {R ι : Type*} {A₁ A₂ A₃ : ι → Type*} [CommSemiring R]
    [∀ i, Semiring (A₁ i)] [∀ i, Semiring (A₂ i)] [∀ i, Semiring (A₃ i)] [∀ i, Algebra R (A₁ i)]
    [∀ i, Algebra R (A₂ i)] [∀ i, Algebra R (A₃ i)] (e₁ : ∀ i, A₁ i ≃ₐ[R] A₂ i)
    (e₂ : ∀ i, A₂ i ≃ₐ[R] A₃ i) :
    (piCongrRight e₁).trans (piCongrRight e₂) = piCongrRight fun i => (e₁ i).trans (e₂ i) 
Arguments: {R : Type u_1} {ι : Type u_2} {A₁ : ι → Type u_3} {A₂ : ι → Type u_4} {A₃ : ι → Type u_5} [CommSemiring R] [(i : ι) → Semiring (A₁ i)] [(i : ι) → Semiring (A₂ i)] [(i : ι) → Semiring (A₃ i)] [(i : ι) → Algebra R (A₁ i)] [(i : ι) → Algebra R (A₂ i)] [(i : ι) → Algebra R (A₃ i)] (e₁ : (i : ι) → A₁ i ≃ₐ[R] A₂ i) (e₂ : (i : ι) → A₂ i ≃ₐ[R] A₃ i)
Goal: (AlgEquiv.piCongrRight e₁).trans (AlgEquiv.piCongrRight e₂) = AlgEquiv.piCongrRight fun i => (e₁ i).trans (e₂ i)
-- Prod.algebraMap_apply
@[simp]
theorem algebraMap_apply (r : R) : algebraMap R (A × B) r = (algebraMap R A r, algebraMap R B r) 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (r : R)
Goal: (algebraMap R (A × B)) r = ((algebraMap R A) r, (algebraMap R B) r)
-- AlgHom.prod_apply
@[simps!]
def prod (f : A →ₐ[R] B) (g : A →ₐ[R] C) : A →ₐ[R] B × C 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Semiring C] [Algebra R C] (f : A →ₐ[R] B) (g : A →ₐ[R] C) (x : A)
Goal: (f.prod g) x = (f x, g x)
-- AlgHom.coe_prod
theorem coe_prod (f : A →ₐ[R] B) (g : A →ₐ[R] C) : ⇑(f.prod g) = Pi.prod f g 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Semiring C] [Algebra R C] (f : A →ₐ[R] B) (g : A →ₐ[R] C)
Goal: ⇑(f.prod g) = Pi.prod ⇑f ⇑g
-- AlgHom.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_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Semiring C] [Algebra R C] (f : A →ₐ[R] B) (g : A →ₐ[R] C)
Goal: (AlgHom.fst R B C).comp (f.prod g) = f
-- AlgHom.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_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Semiring C] [Algebra R C] (f : A →ₐ[R] B) (g : A →ₐ[R] C)
Goal: (AlgHom.snd R B C).comp (f.prod g) = g
-- AlgHom.prod_fst_snd
@[simp]
theorem prod_fst_snd : prod (fst R A B) (snd R A B) = 1 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B]
Goal: (AlgHom.fst R A B).prod (AlgHom.snd R A B) = 1
-- AlgHom.prodEquiv_symm_apply
@[simps]
def prodEquiv : (A →ₐ[R] B) × (A →ₐ[R] C) ≃ (A →ₐ[R] B × C) 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Semiring C] [Algebra R C] (f : A →ₐ[R] B × C)
Goal: AlgHom.prodEquiv.symm f = ((AlgHom.fst R B C).comp f, (AlgHom.snd R B C).comp f)
-- AlgHom.prodEquiv_apply
@[simps]
def prodEquiv : (A →ₐ[R] B) × (A →ₐ[R] C) ≃ (A →ₐ[R] B × C) 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Semiring C] [Algebra R C] (f : (A →ₐ[R] B) × (A →ₐ[R] C))
Goal: AlgHom.prodEquiv f = f.1.prod f.2
-- AlgHom.commutes'
-- @[nolint has_nonempty_instance] -- Porting note(#5171): linter not ported yet
structure AlgHom (R : Type u) (A : Type v) (B : Type w) [CommSemiring R] [Semiring A] [Semiring B]
  [Algebra R A] [Algebra R B] extends RingHom A B where
  commutes' : ∀ r : R, toFun (algebraMap R A r) = algebraMap R B r
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (self : A →ₐ[R] B) (r : R)
Goal: (↑↑self.toRingHom).toFun ((algebraMap R A) r) = (algebraMap R B) r
-- AlgHomClass.commutes
class AlgHomClass (F : Type*) (R A B : outParam Type*)
  [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B]
  [FunLike F A B] extends RingHomClass F A B : Prop where
  commutes : ∀ (f : F) (r : R), f (algebraMap R A r) = algebraMap R B r
Arguments: {F : Type u_1} {R : outParam (Type u_2)} {A : outParam (Type u_3)} {B : outParam (Type u_4)} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [FunLike F A B] [self : AlgHomClass F R A B] (f : F) (r : R)
Goal: f ((algebraMap R A) r) = (algebraMap R B) r
-- AlgHom.coe_coe
@[simp]
protected theorem coe_coe {F : Type*} [FunLike F A B] [AlgHomClass F R A B] (f : F) :
    ⇑(f : A →ₐ[R] B) = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {F : Type u_1} [FunLike F A B] [AlgHomClass F R A B] (f : F)
Goal: ⇑↑f = ⇑f
-- AlgHom.toFun_eq_coe
@[simp]
theorem toFun_eq_coe (f : A →ₐ[R] B) : f.toFun = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B)
Goal: (↑↑f.toRingHom).toFun = ⇑f
-- AlgHom.coe_mk
@[simp]
theorem coe_mk {f : A →+* B} (h) : ((⟨f, h⟩ : A →ₐ[R] B) : A → B) = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {f : A →+* B} (h : ∀ (r : R), (↑↑f).toFun ((algebraMap R A) r) = (algebraMap R B) r)
Goal: ⇑{ toRingHom := f, commutes' := h } = ⇑f
-- AlgHom.coe_mks
@[norm_cast]
theorem coe_mks {f : A → B} (h₁ h₂ h₃ h₄ h₅) : ⇑(⟨⟨⟨⟨f, h₁⟩, h₂⟩, h₃, h₄⟩, h₅⟩ : A →ₐ[R] B) = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {f : A → B} (h₁ : f 1 = 1) (h₂ :
  ∀ (x y : A),
    { toFun := f, map_one' := h₁ }.toFun (x * y) =
      { toFun := f, map_one' := h₁ }.toFun x * { toFun := f, map_one' := h₁ }.toFun y) (h₃ : (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun 0 = 0) (h₄ :
  ∀ (x y : A),
    (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun (x + y) =
      (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun x +
        (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun y) (h₅ :
  ∀ (r : R),
    (↑↑{ toFun := f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄ }).toFun ((algebraMap R A) r) =
      (algebraMap R B) r)
Goal: ⇑{ toFun := f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄, commutes' := h₅ } = f
-- AlgHom.coe_ringHom_mk
@[simp, norm_cast]
theorem coe_ringHom_mk {f : A →+* B} (h) : ((⟨f, h⟩ : A →ₐ[R] B) : A →+* B) = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {f : A →+* B} (h : ∀ (r : R), (↑↑f).toFun ((algebraMap R A) r) = (algebraMap R B) r)
Goal: ↑{ toRingHom := f, commutes' := h } = f
-- AlgHom.toRingHom_eq_coe
@[simp]
theorem toRingHom_eq_coe (f : A →ₐ[R] B) : f.toRingHom = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B)
Goal: f.toRingHom = ↑f
-- AlgHom.coe_toRingHom
@[simp, norm_cast]
theorem coe_toRingHom (f : A →ₐ[R] B) : ⇑(f : A →+* B) = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B)
Goal: ⇑↑f = ⇑f
-- AlgHom.coe_toMonoidHom
@[simp, norm_cast]
theorem coe_toMonoidHom (f : A →ₐ[R] B) : ⇑(f : A →* B) = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B)
Goal: ⇑↑f = ⇑f
-- AlgHom.coe_toAddMonoidHom
@[simp, norm_cast]
theorem coe_toAddMonoidHom (f : A →ₐ[R] B) : ⇑(f : A →+ B) = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B)
Goal: ⇑↑f = ⇑f
-- AlgHom.coe_fn_injective
theorem coe_fn_injective : @Function.Injective (A →ₐ[R] B) (A → B) (↑) 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B]
Goal: Function.Injective DFunLike.coe
-- AlgHom.coe_fn_inj
theorem coe_fn_inj {φ₁ φ₂ : A →ₐ[R] B} : (φ₁ : A → B) = φ₂ ↔ φ₁ = φ₂ 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {φ₁ φ₂ : A →ₐ[R] B}
Goal: ⇑φ₁ = ⇑φ₂ ↔ φ₁ = φ₂
-- AlgHom.coe_ringHom_injective
theorem coe_ringHom_injective : Function.Injective ((↑) : (A →ₐ[R] B) → A →+* B) 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B]
Goal: Function.Injective RingHomClass.toRingHom
-- AlgHom.coe_monoidHom_injective
theorem coe_monoidHom_injective : Function.Injective ((↑) : (A →ₐ[R] B) → A →* B) 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B]
Goal: Function.Injective MonoidHomClass.toMonoidHom
-- AlgHom.coe_addMonoidHom_injective
theorem coe_addMonoidHom_injective : Function.Injective ((↑) : (A →ₐ[R] B) → A →+ B) 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B]
Goal: Function.Injective AddMonoidHomClass.toAddMonoidHom
-- AlgHom.congr_fun
protected theorem congr_fun {φ₁ φ₂ : A →ₐ[R] B} (H : φ₁ = φ₂) (x : A) : φ₁ x = φ₂ x 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {φ₁ φ₂ : A →ₐ[R] B} (H : φ₁ = φ₂) (x : A)
Goal: φ₁ x = φ₂ x
-- AlgHom.congr_arg
protected theorem congr_arg (φ : A →ₐ[R] B) {x y : A} (h : x = y) : φ x = φ y 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B) {x y : A} (h : x = y)
Goal: φ x = φ y
-- AlgHom.ext
@[ext]
theorem ext {φ₁ φ₂ : A →ₐ[R] B} (H : ∀ x, φ₁ x = φ₂ x) : φ₁ = φ₂ 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {φ₁ φ₂ : A →ₐ[R] B} (H : ∀ (x : A), φ₁ x = φ₂ x)
Goal: φ₁ = φ₂
-- AlgHom.ext_iff
theorem ext_iff {φ₁ φ₂ : A →ₐ[R] B} : φ₁ = φ₂ ↔ ∀ x, φ₁ x = φ₂ x 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {φ₁ φ₂ : A →ₐ[R] B}
Goal: φ₁ = φ₂ ↔ ∀ (x : A), φ₁ x = φ₂ x
-- AlgHom.mk_coe
@[simp]
theorem mk_coe {f : A →ₐ[R] B} (h₁ h₂ h₃ h₄ h₅) : (⟨⟨⟨⟨f, h₁⟩, h₂⟩, h₃, h₄⟩, h₅⟩ : A →ₐ[R] B) = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] {f : A →ₐ[R] B} (h₁ : f 1 = 1) (h₂ :
  ∀ (x y : A),
    { toFun := ⇑f, map_one' := h₁ }.toFun (x * y) =
      { toFun := ⇑f, map_one' := h₁ }.toFun x * { toFun := ⇑f, map_one' := h₁ }.toFun y) (h₃ : (↑{ toFun := ⇑f, map_one' := h₁, map_mul' := h₂ }).toFun 0 = 0) (h₄ :
  ∀ (x y : A),
    (↑{ toFun := ⇑f, map_one' := h₁, map_mul' := h₂ }).toFun (x + y) =
      (↑{ toFun := ⇑f, map_one' := h₁, map_mul' := h₂ }).toFun x +
        (↑{ toFun := ⇑f, map_one' := h₁, map_mul' := h₂ }).toFun y) (h₅ :
  ∀ (r : R),
    (↑↑{ toFun := ⇑f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄ }).toFun ((algebraMap R A) r) =
      (algebraMap R B) r)
Goal: { toFun := ⇑f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄, commutes' := h₅ } = f
-- AlgHom.commutes
@[simp]
theorem commutes (r : R) : φ (algebraMap R A r) = algebraMap R B r 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B) (r : R)
Goal: φ ((algebraMap R A) r) = (algebraMap R B) r
-- AlgHom.comp_algebraMap
theorem comp_algebraMap : (φ : A →+* B).comp (algebraMap R A) = algebraMap R B 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B)
Goal: (↑φ).comp (algebraMap R A) = algebraMap R B
-- AlgHom.map_add
@[deprecated map_add (since := "2024-06-26")]
protected theorem map_add (r s : A) : φ (r + s) = φ r + φ s 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B) (r s : A)
Goal: φ (r + s) = φ r + φ s
-- AlgHom.map_zero
@[deprecated map_zero (since := "2024-06-26")]
protected theorem map_zero : φ 0 = 0 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B)
Goal: φ 0 = 0
-- AlgHom.map_mul
@[deprecated map_mul (since := "2024-06-26")]
protected theorem map_mul (x y) : φ (x * y) = φ x * φ y 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B) (x y : A)
Goal: φ (x * y) = φ x * φ y
-- AlgHom.map_one
@[deprecated map_one (since := "2024-06-26")]
protected theorem map_one : φ 1 = 1 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B)
Goal: φ 1 = 1
-- AlgHom.map_pow
@[deprecated map_pow (since := "2024-06-26")]
protected theorem map_pow (x : A) (n : ℕ) : φ (x ^ n) = φ x ^ n 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B) (x : A) (n : ℕ)
Goal: φ (x ^ n) = φ x ^ n
-- AlgHom.map_smul
@[deprecated map_smul (since := "2024-06-26")]
protected theorem map_smul (r : R) (x : A) : φ (r • x) = r • φ x 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B) (r : R) (x : A)
Goal: φ (r • x) = r • φ x
-- AlgHom.map_sum
@[deprecated map_sum (since := "2024-06-26")]
protected theorem map_sum {ι : Type*} (f : ι → A) (s : Finset ι) :
    φ (∑ x ∈ s, f x) = ∑ x ∈ s, φ (f x) 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B) {ι : Type u_1} (f : ι → A) (s : Finset ι)
Goal: φ (∑ x ∈ s, f x) = ∑ x ∈ s, φ (f x)
-- AlgHom.map_finsupp_sum
@[deprecated map_finsupp_sum (since := "2024-06-26")]
protected theorem map_finsupp_sum {α : Type*} [Zero α] {ι : Type*} (f : ι →₀ α) (g : ι → α → A) :
    φ (f.sum g) = f.sum fun i a => φ (g i a) 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (φ : A →ₐ[R] B) {α : Type u_1} [Zero α] {ι : Type u_2} (f : ι →₀ α) (g : ι → α → A)
Goal: φ (f.sum g) = f.sum fun i a => φ (g i a)
-- AlgHom.coe_mk'
@[simp]
theorem coe_mk' (f : A →+* B) (h : ∀ (c : R) (x), f (c • x) = c • f x) : ⇑(mk' f h) = f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →+* B) (h : ∀ (c : R) (x : A), f (c • x) = c • f x)
Goal: ⇑(AlgHom.mk' f h) = ⇑f
-- AlgHom.coe_id
@[simp]
theorem coe_id : ⇑(AlgHom.id R A) = id 
Arguments: (R : Type u) (A : Type v) [CommSemiring R] [Semiring A] [Algebra R A]
Goal: ⇑(AlgHom.id R A) = id
-- AlgHom.id_toRingHom
@[simp]
theorem id_toRingHom : (AlgHom.id R A : A →+* A) = RingHom.id _ 
Arguments: (R : Type u) (A : Type v) [CommSemiring R] [Semiring A] [Algebra R A]
Goal: ↑(AlgHom.id R A) = RingHom.id A
-- AlgHom.id_apply
theorem id_apply (p : A) : AlgHom.id R A p = p 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (p : A)
Goal: (AlgHom.id R A) p = p