ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Algebra.Generators.aeval_val_σ'
structure Algebra.Generators where
    vars : Type w
    val : vars → S
    σ' : S → MvPolynomial vars R
  aeval_val_σ' : ∀ s, aeval val (σ' s) = s
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (self : Algebra.Generators R S) (s : S)
Goal: (MvPolynomial.aeval self.val) (self.σ' s) = s
-- Algebra.Generators.aeval_val_σ
@[simp]
lemma aeval_val_σ (s) : aeval P.val (P.σ s) = s 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S) (s : S)
Goal: (MvPolynomial.aeval P.val) (P.σ s) = s
-- Algebra.Generators.algebraMap_eq
lemma algebraMap_eq : algebraMap P.Ring S = ↑(aeval (R := R) P.val) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S)
Goal: algebraMap P.Ring S = ↑(MvPolynomial.aeval P.val)
-- Algebra.Generators.algebraMap_apply
@[simp]
lemma algebraMap_apply (x) : algebraMap P.Ring S x = aeval (R := R) P.val x 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S) (x : P.Ring)
Goal: (algebraMap P.Ring S) x = (MvPolynomial.aeval P.val) x
-- Algebra.Generators.σ_smul
@[simp]
lemma σ_smul (x y) : P.σ x • y = x * y 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S) (x y : S)
Goal: P.σ x • y = x * y
-- Algebra.Generators.σ_injective
lemma σ_injective : P.σ.Injective 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S)
Goal: Function.Injective P.σ
-- Algebra.Generators.algebraMap_surjective
lemma algebraMap_surjective : Function.Surjective (algebraMap P.Ring S) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S)
Goal: Function.Surjective ⇑(algebraMap P.Ring S)
-- Algebra.Generators.ofSurjective_vars
@[simps val, simps (config := .lemmasOnly) vars]
noncomputable
def ofSurjective {vars} (val : vars → S) (h : Function.Surjective (aeval (R := R) val)) :
    Generators R S 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {vars : Type u_1} (val : vars → S) (h : Function.Surjective ⇑(MvPolynomial.aeval val))
Goal: (Algebra.Generators.ofSurjective val h).vars = vars
-- Algebra.Generators.ofSurjective_val
@[simps val, simps (config := .lemmasOnly) vars]
noncomputable
def ofSurjective {vars} (val : vars → S) (h : Function.Surjective (aeval (R := R) val)) :
    Generators R S 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {vars : Type u_1} (val : vars → S) (h : Function.Surjective ⇑(MvPolynomial.aeval val))
Goal: ∀ (a : vars), (Algebra.Generators.ofSurjective val h).val a = val a
-- Algebra.Generators.self_σ
@[simps]
noncomputable
def self : Generators R S 
Arguments: (R : Type u) (S : Type v) [CommRing R] [CommRing S] [Algebra R S] (n : S)
Goal: (Algebra.Generators.self R S).σ n = MvPolynomial.X n
-- Algebra.Generators.self_vars
@[simps]
noncomputable
def self : Generators R S 
Arguments: (R : Type u) (S : Type v) [CommRing R] [CommRing S] [Algebra R S]
Goal: (Algebra.Generators.self R S).vars = S
-- Algebra.Generators.self_val
@[simps]
noncomputable
def self : Generators R S 
Arguments: (R : Type u) (S : Type v) [CommRing R] [CommRing S] [Algebra R S] (a : S)
Goal: (Algebra.Generators.self R S).val a = id a
-- Algebra.Generators.localizationAway_σ
@[simps val, simps (config := .lemmasOnly) vars σ]
noncomputable
def localizationAway : Generators R S 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (r : R) [IsLocalization.Away r S] (s : S)
Goal: (Algebra.Generators.localizationAway r).σ s =
  MvPolynomial.C (IsLocalization.Away.sec r s).1 * MvPolynomial.X () ^ (IsLocalization.Away.sec r s).2
-- Algebra.Generators.localizationAway_val
@[simps val, simps (config := .lemmasOnly) vars σ]
noncomputable
def localizationAway : Generators R S 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (r : R) [IsLocalization.Away r S]
Goal: ∀ (x : Unit), (Algebra.Generators.localizationAway r).val x = IsLocalization.Away.invSelf r
-- Algebra.Generators.localizationAway_vars
@[simps val, simps (config := .lemmasOnly) vars σ]
noncomputable
def localizationAway : Generators R S 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (r : R) [IsLocalization.Away r S]
Goal: (Algebra.Generators.localizationAway r).vars = Unit
-- Algebra.Generators.comp_σ
@[simps val, simps (config := .lemmasOnly) vars σ]
noncomputable
def comp (Q : Generators S T) (P : Generators R S) : Generators R T 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T) (P : Algebra.Generators R S) (x : T)
Goal: (Q.comp P).σ x =
  Finsupp.sum (Q.σ x) fun n r =>
    (MvPolynomial.rename Sum.inr) (P.σ r) * (MvPolynomial.monomial (Finsupp.mapDomain Sum.inl n)) 1
-- Algebra.Generators.comp_val
@[simps val, simps (config := .lemmasOnly) vars σ]
noncomputable
def comp (Q : Generators S T) (P : Generators R S) : Generators R T 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T) (P : Algebra.Generators R S)
Goal: ∀ (a : Q.vars ⊕ P.vars), (Q.comp P).val a = Sum.elim Q.val (⇑(algebraMap S T) ∘ P.val) a
-- Algebra.Generators.comp_vars
@[simps val, simps (config := .lemmasOnly) vars σ]
noncomputable
def comp (Q : Generators S T) (P : Generators R S) : Generators R T 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T) (P : Algebra.Generators R S)
Goal: (Q.comp P).vars = (Q.vars ⊕ P.vars)
-- Algebra.Generators.extendScalars_val
@[simps val, simps (config := .lemmasOnly) vars]
noncomputable
def extendScalars (P : Generators R T) : Generators S T 
Arguments: {R : Type u} (S : Type v) [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (P : Algebra.Generators R T)
Goal: ∀ (a : P.vars), (Algebra.Generators.extendScalars S P).val a = P.val a
-- Algebra.Generators.extendScalars_vars
@[simps val, simps (config := .lemmasOnly) vars]
noncomputable
def extendScalars (P : Generators R T) : Generators S T 
Arguments: {R : Type u} (S : Type v) [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (P : Algebra.Generators R T)
Goal: (Algebra.Generators.extendScalars S P).vars = P.vars
-- Algebra.Generators.baseChange_val
@[simps! val, simps! (config := .lemmasOnly) vars]
noncomputable
def baseChange {T} [CommRing T] [Algebra R T] (P : Generators R S) : Generators T (T ⊗[R] S) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] (P : Algebra.Generators R S) (x : P.vars)
Goal: P.baseChange.val x = 1 ⊗ₜ[R] P.val x
-- Algebra.Generators.baseChange_vars
@[simps! val, simps! (config := .lemmasOnly) vars]
noncomputable
def baseChange {T} [CommRing T] [Algebra R T] (P : Generators R S) : Generators T (T ⊗[R] S) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] (P : Algebra.Generators R S)
Goal: P.baseChange.vars = P.vars
-- Algebra.Generators.Hom.aeval_val
@[ext]
structure Hom where
    val : P.vars → P'.Ring
  aeval_val : ∀ i, aeval P'.val (val i) = algebraMap S S' (P.val i)
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra S S'] (self : P.Hom P') (i : P.vars)
Goal: (MvPolynomial.aeval P'.val) (self.val i) = (algebraMap S S') (P.val i)
-- Algebra.Generators.Hom.algebraMap_toAlgHom
@[simp]
lemma Hom.algebraMap_toAlgHom (f : Hom P P') (x) : MvPolynomial.aeval P'.val (f.toAlgHom x) =
    algebraMap S S' (MvPolynomial.aeval P.val x) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : P.Hom P') (x : P.Ring)
Goal: (MvPolynomial.aeval P'.val) (f.toAlgHom x) = (algebraMap S S') ((MvPolynomial.aeval P.val) x)
-- Algebra.Generators.Hom.toAlgHom_X
@[simp]
lemma Hom.toAlgHom_X (f : Hom P P') (i) : f.toAlgHom (.X i) = f.val i 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] (f : P.Hom P') (i : P.vars)
Goal: f.toAlgHom (MvPolynomial.X i) = f.val i
-- Algebra.Generators.Hom.toAlgHom_C
lemma Hom.toAlgHom_C (f : Hom P P') (r) : f.toAlgHom (.C r) = .C (algebraMap _ _ r) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] (f : P.Hom P') (r : R)
Goal: f.toAlgHom (MvPolynomial.C r) = MvPolynomial.C ((algebraMap R R') r)
-- Algebra.Generators.Hom.toAlgHom_monomial
lemma Hom.toAlgHom_monomial (f : Generators.Hom P P') (v r) :
    f.toAlgHom (monomial v r) = r • v.prod (f.val · ^ ·) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] (f : P.Hom P') (v : P.vars →₀ ℕ) (r : R)
Goal: f.toAlgHom ((MvPolynomial.monomial v) r) = r • v.prod fun x x_1 => f.val x ^ x_1
-- Algebra.Generators.Hom.equivAlgHom_apply_coe
@[simps]
noncomputable
def Hom.equivAlgHom :
    Hom P P' ≃ { f : P.Ring →ₐ[R] P'.Ring //
      ∀ x, aeval P'.val (f x) = algebraMap S S' (aeval P.val x) } 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : P.Hom P')
Goal: ↑(Algebra.Generators.Hom.equivAlgHom f) = f.toAlgHom
-- Algebra.Generators.Hom.equivAlgHom_symm_apply_val
@[simps]
noncomputable
def Hom.equivAlgHom :
    Hom P P' ≃ { f : P.Ring →ₐ[R] P'.Ring //
      ∀ x, aeval P'.val (f x) = algebraMap S S' (aeval P.val x) } 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : { f // ∀ (x : P.Ring), (MvPolynomial.aeval P'.val) (f x) = (algebraMap S S') ((MvPolynomial.aeval P.val) x) }) (i : P.vars)
Goal: (Algebra.Generators.Hom.equivAlgHom.symm f).val i = ↑f (MvPolynomial.X i)
-- Algebra.Generators.defaultHom_val
@[simps]
def defaultHom : Hom P P' 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S) {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] (P' : Algebra.Generators R' S') [Algebra S S']
Goal: ∀ (a : P.vars), (P.defaultHom P').val a = (P'.σ ∘ ⇑(algebraMap S S') ∘ P.val) a
-- Algebra.Generators.Hom.id_val
@[simps]
protected noncomputable def Hom.id : Hom P P 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S) (n : P.vars)
Goal: (Algebra.Generators.Hom.id P).val n = MvPolynomial.X n
-- Algebra.Generators.Hom.toAlgHom_id
@[simp]
lemma Hom.toAlgHom_id : Hom.toAlgHom (.id P) = AlgHom.id _ _ 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S)
Goal: (Algebra.Generators.Hom.id P).toAlgHom = AlgHom.id R P.Ring
-- Algebra.Generators.Hom.comp_val
@[simps]
noncomputable def Hom.comp (f : Hom P' P'') (g : Hom P P') : Hom P P'' 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra S S'] {R'' : Type u_4} {S'' : Type u_5} [CommRing R''] [CommRing S''] [Algebra R'' S''] {P'' : Algebra.Generators R'' S''} [Algebra S S''] [Algebra R' R''] [Algebra S' S''] [Algebra R' S''] [IsScalarTower R' R'' S''] [IsScalarTower R' S' S''] [IsScalarTower S S' S''] (f : P'.Hom P'') (g : P.Hom P') (x : P.vars)
Goal: (f.comp g).val x = (MvPolynomial.aeval f.val) (g.val x)
-- Algebra.Generators.Hom.comp_id
@[simp]
lemma Hom.comp_id (f : Hom P P') : f.comp (Hom.id P) = f 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : P.Hom P')
Goal: f.comp (Algebra.Generators.Hom.id P) = f
-- Algebra.Generators.Hom.id_comp
@[simp]
lemma Hom.id_comp (f : Hom P P') : (Hom.id P').comp f = f 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra S S'] (f : P.Hom P')
Goal: (Algebra.Generators.Hom.id P').comp f = f
-- Algebra.Generators.Hom.toAlgHom_comp_apply
@[simp]
lemma Hom.toAlgHom_comp_apply (f : Hom P P') (g : Hom P' P'') (x) :
    (g.comp f).toAlgHom x = g.toAlgHom (f.toAlgHom x) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] {R'' : Type u_4} {S'' : Type u_5} [CommRing R''] [CommRing S''] [Algebra R'' S''] {P'' : Algebra.Generators R'' S''} [Algebra R R''] [Algebra S S''] [Algebra R' R''] [Algebra S' S''] [Algebra R' S''] [IsScalarTower R' R'' S''] [IsScalarTower R' S' S''] [IsScalarTower R R' R''] [IsScalarTower S S' S''] (f : P.Hom P') (g : P'.Hom P'') (x : P.Ring)
Goal: (g.comp f).toAlgHom x = g.toAlgHom (f.toAlgHom x)
-- Algebra.Generators.toComp_val
@[simps]
noncomputable
def toComp (Q : Generators S T) (P : Generators R S) : Hom P (Q.comp P) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T) (P : Algebra.Generators R S) (i : P.vars)
Goal: (Q.toComp P).val i = MvPolynomial.X (Sum.inr i)
-- Algebra.Generators.ofComp_val
@[simps]
noncomputable
def ofComp (Q : Generators S T) (P : Generators R S) : Hom (Q.comp P) Q 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T) (P : Algebra.Generators R S) (i : (Q.comp P).vars)
Goal: (Q.ofComp P).val i = Sum.elim MvPolynomial.X (⇑MvPolynomial.C ∘ P.val) i
-- Algebra.Generators.toExtendScalars_val
@[simps]
noncomputable
def toExtendScalars (P : Generators R T) : Hom P (P.extendScalars S) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_1} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (P : Algebra.Generators R T) (n : P.vars)
Goal: P.toExtendScalars.val n = MvPolynomial.X n
-- Algebra.Generators.ker_eq_ker_aeval_val
lemma ker_eq_ker_aeval_val : P.ker = RingHom.ker (aeval P.val) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S)
Goal: P.ker = RingHom.ker (MvPolynomial.aeval P.val)
-- Algebra.Generators.Cotangent.ext
@[ext]
lemma Cotangent.ext {x y : P.Cotangent} (e : x.val = y.val) : x = y 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {x y : P.Cotangent} (e : x.val = y.val)
Goal: x = y
-- Algebra.Generators.Cotangent.val_add
@[simp] lemma val_add : (x + y).val = x.val + y.val 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (x y : P.Cotangent)
Goal: (x + y).val = x.val + y.val
-- Algebra.Generators.Cotangent.val_zero
@[simp] lemma val_zero : (0 : P.Cotangent).val = 0 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S}
Goal: Algebra.Generators.Cotangent.val 0 = 0
-- Algebra.Generators.Cotangent.of_add
@[simp] lemma of_add : of (w + z) = of w + of z 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (w z : P.ker.Cotangent)
Goal: Algebra.Generators.Cotangent.of (w + z) = Algebra.Generators.Cotangent.of w + Algebra.Generators.Cotangent.of z
-- Algebra.Generators.Cotangent.of_zero
@[simp] lemma of_zero : (of 0 : P.Cotangent) = 0 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S}
Goal: Algebra.Generators.Cotangent.of 0 = 0
-- Algebra.Generators.Cotangent.of_val
@[simp] lemma of_val : of x.val = x 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (x : P.Cotangent)
Goal: Algebra.Generators.Cotangent.of x.val = x
-- Algebra.Generators.Cotangent.val_of
@[simp] lemma val_of : (of w).val = w 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (w : P.ker.Cotangent)
Goal: (Algebra.Generators.Cotangent.of w).val = w
-- Algebra.Generators.Cotangent.val_sub
@[simp] lemma val_sub : (x - y).val = x.val - y.val 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (x y : P.Cotangent)
Goal: (x - y).val = x.val - y.val
-- Algebra.Generators.Cotangent.smul_eq_zero_of_mem
lemma Cotangent.smul_eq_zero_of_mem (p : P.Ring) (hp : p ∈ P.ker) (m : P.ker.Cotangent) :
    p • m = 0 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (p : P.Ring) (hp : p ∈ P.ker) (m : P.ker.Cotangent)
Goal: p • m = 0
-- Algebra.Generators.Cotangent.val_smul'''
lemma Cotangent.val_smul''' {R₀} [CommRing R₀] [Algebra R₀ S] (r : R₀) (x : P.Cotangent) :
    (r • x).val = P.σ (algebraMap R₀ S r) • x.val 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R₀ : Type u_1} [CommRing R₀] [Algebra R₀ S] (r : R₀) (x : P.Cotangent)
Goal: (r • x).val = P.σ ((algebraMap R₀ S) r) • x.val
-- Algebra.Generators.Cotangent.val_smul
@[simp]
lemma Cotangent.val_smul (r : S) (x : P.Cotangent) : (r • x).val = P.σ r • x.val 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (r : S) (x : P.Cotangent)
Goal: (r • x).val = P.σ r • x.val
-- Algebra.Generators.Cotangent.val_smul'
@[simp]
lemma Cotangent.val_smul' (r : P.Ring) (x : P.Cotangent) : (r • x).val = r • x.val 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (r : P.Ring) (x : P.Cotangent)
Goal: (r • x).val = r • x.val
-- Algebra.Generators.Cotangent.val_smul''
@[simp]
lemma Cotangent.val_smul'' (r : R) (x : P.Cotangent) : (r • x).val = r • x.val 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (r : R) (x : P.Cotangent)
Goal: (r • x).val = r • x.val
-- Algebra.Generators.Cotangent.val_mk
@[simp]
lemma Cotangent.val_mk (x : P.ker) : (mk x).val = Ideal.toCotangent _ x 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} (x : ↥P.ker)
Goal: (Algebra.Generators.Cotangent.mk x).val = P.ker.toCotangent x
-- Algebra.Generators.Cotangent.mk_surjective
lemma Cotangent.mk_surjective : Function.Surjective (mk (P := P)) 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S}
Goal: Function.Surjective ⇑Algebra.Generators.Cotangent.mk
-- Algebra.Generators.Cotangent.map_mk
@[simp]
lemma Cotangent.map_mk (f : Hom P P') (x) :
    Cotangent.map f (.mk x) =
      .mk ⟨f.toAlgHom x, by simpa [-map_aeval] using RingHom.congr_arg (algebraMap S S') x.2⟩ 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : P.Hom P') (x : ↥P.ker)
Goal: (Algebra.Generators.Cotangent.map f) (Algebra.Generators.Cotangent.mk x) =
  Algebra.Generators.Cotangent.mk ⟨f.toAlgHom ↑x, ⋯⟩
-- Algebra.Generators.Cotangent.map_id
@[simp]
lemma Cotangent.map_id :
    Cotangent.map (.id P) = LinearMap.id 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S}
Goal: Algebra.Generators.Cotangent.map (Algebra.Generators.Hom.id P) = LinearMap.id
-- Algebra.Generators.Cotangent.map_comp
lemma Cotangent.map_comp (f : Hom P P') (g : Hom P' P'') :
    Cotangent.map (g.comp f) = (map g).restrictScalars S ∘ₗ map f 
Arguments: {R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S} {R' : Type u_1} {S' : Type u_2} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] {R'' : Type u_4} {S'' : Type u_5} [CommRing R''] [CommRing S''] [Algebra R'' S''] (P'' : Algebra.Generators R'' S'') [Algebra R R''] [Algebra S S''] [Algebra R S''] [IsScalarTower R R'' S''] [IsScalarTower R S S''] [Algebra R' R''] [Algebra S' S''] [Algebra R' S''] [IsScalarTower R' R'' S''] [IsScalarTower R' S' S''] [IsScalarTower R R' R''] [IsScalarTower S S' S''] (f : P.Hom P') (g : P'.Hom P'')
Goal: Algebra.Generators.Cotangent.map (g.comp f) =
  ↑S (Algebra.Generators.Cotangent.map g) ∘ₗ Algebra.Generators.Cotangent.map f
-- LaurentSeries.hasseDeriv_apply
@[simps]
def hasseDeriv (R : Type*) {V : Type*} [AddCommGroup V] [Semiring R] [Module R V] (k : ℕ) :
    LaurentSeries V →ₗ[R] LaurentSeries V 
Arguments: (R : Type u_2) {V : Type u_3} [AddCommGroup V] [Semiring R] [Module R V] (k : ℕ) (f : LaurentSeries V)
Goal: (LaurentSeries.hasseDeriv R k) f = HahnSeries.ofSuppBddBelow (fun n => Ring.choose (n + ↑k) k • f.coeff (n + ↑k)) ⋯
-- LaurentSeries.hasseDeriv_coeff
theorem hasseDeriv_coeff (k : ℕ) (f : LaurentSeries V) (n : ℤ) :
    (hasseDeriv R k f).coeff n = Ring.choose (n + k) k • f.coeff (n + k) 
Arguments: {R : Type u_1} [Semiring R] {V : Type u_2} [AddCommGroup V] [Module R V] (k : ℕ) (f : LaurentSeries V) (n : ℤ)
Goal: ((LaurentSeries.hasseDeriv R k) f).coeff n = Ring.choose (n + ↑k) k • f.coeff (n + ↑k)
-- LaurentSeries.coeff_coe_powerSeries
@[simp]
theorem coeff_coe_powerSeries (x : PowerSeries R) (n : ℕ) :
    HahnSeries.coeff (x : LaurentSeries R) n = PowerSeries.coeff R n x 
Arguments: {R : Type u_1} [Semiring R] (x : PowerSeries R) (n : ℕ)
Goal: ((HahnSeries.ofPowerSeries ℤ R) x).coeff ↑n = (PowerSeries.coeff R n) x
-- LaurentSeries.powerSeriesPart_coeff
@[simp]
theorem powerSeriesPart_coeff (x : LaurentSeries R) (n : ℕ) :
    PowerSeries.coeff R n x.powerSeriesPart = x.coeff (x.order + n) 
Arguments: {R : Type u_1} [Semiring R] (x : LaurentSeries R) (n : ℕ)
Goal: (PowerSeries.coeff R n) x.powerSeriesPart = x.coeff (HahnSeries.order x + ↑n)
-- LaurentSeries.powerSeriesPart_zero
@[simp]
theorem powerSeriesPart_zero : powerSeriesPart (0 : LaurentSeries R) = 0 
Arguments: {R : Type u_1} [Semiring R]
Goal: LaurentSeries.powerSeriesPart 0 = 0
-- LaurentSeries.powerSeriesPart_eq_zero
@[simp]
theorem powerSeriesPart_eq_zero (x : LaurentSeries R) : x.powerSeriesPart = 0 ↔ x = 0 
Arguments: {R : Type u_1} [Semiring R] (x : LaurentSeries R)
Goal: x.powerSeriesPart = 0 ↔ x = 0