ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- AddMonoidAlgebra.mul_single_apply_aux
theorem mul_single_apply_aux [Add G] (f : k[G]) (r : k) (x y z : G)
    (H : ∀ a, a + x = z ↔ a = y) : (f * single x r) z = f y * r 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [Add G] (f : AddMonoidAlgebra k G) (r : k) (x y z : G) (H : ∀ (a : G), a + x = z ↔ a = y)
Goal: (f * AddMonoidAlgebra.single x r) z = f y * r
-- AddMonoidAlgebra.mul_single_zero_apply
theorem mul_single_zero_apply [AddZeroClass G] (f : k[G]) (r : k) (x : G) :
    (f * single (0 : G) r) x = f x * r 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddZeroClass G] (f : AddMonoidAlgebra k G) (r : k) (x : G)
Goal: (f * AddMonoidAlgebra.single 0 r) x = f x * r
-- AddMonoidAlgebra.mul_single_apply_of_not_exists_add
theorem mul_single_apply_of_not_exists_add [Add G] (r : k) {g g' : G} (x : k[G])
    (h : ¬∃ d, g' = d + g) : (x * single g r) g' = 0 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [Add G] (r : k) {g g' : G} (x : AddMonoidAlgebra k G) (h : ¬∃ d, g' = d + g)
Goal: (x * AddMonoidAlgebra.single g r) g' = 0
-- AddMonoidAlgebra.single_mul_apply_aux
theorem single_mul_apply_aux [Add G] (f : k[G]) (r : k) (x y z : G)
    (H : ∀ a, x + a = y ↔ a = z) : (single x r * f) y = r * f z 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [Add G] (f : AddMonoidAlgebra k G) (r : k) (x y z : G) (H : ∀ (a : G), x + a = y ↔ a = z)
Goal: (AddMonoidAlgebra.single x r * f) y = r * f z
-- AddMonoidAlgebra.single_zero_mul_apply
theorem single_zero_mul_apply [AddZeroClass G] (f : k[G]) (r : k) (x : G) :
    (single (0 : G) r * f) x = r * f x 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddZeroClass G] (f : AddMonoidAlgebra k G) (r : k) (x : G)
Goal: (AddMonoidAlgebra.single 0 r * f) x = r * f x
-- AddMonoidAlgebra.single_mul_apply_of_not_exists_add
theorem single_mul_apply_of_not_exists_add [Add G] (r : k) {g g' : G} (x : k[G])
    (h : ¬∃ d, g' = g + d) : (single g r * x) g' = 0 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [Add G] (r : k) {g g' : G} (x : AddMonoidAlgebra k G) (h : ¬∃ d, g' = g + d)
Goal: (AddMonoidAlgebra.single g r * x) g' = 0
-- AddMonoidAlgebra.mul_single_apply
theorem mul_single_apply [AddGroup G] (f : k[G]) (r : k) (x y : G) :
    (f * single x r) y = f (y - x) * r 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddGroup G] (f : AddMonoidAlgebra k G) (r : k) (x y : G)
Goal: (f * AddMonoidAlgebra.single x r) y = f (y - x) * r
-- AddMonoidAlgebra.single_mul_apply
theorem single_mul_apply [AddGroup G] (r : k) (x : G) (f : k[G]) (y : G) :
    (single x r * f) y = r * f (-x + y) 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddGroup G] (r : k) (x : G) (f : AddMonoidAlgebra k G) (y : G)
Goal: (AddMonoidAlgebra.single x r * f) y = r * f (-x + y)
-- AddMonoidAlgebra.liftNC_smul
theorem liftNC_smul {R : Type*} [AddZeroClass G] [Semiring R] (f : k →+* R)
    (g : Multiplicative G →* R) (c : k) (φ : MonoidAlgebra k G) :
    liftNC (f : k →+ R) g (c • φ) = f c * liftNC (f : k →+ R) g φ 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] {R : Type u_3} [AddZeroClass G] [Semiring R] (f : k →+* R) (g : Multiplicative G →* R) (c : k) (φ : MonoidAlgebra k G)
Goal: (AddMonoidAlgebra.liftNC ↑f ⇑g) (c • φ) = f c * (AddMonoidAlgebra.liftNC ↑f ⇑g) φ
-- AddMonoidAlgebra.induction_on
theorem induction_on [AddMonoid G] {p : k[G] → Prop} (f : k[G])
    (hM : ∀ g, p (of k G (Multiplicative.ofAdd g)))
    (hadd : ∀ f g : k[G], p f → p g → p (f + g))
    (hsmul : ∀ (r : k) (f), p f → p (r • f)) : p f 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddMonoid G] {p : AddMonoidAlgebra k G → Prop} (f : AddMonoidAlgebra k G) (hM : ∀ (g : G), p ((AddMonoidAlgebra.of k G) (Multiplicative.ofAdd g))) (hadd : ∀ (f g : AddMonoidAlgebra k G), p f → p g → p (f + g)) (hsmul : ∀ (r : k) (f : AddMonoidAlgebra k G), p f → p (r • f))
Goal: p f
-- AddMonoidAlgebra.mapDomainRingHom_apply
@[simps]
def mapDomainRingHom (k : Type*) [Semiring k] {H F : Type*} [AddMonoid G] [AddMonoid H]
    [FunLike F G H] [AddMonoidHomClass F G H] (f : F) : k[G] →+* k[H] 
Arguments: {G : Type u₂} (k : Type u_3) [Semiring k] {H : Type u_4} {F : Type u_5} [AddMonoid G] [AddMonoid H] [FunLike F G H] [AddMonoidHomClass F G H] (f : F)
Goal: ∀ (a : G →₀ k), (AddMonoidAlgebra.mapDomainRingHom k f) a = (↑(Finsupp.mapDomain.addMonoidHom ⇑f)).toFun a
-- AddMonoidAlgebra.nonUnitalAlgHom_ext
theorem nonUnitalAlgHom_ext [DistribMulAction k A] {φ₁ φ₂ : k[G] →ₙₐ[k] A}
    (h : ∀ x, φ₁ (single x 1) = φ₂ (single x 1)) : φ₁ = φ₂ 
Arguments: (k : Type u₁) {G : Type u₂} [Semiring k] [Add G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [DistribMulAction k A] {φ₁ φ₂ : AddMonoidAlgebra k G →ₙₐ[k] A} (h : ∀ (x : G), φ₁ (AddMonoidAlgebra.single x 1) = φ₂ (AddMonoidAlgebra.single x 1))
Goal: φ₁ = φ₂
-- AddMonoidAlgebra.nonUnitalAlgHom_ext'
@[ext high]
theorem nonUnitalAlgHom_ext' [DistribMulAction k A] {φ₁ φ₂ : k[G] →ₙₐ[k] A}
    (h : φ₁.toMulHom.comp (ofMagma k G) = φ₂.toMulHom.comp (ofMagma k G)) : φ₁ = φ₂ 
Arguments: (k : Type u₁) {G : Type u₂} [Semiring k] [Add G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [DistribMulAction k A] {φ₁ φ₂ : AddMonoidAlgebra k G →ₙₐ[k] A} (h : φ₁.toMulHom.comp (AddMonoidAlgebra.ofMagma k G) = φ₂.toMulHom.comp (AddMonoidAlgebra.ofMagma k G))
Goal: φ₁ = φ₂
-- AddMonoidAlgebra.liftMagma_apply_apply
@[simps apply_apply symm_apply]
def liftMagma [Module k A] [IsScalarTower k A A] [SMulCommClass k A A] :
    (Multiplicative G →ₙ* A) ≃ (k[G] →ₙₐ[k] A) 
Arguments: (k : Type u₁) {G : Type u₂} [Semiring k] [Add G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [Module k A] [IsScalarTower k A A] [SMulCommClass k A A] (f : Multiplicative G →ₙ* A) (a : AddMonoidAlgebra k G)
Goal: ((AddMonoidAlgebra.liftMagma k) f) a = Finsupp.sum a fun m t => t • f (Multiplicative.ofAdd m)
-- AddMonoidAlgebra.liftMagma_symm_apply
@[simps apply_apply symm_apply]
def liftMagma [Module k A] [IsScalarTower k A A] [SMulCommClass k A A] :
    (Multiplicative G →ₙ* A) ≃ (k[G] →ₙₐ[k] A) 
Arguments: (k : Type u₁) {G : Type u₂} [Semiring k] [Add G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [Module k A] [IsScalarTower k A A] [SMulCommClass k A A] (F : AddMonoidAlgebra k G →ₙₐ[k] A)
Goal: (AddMonoidAlgebra.liftMagma k).symm F = F.toMulHom.comp (AddMonoidAlgebra.ofMagma k G)
-- AddMonoidAlgebra.singleZeroRingHom_apply
@[simps]
def singleZeroRingHom [Semiring k] [AddMonoid G] : k →+* k[G] 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddMonoid G]
Goal: ∀ (a : k), AddMonoidAlgebra.singleZeroRingHom a = (↑(Finsupp.singleAddHom 0)).toFun a
-- AddMonoidAlgebra.ringHom_ext
theorem ringHom_ext {R} [Semiring k] [AddMonoid G] [Semiring R] {f g : k[G] →+* R}
    (h₀ : ∀ b, f (single 0 b) = g (single 0 b)) (h_of : ∀ a, f (single a 1) = g (single a 1)) :
    f = g 
Arguments: {k : Type u₁} {G : Type u₂} {R : Type u_3} [Semiring k] [AddMonoid G] [Semiring R] {f g : AddMonoidAlgebra k G →+* R} (h₀ : ∀ (b : k), f (AddMonoidAlgebra.single 0 b) = g (AddMonoidAlgebra.single 0 b)) (h_of : ∀ (a : G), f (AddMonoidAlgebra.single a 1) = g (AddMonoidAlgebra.single a 1))
Goal: f = g
-- AddMonoidAlgebra.ringHom_ext'
@[ext high]
theorem ringHom_ext' {R} [Semiring k] [AddMonoid G] [Semiring R] {f g : k[G] →+* R}
    (h₁ : f.comp singleZeroRingHom = g.comp singleZeroRingHom)
    (h_of : (f : k[G] →* R).comp (of k G) = (g : k[G] →* R).comp (of k G)) :
    f = g 
Arguments: {k : Type u₁} {G : Type u₂} {R : Type u_3} [Semiring k] [AddMonoid G] [Semiring R] {f g : AddMonoidAlgebra k G →+* R} (h₁ : f.comp AddMonoidAlgebra.singleZeroRingHom = g.comp AddMonoidAlgebra.singleZeroRingHom) (h_of : (↑f).comp (AddMonoidAlgebra.of k G) = (↑g).comp (AddMonoidAlgebra.of k G))
Goal: f = g
-- AddMonoidAlgebra.opRingEquiv_symm_apply
@[simps! (config := { simpRhs := true }) apply symm_apply]
protected noncomputable def opRingEquiv [AddCommMonoid G] :
    k[G]ᵐᵒᵖ ≃+* kᵐᵒᵖ[G] 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddCommMonoid G]
Goal: ∀ (a : G →₀ kᵐᵒᵖ), AddMonoidAlgebra.opRingEquiv.symm a = MulOpposite.op (Finsupp.mapRange MulOpposite.unop ⋯ a)
-- AddMonoidAlgebra.opRingEquiv_apply
@[simps! (config := { simpRhs := true }) apply symm_apply]
protected noncomputable def opRingEquiv [AddCommMonoid G] :
    k[G]ᵐᵒᵖ ≃+* kᵐᵒᵖ[G] 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddCommMonoid G]
Goal: ∀ (a : (G →₀ k)ᵐᵒᵖ), AddMonoidAlgebra.opRingEquiv a = Finsupp.mapRange MulOpposite.op ⋯ (MulOpposite.unop a)
-- AddMonoidAlgebra.opRingEquiv_single
theorem opRingEquiv_single [AddCommMonoid G] (r : k) (x : G) :
    AddMonoidAlgebra.opRingEquiv (op (single x r)) = single x (op r) 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddCommMonoid G] (r : k) (x : G)
Goal: AddMonoidAlgebra.opRingEquiv (MulOpposite.op (AddMonoidAlgebra.single x r)) =
  AddMonoidAlgebra.single x (MulOpposite.op r)
-- AddMonoidAlgebra.opRingEquiv_symm_single
theorem opRingEquiv_symm_single [AddCommMonoid G] (r : kᵐᵒᵖ) (x : Gᵐᵒᵖ) :
    AddMonoidAlgebra.opRingEquiv.symm (single x r) = op (single x r.unop) 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddCommMonoid G] (r : kᵐᵒᵖ) (x : Gᵐᵒᵖ)
Goal: AddMonoidAlgebra.opRingEquiv.symm (AddMonoidAlgebra.single x r) =
  MulOpposite.op (AddMonoidAlgebra.single x (MulOpposite.unop r))
-- AddMonoidAlgebra.singleZeroAlgHom_apply
@[simps! apply]
def singleZeroAlgHom [CommSemiring R] [Semiring k] [Algebra R k] [AddMonoid G] : k →ₐ[R] k[G] 
Arguments: {k : Type u₁} {G : Type u₂} {R : Type u_2} [CommSemiring R] [Semiring k] [Algebra R k] [AddMonoid G]
Goal: ∀ (a : k), AddMonoidAlgebra.singleZeroAlgHom a = Finsupp.single 0 a
-- AddMonoidAlgebra.coe_algebraMap
@[simp]
theorem coe_algebraMap [CommSemiring R] [Semiring k] [Algebra R k] [AddMonoid G] :
    (algebraMap R k[G] : R → k[G]) = single 0 ∘ algebraMap R k 
Arguments: {k : Type u₁} {G : Type u₂} {R : Type u_2} [CommSemiring R] [Semiring k] [Algebra R k] [AddMonoid G]
Goal: ⇑(algebraMap R (AddMonoidAlgebra k G)) = AddMonoidAlgebra.single 0 ∘ ⇑(algebraMap R k)
-- AddMonoidAlgebra.algHom_ext
theorem algHom_ext ⦃φ₁ φ₂ : k[G] →ₐ[k] A⦄
    (h : ∀ x, φ₁ (single x 1) = φ₂ (single x 1)) : φ₁ = φ₂ 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] ⦃φ₁ φ₂ : AddMonoidAlgebra k G →ₐ[k] A⦄ (h : ∀ (x : G), φ₁ (AddMonoidAlgebra.single x 1) = φ₂ (AddMonoidAlgebra.single x 1))
Goal: φ₁ = φ₂
-- AddMonoidAlgebra.algHom_ext'
@[ext high]
theorem algHom_ext' ⦃φ₁ φ₂ : k[G] →ₐ[k] A⦄
    (h : (φ₁ : k[G] →* A).comp (of k G) = (φ₂ : k[G] →* A).comp (of k G)) :
    φ₁ = φ₂ 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] ⦃φ₁ φ₂ : AddMonoidAlgebra k G →ₐ[k] A⦄ (h : (↑φ₁).comp (AddMonoidAlgebra.of k G) = (↑φ₂).comp (AddMonoidAlgebra.of k G))
Goal: φ₁ = φ₂
-- AddMonoidAlgebra.lift_apply'
theorem lift_apply' (F : Multiplicative G →* A) (f : MonoidAlgebra k G) :
    lift k G A F f = f.sum fun a b => algebraMap k A b * F (Multiplicative.ofAdd a) 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (f : MonoidAlgebra k G)
Goal: ((AddMonoidAlgebra.lift k G A) F) f = Finsupp.sum f fun a b => (algebraMap k A) b * F (Multiplicative.ofAdd a)
-- AddMonoidAlgebra.lift_apply
theorem lift_apply (F : Multiplicative G →* A) (f : MonoidAlgebra k G) :
    lift k G A F f = f.sum fun a b => b • F (Multiplicative.ofAdd a) 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (f : MonoidAlgebra k G)
Goal: ((AddMonoidAlgebra.lift k G A) F) f = Finsupp.sum f fun a b => b • F (Multiplicative.ofAdd a)
-- AddMonoidAlgebra.lift_def
theorem lift_def (F : Multiplicative G →* A) :
    ⇑(lift k G A F) = liftNC ((algebraMap k A : k →+* A) : k →+ A) F 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A)
Goal: ⇑((AddMonoidAlgebra.lift k G A) F) = ⇑(AddMonoidAlgebra.liftNC ↑(algebraMap k A) ⇑F)
-- AddMonoidAlgebra.lift_symm_apply
@[simp]
theorem lift_symm_apply (F : k[G] →ₐ[k] A) (x : Multiplicative G) :
    (lift k G A).symm F x = F (single (Multiplicative.toAdd x) 1) 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : AddMonoidAlgebra k G →ₐ[k] A) (x : Multiplicative G)
Goal: ((AddMonoidAlgebra.lift k G A).symm F) x = F (AddMonoidAlgebra.single (Multiplicative.toAdd x) 1)
-- AddMonoidAlgebra.lift_of
theorem lift_of (F : Multiplicative G →* A) (x : Multiplicative G) :
    lift k G A F (of k G x) = F x 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (x : Multiplicative G)
Goal: ((AddMonoidAlgebra.lift k G A) F) ((AddMonoidAlgebra.of k G) x) = F x
-- AddMonoidAlgebra.lift_single
@[simp]
theorem lift_single (F : Multiplicative G →* A) (a b) :
    lift k G A F (single a b) = b • F (Multiplicative.ofAdd a) 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (a : G) (b : k)
Goal: ((AddMonoidAlgebra.lift k G A) F) (AddMonoidAlgebra.single a b) = b • F (Multiplicative.ofAdd a)
-- AddMonoidAlgebra.lift_of'
lemma lift_of' (F : Multiplicative G →* A) (x : G) :
    lift k G A F (of' k G x) = F (Multiplicative.ofAdd x) 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (x : G)
Goal: ((AddMonoidAlgebra.lift k G A) F) (AddMonoidAlgebra.of' k G x) = F (Multiplicative.ofAdd x)
-- AddMonoidAlgebra.lift_unique'
theorem lift_unique' (F : k[G] →ₐ[k] A) :
    F = lift k G A ((F : k[G] →* A).comp (of k G)) 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : AddMonoidAlgebra k G →ₐ[k] A)
Goal: F = (AddMonoidAlgebra.lift k G A) ((↑F).comp (AddMonoidAlgebra.of k G))
-- AddMonoidAlgebra.lift_unique
theorem lift_unique (F : k[G] →ₐ[k] A) (f : MonoidAlgebra k G) :
    F f = f.sum fun a b => b • F (single a 1) 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : AddMonoidAlgebra k G →ₐ[k] A) (f : MonoidAlgebra k G)
Goal: F f = Finsupp.sum f fun a b => b • F (AddMonoidAlgebra.single a 1)
-- AddMonoidAlgebra.algHom_ext_iff
theorem algHom_ext_iff {φ₁ φ₂ : k[G] →ₐ[k] A} :
    (∀ x, φ₁ (Finsupp.single x 1) = φ₂ (Finsupp.single x 1)) ↔ φ₁ = φ₂ 
Arguments: {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] {φ₁ φ₂ : AddMonoidAlgebra k G →ₐ[k] A}
Goal: (∀ (x : G), φ₁ (Finsupp.single x 1) = φ₂ (Finsupp.single x 1)) ↔ φ₁ = φ₂
-- AddMonoidAlgebra.prod_single
theorem prod_single [CommSemiring k] [AddCommMonoid G] {s : Finset ι} {a : ι → G} {b : ι → k} :
    (∏ i ∈ s, single (a i) (b i)) = single (∑ i ∈ s, a i) (∏ i ∈ s, b i) 
Arguments: {k : Type u₁} {G : Type u₂} {ι : Type ui} [CommSemiring k] [AddCommMonoid G] {s : Finset ι} {a : ι → G} {b : ι → k}
Goal: ∏ i ∈ s, AddMonoidAlgebra.single (a i) (b i) = AddMonoidAlgebra.single (∑ i ∈ s, a i) (∏ i ∈ s, b i)
-- AddMonoidAlgebra.mapDomain_algebraMap
theorem mapDomain_algebraMap (A : Type*) {H F : Type*} [CommSemiring k] [Semiring A] [Algebra k A]
    [AddMonoid G] [AddMonoid H] [FunLike F G H] [AddMonoidHomClass F G H]
    (f : F) (r : k) :
    mapDomain f (algebraMap k A[G] r) = algebraMap k A[H] r 
Arguments: {k : Type u₁} {G : Type u₂} (A : Type u_3) {H : Type u_4} {F : Type u_5} [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G] [AddMonoid H] [FunLike F G H] [AddMonoidHomClass F G H] (f : F) (r : k)
Goal: AddMonoidAlgebra.mapDomain (⇑f) ((algebraMap k (AddMonoidAlgebra A G)) r) = (algebraMap k (AddMonoidAlgebra A H)) r
-- AddMonoidAlgebra.mapDomainNonUnitalAlgHom_apply
@[simps apply]
def mapDomainNonUnitalAlgHom (k A : Type*) [CommSemiring k] [Semiring A] [Algebra k A]
    {G H F : Type*} [Add G] [Add H] [FunLike F G H] [AddHomClass F G H] (f : F) :
    A[G] →ₙₐ[k] A[H] 
Arguments: (k : Type u_3) (A : Type u_4) [CommSemiring k] [Semiring A] [Algebra k A] {G : Type u_5} {H : Type u_6} {F : Type u_7} [Add G] [Add H] [FunLike F G H] [AddHomClass F G H] (f : F)
Goal: ∀ (a : G →₀ A), (AddMonoidAlgebra.mapDomainNonUnitalAlgHom k A f) a = (↑(Finsupp.mapDomain.addMonoidHom ⇑f)).toFun a
-- AddMonoidAlgebra.mapDomainAlgHom_apply
@[simps!]
def mapDomainAlgHom (k A : Type*) [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G]
    {H F : Type*} [AddMonoid H] [FunLike F G H] [AddMonoidHomClass F G H] (f : F) :
    A[G] →ₐ[k] A[H] 
Arguments: {G : Type u₂} (k : Type u_3) (A : Type u_4) [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G] {H : Type u_5} {F : Type u_6} [AddMonoid H] [FunLike F G H] [AddMonoidHomClass F G H] (f : F)
Goal: ∀ (a : G →₀ A), (AddMonoidAlgebra.mapDomainAlgHom k A f) a = Finsupp.mapDomain (⇑f) a
-- AddMonoidAlgebra.mapDomainAlgHom_id
@[simp]
lemma mapDomainAlgHom_id (k A) [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G] :
    mapDomainAlgHom k A (AddMonoidHom.id G) = AlgHom.id k (AddMonoidAlgebra A G) 
Arguments: {G : Type u₂} (k : Type u_3) (A : Type u_4) [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G]
Goal: AddMonoidAlgebra.mapDomainAlgHom k A (AddMonoidHom.id G) = AlgHom.id k (AddMonoidAlgebra A G)
-- AddMonoidAlgebra.mapDomainAlgHom_comp
@[simp]
lemma mapDomainAlgHom_comp (k A) {G₁ G₂ G₃} [CommSemiring k] [Semiring A] [Algebra k A]
    [AddMonoid G₁] [AddMonoid G₂] [AddMonoid G₃] (f : G₁ →+ G₂) (g : G₂ →+ G₃) :
    mapDomainAlgHom k A (g.comp f) = (mapDomainAlgHom k A g).comp (mapDomainAlgHom k A f) 
Arguments: (k : Type u_3) (A : Type u_4) {G₁ : Type u_5} {G₂ : Type u_6} {G₃ : Type u_7} [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G₁] [AddMonoid G₂] [AddMonoid G₃] (f : G₁ →+ G₂) (g : G₂ →+ G₃)
Goal: AddMonoidAlgebra.mapDomainAlgHom k A (g.comp f) =
  (AddMonoidAlgebra.mapDomainAlgHom k A g).comp (AddMonoidAlgebra.mapDomainAlgHom k A f)
-- AddMonoidAlgebra.domCongr_toAlgHom
theorem domCongr_toAlgHom (e : G ≃+ H) : (domCongr k A e).toAlgHom = mapDomainAlgHom k A e 
Arguments: (k : Type u₁) {G : Type u₂} {H : Type u_1} (A : Type u_3) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] (e : G ≃+ H)
Goal: ↑(AddMonoidAlgebra.domCongr k A e) = AddMonoidAlgebra.mapDomainAlgHom k A e
-- AddMonoidAlgebra.domCongr_apply
@[simp] theorem domCongr_apply (e : G ≃+ H) (f : MonoidAlgebra A G) (h : H) :
    domCongr k A e f h = f (e.symm h) 
Arguments: (k : Type u₁) {G : Type u₂} {H : Type u_1} (A : Type u_3) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] (e : G ≃+ H) (f : MonoidAlgebra A G) (h : H)
Goal: ((AddMonoidAlgebra.domCongr k A e) f) h = f (e.symm h)
-- AddMonoidAlgebra.domCongr_support
@[simp] theorem domCongr_support (e : G ≃+ H) (f : MonoidAlgebra A G) :
    (domCongr k A e f).support = f.support.map e 
Arguments: (k : Type u₁) {G : Type u₂} {H : Type u_1} (A : Type u_3) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] (e : G ≃+ H) (f : MonoidAlgebra A G)
Goal: ((AddMonoidAlgebra.domCongr k A e) f).support = Finset.map (↑e).toEmbedding f.support
-- AddMonoidAlgebra.domCongr_single
@[simp] theorem domCongr_single (e : G ≃+ H) (g : G) (a : A) :
    domCongr k A e (single g a) = single (e g) a 
Arguments: (k : Type u₁) {G : Type u₂} {H : Type u_1} (A : Type u_3) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] (e : G ≃+ H) (g : G) (a : A)
Goal: (AddMonoidAlgebra.domCongr k A e) (AddMonoidAlgebra.single g a) = AddMonoidAlgebra.single (e g) a
-- AddMonoidAlgebra.domCongr_refl
@[simp] theorem domCongr_refl : domCongr k A (AddEquiv.refl G) = AlgEquiv.refl 
Arguments: (k : Type u₁) {G : Type u₂} (A : Type u_3) [CommSemiring k] [AddMonoid G] [Semiring A] [Algebra k A]
Goal: AddMonoidAlgebra.domCongr k A (AddEquiv.refl G) = AlgEquiv.refl
-- AddMonoidAlgebra.domCongr_symm
@[simp] theorem domCongr_symm (e : G ≃+ H) : (domCongr k A e).symm = domCongr k A e.symm 
Arguments: (k : Type u₁) {G : Type u₂} {H : Type u_1} (A : Type u_3) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] (e : G ≃+ H)
Goal: (AddMonoidAlgebra.domCongr k A e).symm = AddMonoidAlgebra.domCongr k A e.symm
-- PrimeSpectrum.continuous_tensorProductTo
lemma PrimeSpectrum.continuous_tensorProductTo : Continuous (tensorProductTo R S T) 
Arguments: (R : Type u_1) (S : Type u_2) (T : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T]
Goal: Continuous (PrimeSpectrum.tensorProductTo R S T)
-- PrimeSpectrum.embedding_tensorProductTo_of_surjectiveOnStalks_aux
lemma PrimeSpectrum.embedding_tensorProductTo_of_surjectiveOnStalks_aux
    (p₁ p₂ : PrimeSpectrum (S ⊗[R] T))
    (h : tensorProductTo R S T p₁ = tensorProductTo R S T p₂) :
    p₁ ≤ p₂ 
Arguments: (R : Type u_1) (S : Type u_2) (T : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] (hRT : (algebraMap R T).SurjectiveOnStalks) (p₁ p₂ : PrimeSpectrum (S ⊗[R] T)) (h : PrimeSpectrum.tensorProductTo R S T p₁ = PrimeSpectrum.tensorProductTo R S T p₂)
Goal: p₁ ≤ p₂
-- PrimeSpectrum.embedding_tensorProductTo_of_surjectiveOnStalks
lemma PrimeSpectrum.embedding_tensorProductTo_of_surjectiveOnStalks :
    Embedding (tensorProductTo R S T) 
Arguments: (R : Type u_1) (S : Type u_2) (T : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] (hRT : (algebraMap R T).SurjectiveOnStalks)
Goal: Embedding (PrimeSpectrum.tensorProductTo R S T)
-- PrimeSpectrum.isOpen_iff
theorem isOpen_iff (U : Set (PrimeSpectrum R)) : IsOpen U ↔ ∃ s, Uᶜ = zeroLocus s 
Arguments: {R : Type u} [CommSemiring R] (U : Set (PrimeSpectrum R))
Goal: IsOpen U ↔ ∃ s, Uᶜ = PrimeSpectrum.zeroLocus s
-- PrimeSpectrum.isClosed_iff_zeroLocus
theorem isClosed_iff_zeroLocus (Z : Set (PrimeSpectrum R)) : IsClosed Z ↔ ∃ s, Z = zeroLocus s 
Arguments: {R : Type u} [CommSemiring R] (Z : Set (PrimeSpectrum R))
Goal: IsClosed Z ↔ ∃ s, Z = PrimeSpectrum.zeroLocus s
-- PrimeSpectrum.isClosed_iff_zeroLocus_ideal
theorem isClosed_iff_zeroLocus_ideal (Z : Set (PrimeSpectrum R)) :
    IsClosed Z ↔ ∃ I : Ideal R, Z = zeroLocus I 
Arguments: {R : Type u} [CommSemiring R] (Z : Set (PrimeSpectrum R))
Goal: IsClosed Z ↔ ∃ I, Z = PrimeSpectrum.zeroLocus ↑I
-- PrimeSpectrum.isClosed_iff_zeroLocus_radical_ideal
theorem isClosed_iff_zeroLocus_radical_ideal (Z : Set (PrimeSpectrum R)) :
    IsClosed Z ↔ ∃ I : Ideal R, I.IsRadical ∧ Z = zeroLocus I 
Arguments: {R : Type u} [CommSemiring R] (Z : Set (PrimeSpectrum R))
Goal: IsClosed Z ↔ ∃ I, I.IsRadical ∧ Z = PrimeSpectrum.zeroLocus ↑I
-- PrimeSpectrum.isClosed_zeroLocus
theorem isClosed_zeroLocus (s : Set R) : IsClosed (zeroLocus s) 
Arguments: {R : Type u} [CommSemiring R] (s : Set R)
Goal: IsClosed (PrimeSpectrum.zeroLocus s)
-- PrimeSpectrum.zeroLocus_vanishingIdeal_eq_closure
theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (PrimeSpectrum R)) :
    zeroLocus (vanishingIdeal t : Set R) = closure t 
Arguments: {R : Type u} [CommSemiring R] (t : Set (PrimeSpectrum R))
Goal: PrimeSpectrum.zeroLocus ↑(PrimeSpectrum.vanishingIdeal t) = closure t
-- PrimeSpectrum.vanishingIdeal_closure
theorem vanishingIdeal_closure (t : Set (PrimeSpectrum R)) :
    vanishingIdeal (closure t) = vanishingIdeal t 
Arguments: {R : Type u} [CommSemiring R] (t : Set (PrimeSpectrum R))
Goal: PrimeSpectrum.vanishingIdeal (closure t) = PrimeSpectrum.vanishingIdeal t
-- PrimeSpectrum.closure_singleton
theorem closure_singleton (x) : closure ({x} : Set (PrimeSpectrum R)) = zeroLocus x.asIdeal 
Arguments: {R : Type u} [CommSemiring R] (x : PrimeSpectrum R)
Goal: closure {x} = PrimeSpectrum.zeroLocus ↑x.asIdeal
-- PrimeSpectrum.isClosed_singleton_iff_isMaximal
theorem isClosed_singleton_iff_isMaximal (x : PrimeSpectrum R) :
    IsClosed ({x} : Set (PrimeSpectrum R)) ↔ x.asIdeal.IsMaximal 
Arguments: {R : Type u} [CommSemiring R] (x : PrimeSpectrum R)
Goal: IsClosed {x} ↔ x.asIdeal.IsMaximal
-- PrimeSpectrum.isRadical_vanishingIdeal
theorem isRadical_vanishingIdeal (s : Set (PrimeSpectrum R)) : (vanishingIdeal s).IsRadical 
Arguments: {R : Type u} [CommSemiring R] (s : Set (PrimeSpectrum R))
Goal: (PrimeSpectrum.vanishingIdeal s).IsRadical