ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- PowerSeries.eq_mul_inv_iff_mul_eq
theorem eq_mul_inv_iff_mul_eq {φ₁ φ₂ φ₃ : k⟦X⟧} (h : constantCoeff k φ₃ ≠ 0) :
    φ₁ = φ₂ * φ₃⁻¹ ↔ φ₁ * φ₃ = φ₂ 
Arguments: {k : Type u_2} [Field k] {φ₁ φ₂ φ₃ : PowerSeries k} (h : (PowerSeries.constantCoeff k) φ₃ ≠ 0)
Goal: φ₁ = φ₂ * φ₃⁻¹ ↔ φ₁ * φ₃ = φ₂
-- PowerSeries.eq_inv_iff_mul_eq_one
theorem eq_inv_iff_mul_eq_one {φ ψ : k⟦X⟧} (h : constantCoeff k ψ ≠ 0) :
    φ = ψ⁻¹ ↔ φ * ψ = 1 
Arguments: {k : Type u_2} [Field k] {φ ψ : PowerSeries k} (h : (PowerSeries.constantCoeff k) ψ ≠ 0)
Goal: φ = ψ⁻¹ ↔ φ * ψ = 1
-- PowerSeries.inv_eq_iff_mul_eq_one
theorem inv_eq_iff_mul_eq_one {φ ψ : k⟦X⟧} (h : constantCoeff k ψ ≠ 0) :
    ψ⁻¹ = φ ↔ φ * ψ = 1 
Arguments: {k : Type u_2} [Field k] {φ ψ : PowerSeries k} (h : (PowerSeries.constantCoeff k) ψ ≠ 0)
Goal: ψ⁻¹ = φ ↔ φ * ψ = 1
-- PowerSeries.mul_inv_rev
protected theorem mul_inv_rev (φ ψ : k⟦X⟧) : (φ * ψ)⁻¹ = ψ⁻¹ * φ⁻¹ 
Arguments: {k : Type u_2} [Field k] (φ ψ : PowerSeries k)
Goal: (φ * ψ)⁻¹ = ψ⁻¹ * φ⁻¹
-- PowerSeries.C_inv
@[simp]
theorem C_inv (r : k) : (C k r)⁻¹ = C k r⁻¹ 
Arguments: {k : Type u_2} [Field k] (r : k)
Goal: ((PowerSeries.C k) r)⁻¹ = (PowerSeries.C k) r⁻¹
-- PowerSeries.X_inv
@[simp]
theorem X_inv : (X : k⟦X⟧)⁻¹ = 0 
Arguments: {k : Type u_2} [Field k]
Goal: PowerSeries.X⁻¹ = 0
-- PowerSeries.smul_inv
theorem smul_inv (r : k) (φ : k⟦X⟧) : (r • φ)⁻¹ = r⁻¹ • φ⁻¹ 
Arguments: {k : Type u_2} [Field k] (r : k) (φ : PowerSeries k)
Goal: (r • φ)⁻¹ = r⁻¹ • φ⁻¹
-- PowerSeries.Inv_divided_by_X_pow_order_rightInv
@[simp]
theorem Inv_divided_by_X_pow_order_rightInv {f : k⟦X⟧} (hf : f ≠ 0) :
    divided_by_X_pow_order hf * Inv_divided_by_X_pow_order hf = 1 
Arguments: {k : Type u_2} [Field k] {f : PowerSeries k} (hf : f ≠ 0)
Goal: PowerSeries.divided_by_X_pow_order hf * PowerSeries.Inv_divided_by_X_pow_order hf = 1
-- PowerSeries.Inv_divided_by_X_pow_order_leftInv
@[simp]
theorem Inv_divided_by_X_pow_order_leftInv {f : k⟦X⟧} (hf : f ≠ 0) :
    (Inv_divided_by_X_pow_order hf) * (divided_by_X_pow_order hf) = 1 
Arguments: {k : Type u_2} [Field k] {f : PowerSeries k} (hf : f ≠ 0)
Goal: PowerSeries.Inv_divided_by_X_pow_order hf * PowerSeries.divided_by_X_pow_order hf = 1
-- PowerSeries.isUnit_divided_by_X_pow_order
theorem isUnit_divided_by_X_pow_order {f : k⟦X⟧} (hf : f ≠ 0) :
    IsUnit (divided_by_X_pow_order hf) 
Arguments: {k : Type u_2} [Field k] {f : PowerSeries k} (hf : f ≠ 0)
Goal: IsUnit (PowerSeries.divided_by_X_pow_order hf)
-- PowerSeries.Unit_of_divided_by_X_pow_order_nonzero
theorem Unit_of_divided_by_X_pow_order_nonzero {f : k⟦X⟧} (hf : f ≠ 0) :
    ↑(Unit_of_divided_by_X_pow_order f) = divided_by_X_pow_order hf 
Arguments: {k : Type u_2} [Field k] {f : PowerSeries k} (hf : f ≠ 0)
Goal: ↑f.Unit_of_divided_by_X_pow_order = PowerSeries.divided_by_X_pow_order hf
-- PowerSeries.Unit_of_divided_by_X_pow_order_zero
@[simp]
theorem Unit_of_divided_by_X_pow_order_zero : Unit_of_divided_by_X_pow_order (0 : k⟦X⟧) = 1 
Arguments: {k : Type u_2} [Field k]
Goal: PowerSeries.Unit_of_divided_by_X_pow_order 0 = 1
-- PowerSeries.eq_divided_by_X_pow_order_Iff_Unit
theorem eq_divided_by_X_pow_order_Iff_Unit {f : k⟦X⟧} (hf : f ≠ 0) :
    f = divided_by_X_pow_order hf ↔ IsUnit f 
Arguments: {k : Type u_2} [Field k] {f : PowerSeries k} (hf : f ≠ 0)
Goal: f = PowerSeries.divided_by_X_pow_order hf ↔ IsUnit f
-- PowerSeries.hasUnitMulPowIrreducibleFactorization
theorem hasUnitMulPowIrreducibleFactorization :
    HasUnitMulPowIrreducibleFactorization k⟦X⟧ 
Arguments: {k : Type u_2} [Field k]
Goal: DiscreteValuationRing.HasUnitMulPowIrreducibleFactorization (PowerSeries k)
-- PowerSeries.maximalIdeal_eq_span_X
theorem maximalIdeal_eq_span_X : LocalRing.maximalIdeal (k⟦X⟧) = Ideal.span {X} 
Arguments: {k : Type u_2} [Field k]
Goal: LocalRing.maximalIdeal (PowerSeries k) = Ideal.span {PowerSeries.X}
-- PowerSeries.normUnit_X
theorem normUnit_X : normUnit (X : k⟦X⟧) = 1 
Arguments: {k : Type u_2} [Field k]
Goal: normUnit PowerSeries.X = 1
-- PowerSeries.X_eq_normalizeX
theorem X_eq_normalizeX : (X : k⟦X⟧) = normalize X 
Arguments: {k : Type u_2} [Field k]
Goal: PowerSeries.X = normalize PowerSeries.X
-- PowerSeries.normalized_count_X_eq_of_coe
theorem normalized_count_X_eq_of_coe {P : k[X]} (hP : P ≠ 0) :
    Multiset.count PowerSeries.X (normalizedFactors (P : k⟦X⟧)) =
      Multiset.count Polynomial.X (normalizedFactors P) 
Arguments: {k : Type u_2} [Field k] {P : Polynomial k} (hP : P ≠ 0)
Goal: Multiset.count PowerSeries.X (UniqueFactorizationMonoid.normalizedFactors ↑P) =
  Multiset.count Polynomial.X (UniqueFactorizationMonoid.normalizedFactors P)
-- PowerSeries.ker_coeff_eq_max_ideal
theorem ker_coeff_eq_max_ideal : RingHom.ker (constantCoeff k) = maximalIdeal _ 
Arguments: {k : Type u_2} [Field k]
Goal: RingHom.ker (PowerSeries.constantCoeff k) = LocalRing.maximalIdeal (PowerSeries k)
-- Algebra.PowerBasis.norm_gen_eq_coeff_zero_minpoly
theorem PowerBasis.norm_gen_eq_coeff_zero_minpoly (pb : PowerBasis R S) :
    norm R pb.gen = (-1) ^ pb.dim * coeff (minpoly R pb.gen) 0 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] (pb : PowerBasis R S)
Goal: (Algebra.norm R) pb.gen = (-1) ^ pb.dim * (minpoly R pb.gen).coeff 0
-- Algebra.PowerBasis.norm_gen_eq_prod_roots
theorem PowerBasis.norm_gen_eq_prod_roots [Algebra R F] (pb : PowerBasis R S)
    (hf : (minpoly R pb.gen).Splits (algebraMap R F)) :
    algebraMap R F (norm R pb.gen) = ((minpoly R pb.gen).aroots F).prod 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {F : Type u_6} [Field F] [Algebra R F] (pb : PowerBasis R S) (hf : Polynomial.Splits (algebraMap R F) (minpoly R pb.gen))
Goal: (algebraMap R F) ((Algebra.norm R) pb.gen) = ((minpoly R pb.gen).aroots F).prod
-- Algebra.norm_zero
@[simp]
theorem norm_zero [Nontrivial S] [Module.Free R S] [Module.Finite R S] : norm R (0 : S) = 0 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] [Nontrivial S] [Module.Free R S] [Module.Finite R S]
Goal: (Algebra.norm R) 0 = 0
-- Algebra.norm_eq_zero_iff
@[simp]
theorem norm_eq_zero_iff [IsDomain R] [IsDomain S] [Module.Free R S] [Module.Finite R S] {x : S} :
    norm R x = 0 ↔ x = 0 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] [IsDomain R] [IsDomain S] [Module.Free R S] [Module.Finite R S] {x : S}
Goal: (Algebra.norm R) x = 0 ↔ x = 0
-- Algebra.norm_ne_zero_iff
theorem norm_ne_zero_iff [IsDomain R] [IsDomain S] [Module.Free R S] [Module.Finite R S] {x : S} :
    norm R x ≠ 0 ↔ x ≠ 0 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] [IsDomain R] [IsDomain S] [Module.Free R S] [Module.Finite R S] {x : S}
Goal: (Algebra.norm R) x ≠ 0 ↔ x ≠ 0
-- Algebra.norm_eq_zero_iff'
@[simp]
theorem norm_eq_zero_iff' [IsDomain R] [IsDomain S] [Module.Free R S] [Module.Finite R S] {x : S} :
    LinearMap.det (LinearMap.mul R S x) = 0 ↔ x = 0 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] [IsDomain R] [IsDomain S] [Module.Free R S] [Module.Finite R S] {x : S}
Goal: LinearMap.det ((LinearMap.mul R S) x) = 0 ↔ x = 0
-- Algebra.norm_eq_zero_iff_of_basis
theorem norm_eq_zero_iff_of_basis [IsDomain R] [IsDomain S] (b : Basis ι R S) {x : S} :
    Algebra.norm R x = 0 ↔ x = 0 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {ι : Type w} [Finite ι] [IsDomain R] [IsDomain S] (b : Basis ι R S) {x : S}
Goal: (Algebra.norm R) x = 0 ↔ x = 0
-- Algebra.norm_ne_zero_iff_of_basis
theorem norm_ne_zero_iff_of_basis [IsDomain R] [IsDomain S] (b : Basis ι R S) {x : S} :
    Algebra.norm R x ≠ 0 ↔ x ≠ 0 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {ι : Type w} [Finite ι] [IsDomain R] [IsDomain S] (b : Basis ι R S) {x : S}
Goal: (Algebra.norm R) x ≠ 0 ↔ x ≠ 0
-- Algebra.norm_eq_norm_adjoin
theorem norm_eq_norm_adjoin [FiniteDimensional K L] [Algebra.IsSeparable K L] (x : L) :
    norm K x = norm K (AdjoinSimple.gen K x) ^ finrank K⟮x⟯ L 
Arguments: (K : Type u_4) {L : Type u_5} [Field K] [Field L] [Algebra K L] [FiniteDimensional K L] [Algebra.IsSeparable K L] (x : L)
Goal: (Algebra.norm K) x = (Algebra.norm K) (IntermediateField.AdjoinSimple.gen K x) ^ FiniteDimensional.finrank (↥K⟮x⟯) L
-- IntermediateField.AdjoinSimple.norm_gen_eq_one
theorem _root_.IntermediateField.AdjoinSimple.norm_gen_eq_one {x : L} (hx : ¬IsIntegral K x) :
    norm K (AdjoinSimple.gen K x) = 1 
Arguments: {K : Type u_4} {L : Type u_5} [Field K] [Field L] [Algebra K L] {x : L} (hx : ¬IsIntegral K x)
Goal: (Algebra.norm K) (IntermediateField.AdjoinSimple.gen K x) = 1
-- IntermediateField.AdjoinSimple.norm_gen_eq_prod_roots
theorem _root_.IntermediateField.AdjoinSimple.norm_gen_eq_prod_roots (x : L)
    (hf : (minpoly K x).Splits (algebraMap K F)) :
    (algebraMap K F) (norm K (AdjoinSimple.gen K x)) =
      ((minpoly K x).aroots F).prod 
Arguments: {K : Type u_4} {L : Type u_5} {F : Type u_6} [Field K] [Field L] [Field F] [Algebra K L] [Algebra K F] (x : L) (hf : Polynomial.Splits (algebraMap K F) (minpoly K x))
Goal: (algebraMap K F) ((Algebra.norm K) (IntermediateField.AdjoinSimple.gen K x)) = ((minpoly K x).aroots F).prod
-- Algebra.norm_eq_prod_embeddings_gen
theorem norm_eq_prod_embeddings_gen [Algebra R F] (pb : PowerBasis R S)
    (hE : (minpoly R pb.gen).Splits (algebraMap R F)) (hfx : IsSeparable R pb.gen) :
    algebraMap R F (norm R pb.gen) =
      (@Finset.univ _ (PowerBasis.AlgHom.fintype pb)).prod fun σ => σ pb.gen 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] (F : Type u_6) [Field F] [Algebra R F] (pb : PowerBasis R S) (hE : Polynomial.Splits (algebraMap R F) (minpoly R pb.gen)) (hfx : IsSeparable R pb.gen)
Goal: (algebraMap R F) ((Algebra.norm R) pb.gen) = ∏ σ : S →ₐ[R] F, σ pb.gen
-- Algebra.norm_eq_prod_roots
theorem norm_eq_prod_roots [Algebra.IsSeparable K L] [FiniteDimensional K L] {x : L}
    (hF : (minpoly K x).Splits (algebraMap K F)) :
    algebraMap K F (norm K x) =
      ((minpoly K x).aroots F).prod ^ finrank K⟮x⟯ L 
Arguments: {K : Type u_4} {L : Type u_5} (F : Type u_6) [Field K] [Field L] [Field F] [Algebra K L] [Algebra K F] [Algebra.IsSeparable K L] [FiniteDimensional K L] {x : L} (hF : Polynomial.Splits (algebraMap K F) (minpoly K x))
Goal: (algebraMap K F) ((Algebra.norm K) x) = ((minpoly K x).aroots F).prod ^ FiniteDimensional.finrank (↥K⟮x⟯) L
-- Algebra.prod_embeddings_eq_finrank_pow
theorem prod_embeddings_eq_finrank_pow [Algebra L F] [IsScalarTower K L F] [IsAlgClosed E]
    [Algebra.IsSeparable K F] [FiniteDimensional K F] (pb : PowerBasis K L) :
    ∏ σ : F →ₐ[K] E, σ (algebraMap L F pb.gen) =
      ((@Finset.univ _ (PowerBasis.AlgHom.fintype pb)).prod
        fun σ : L →ₐ[K] E => σ pb.gen) ^ finrank L F 
Arguments: {K : Type u_4} {L : Type u_5} (F : Type u_6) [Field K] [Field L] [Field F] [Algebra K L] [Algebra K F] (E : Type u_7) [Field E] [Algebra K E] [Algebra L F] [IsScalarTower K L F] [IsAlgClosed E] [Algebra.IsSeparable K F] [FiniteDimensional K F] (pb : PowerBasis K L)
Goal: ∏ σ : F →ₐ[K] E, σ ((algebraMap L F) pb.gen) = (∏ σ : L →ₐ[K] E, σ pb.gen) ^ FiniteDimensional.finrank L F
-- Algebra.norm_eq_prod_embeddings
theorem norm_eq_prod_embeddings [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsAlgClosed E]
    (x : L) : algebraMap K E (norm K x) = ∏ σ : L →ₐ[K] E, σ x 
Arguments: (K : Type u_4) {L : Type u_5} [Field K] [Field L] [Algebra K L] (E : Type u_7) [Field E] [Algebra K E] [FiniteDimensional K L] [Algebra.IsSeparable K L] [IsAlgClosed E] (x : L)
Goal: (algebraMap K E) ((Algebra.norm K) x) = ∏ σ : L →ₐ[K] E, σ x
-- Algebra.norm_eq_prod_automorphisms
theorem norm_eq_prod_automorphisms [FiniteDimensional K L] [IsGalois K L] (x : L) :
    algebraMap K L (norm K x) = ∏ σ : L ≃ₐ[K] L, σ x 
Arguments: (K : Type u_4) {L : Type u_5} [Field K] [Field L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] (x : L)
Goal: (algebraMap K L) ((Algebra.norm K) x) = ∏ σ : L ≃ₐ[K] L, σ x
-- Algebra.isIntegral_norm
theorem isIntegral_norm [Algebra R L] [Algebra R K] [IsScalarTower R K L] [Algebra.IsSeparable K L]
    [FiniteDimensional K L] {x : L} (hx : IsIntegral R x) : IsIntegral R (norm K x) 
Arguments: {R : Type u_1} [CommRing R] (K : Type u_4) {L : Type u_5} [Field K] [Field L] [Algebra K L] [Algebra R L] [Algebra R K] [IsScalarTower R K L] [Algebra.IsSeparable K L] [FiniteDimensional K L] {x : L} (hx : IsIntegral R x)
Goal: IsIntegral R ((Algebra.norm K) x)
-- Algebra.norm_eq_of_algEquiv
lemma norm_eq_of_algEquiv [Ring T] [Algebra R T] (e : S ≃ₐ[R] T) (x) :
    Algebra.norm R (e x) = Algebra.norm R x 
Arguments: {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [Ring S] [Algebra R S] [Ring T] [Algebra R T] (e : S ≃ₐ[R] T) (x : S)
Goal: (Algebra.norm R) (e x) = (Algebra.norm R) x
-- Algebra.norm_eq_of_ringEquiv
lemma norm_eq_of_ringEquiv {A B C : Type*} [CommRing A] [CommRing B] [Ring C]
    [Algebra A C] [Algebra B C] (e : A ≃+* B) (he : (algebraMap B C).comp e = algebraMap A C)
    (x : C) :
    e (Algebra.norm A x) = Algebra.norm B x 
Arguments: {A : Type u_8} {B : Type u_9} {C : Type u_10} [CommRing A] [CommRing B] [Ring C] [Algebra A C] [Algebra B C] (e : A ≃+* B) (he : (algebraMap B C).comp ↑e = algebraMap A C) (x : C)
Goal: e ((Algebra.norm A) x) = (Algebra.norm B) x
-- Algebra.norm_eq_of_equiv_equiv
lemma norm_eq_of_equiv_equiv {A₁ B₁ A₂ B₂ : Type*} [CommRing A₁] [Ring B₁]
    [CommRing A₂] [Ring B₂] [Algebra A₁ B₁] [Algebra A₂ B₂] (e₁ : A₁ ≃+* A₂) (e₂ : B₁ ≃+* B₂)
    (he : RingHom.comp (algebraMap A₂ B₂) ↑e₁ = RingHom.comp ↑e₂ (algebraMap A₁ B₁)) (x) :
    Algebra.norm A₁ x = e₁.symm (Algebra.norm A₂ (e₂ x)) 
Arguments: {A₁ : Type u_8} {B₁ : Type u_9} {A₂ : Type u_10} {B₂ : Type u_11} [CommRing A₁] [Ring B₁] [CommRing A₂] [Ring B₂] [Algebra A₁ B₁] [Algebra A₂ B₂] (e₁ : A₁ ≃+* A₂) (e₂ : B₁ ≃+* B₂) (he : (algebraMap A₂ B₂).comp ↑e₁ = (↑e₂).comp (algebraMap A₁ B₁)) (x : B₁)
Goal: (Algebra.norm A₁) x = e₁.symm ((Algebra.norm A₂) (e₂ x))
-- Algebra.norm_norm
theorem norm_norm [Algebra L F] [IsScalarTower K L F] [Algebra.IsSeparable K F] (x : F) :
    norm K (norm L x) = norm K x 
Arguments: (K : Type u_4) (L : Type u_5) {F : Type u_6} [Field K] [Field L] [Field F] [Algebra K L] [Algebra K F] [Algebra L F] [IsScalarTower K L F] [Algebra.IsSeparable K F] (x : F)
Goal: (Algebra.norm K) ((Algebra.norm L) x) = (Algebra.norm K) x
-- PowerSeries.coeff_invUnitsSub
@[simp]
theorem coeff_invUnitsSub (u : Rˣ) (n : ℕ) : coeff R n (invUnitsSub u) = 1 /ₚ u ^ (n + 1) 
Arguments: {R : Type u_1} [Ring R] (u : Rˣ) (n : ℕ)
Goal: (PowerSeries.coeff R n) (PowerSeries.invUnitsSub u) = 1 /ₚ u ^ (n + 1)
-- PowerSeries.constantCoeff_invUnitsSub
@[simp]
theorem constantCoeff_invUnitsSub (u : Rˣ) : constantCoeff R (invUnitsSub u) = 1 /ₚ u 
Arguments: {R : Type u_1} [Ring R] (u : Rˣ)
Goal: (PowerSeries.constantCoeff R) (PowerSeries.invUnitsSub u) = 1 /ₚ u
-- PowerSeries.invUnitsSub_mul_X
@[simp]
theorem invUnitsSub_mul_X (u : Rˣ) : invUnitsSub u * X = invUnitsSub u * C R u - 1 
Arguments: {R : Type u_1} [Ring R] (u : Rˣ)
Goal: PowerSeries.invUnitsSub u * PowerSeries.X = PowerSeries.invUnitsSub u * (PowerSeries.C R) ↑u - 1
-- PowerSeries.invUnitsSub_mul_sub
@[simp]
theorem invUnitsSub_mul_sub (u : Rˣ) : invUnitsSub u * (C R u - X) = 1 
Arguments: {R : Type u_1} [Ring R] (u : Rˣ)
Goal: PowerSeries.invUnitsSub u * ((PowerSeries.C R) ↑u - PowerSeries.X) = 1
-- PowerSeries.map_invUnitsSub
theorem map_invUnitsSub (f : R →+* S) (u : Rˣ) :
    map f (invUnitsSub u) = invUnitsSub (Units.map (f : R →* S) u) 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) (u : Rˣ)
Goal: (PowerSeries.map f) (PowerSeries.invUnitsSub u) = PowerSeries.invUnitsSub ((Units.map ↑f) u)
-- PowerSeries.mk_one_mul_one_sub_eq_one
theorem mk_one_mul_one_sub_eq_one : (mk 1 : S⟦X⟧) * (1 - X) = 1 
Arguments: {S : Type u_1} [CommRing S]
Goal: PowerSeries.mk 1 * (1 - PowerSeries.X) = 1
-- PowerSeries.mk_one_pow_eq_mk_choose_add
theorem mk_one_pow_eq_mk_choose_add :
    (mk 1 : S⟦X⟧) ^ (d + 1) = (mk fun n => Nat.choose (d + n) d : S⟦X⟧) 
Arguments: {S : Type u_1} [CommRing S] (d : ℕ)
Goal: PowerSeries.mk 1 ^ (d + 1) = PowerSeries.mk fun n => ↑((d + n).choose d)
-- PowerSeries.invOneSubPow_val_eq_mk_choose_add
theorem invOneSubPow_val_eq_mk_choose_add :
    (invOneSubPow d).val = (mk fun n => Nat.choose (d + n) d : S⟦X⟧) 
Arguments: {S : Type u_1} [CommRing S] (d : ℕ)
Goal: ↑(PowerSeries.invOneSubPow d) = PowerSeries.mk fun n => ↑((d + n).choose d)
-- PowerSeries.invOneSubPow_val_zero_eq_invUnitSub_one
theorem invOneSubPow_val_zero_eq_invUnitSub_one :
    (invOneSubPow 0).val = invUnitsSub (1 : Sˣ) 
Arguments: {S : Type u_1} [CommRing S]
Goal: ↑(PowerSeries.invOneSubPow 0) = PowerSeries.invUnitsSub 1
-- PowerSeries.invOneSubPow_eq_inv_one_sub_pow
theorem invOneSubPow_eq_inv_one_sub_pow :
    invOneSubPow d = (Units.mkOfMulEqOne (1 - X) (mk 1 : S⟦X⟧)
    <| Eq.trans (mul_comm _ _) mk_one_mul_one_sub_eq_one)⁻¹ ^ (d + 1) 
Arguments: {S : Type u_1} [CommRing S] (d : ℕ)
Goal: PowerSeries.invOneSubPow d = (Units.mkOfMulEqOne (1 - PowerSeries.X) (PowerSeries.mk 1) ⋯)⁻¹ ^ (d + 1)
-- PowerSeries.invOneSubPow_inv_eq_one_sub_pow
theorem invOneSubPow_inv_eq_one_sub_pow :
    (invOneSubPow d).inv = (1 - X : S⟦X⟧) ^ (d + 1) 
Arguments: {S : Type u_1} [CommRing S] (d : ℕ)
Goal: (PowerSeries.invOneSubPow d).inv = (1 - PowerSeries.X) ^ (d + 1)
-- PowerSeries.coeff_exp
@[simp]
theorem coeff_exp : coeff A n (exp A) = algebraMap ℚ A (1 / n !) 
Arguments: {A : Type u_1} [Ring A] [Algebra ℚ A] (n : ℕ)
Goal: (PowerSeries.coeff A n) (PowerSeries.exp A) = (algebraMap ℚ A) (1 / ↑n.factorial)
-- PowerSeries.constantCoeff_exp
@[simp]
theorem constantCoeff_exp : constantCoeff A (exp A) = 1 
Arguments: {A : Type u_1} [Ring A] [Algebra ℚ A]
Goal: (PowerSeries.constantCoeff A) (PowerSeries.exp A) = 1
-- PowerSeries.map_exp
@[simp]
theorem map_exp : map (f : A →+* A') (exp A) = exp A' 
Arguments: {A : Type u_1} {A' : Type u_2} [Ring A] [Ring A'] [Algebra ℚ A] [Algebra ℚ A'] (f : A →+* A')
Goal: (PowerSeries.map f) (PowerSeries.exp A) = PowerSeries.exp A'
-- PowerSeries.map_sin
@[simp]
theorem map_sin : map f (sin A) = sin A' 
Arguments: {A : Type u_1} {A' : Type u_2} [Ring A] [Ring A'] [Algebra ℚ A] [Algebra ℚ A'] (f : A →+* A')
Goal: (PowerSeries.map f) (PowerSeries.sin A) = PowerSeries.sin A'
-- PowerSeries.map_cos
@[simp]
theorem map_cos : map f (cos A) = cos A' 
Arguments: {A : Type u_1} {A' : Type u_2} [Ring A] [Ring A'] [Algebra ℚ A] [Algebra ℚ A'] (f : A →+* A')
Goal: (PowerSeries.map f) (PowerSeries.cos A) = PowerSeries.cos A'
-- PowerSeries.exp_mul_exp_eq_exp_add
theorem exp_mul_exp_eq_exp_add [Algebra ℚ A] (a b : A) :
    rescale a (exp A) * rescale b (exp A) = rescale (a + b) (exp A) 
Arguments: {A : Type u_1} [CommRing A] [Algebra ℚ A] (a b : A)
Goal: (PowerSeries.rescale a) (PowerSeries.exp A) * (PowerSeries.rescale b) (PowerSeries.exp A) =
  (PowerSeries.rescale (a + b)) (PowerSeries.exp A)
-- PowerSeries.exp_mul_exp_neg_eq_one
theorem exp_mul_exp_neg_eq_one [Algebra ℚ A] : exp A * evalNegHom (exp A) = 1 
Arguments: {A : Type u_1} [CommRing A] [Algebra ℚ A]
Goal: PowerSeries.exp A * PowerSeries.evalNegHom (PowerSeries.exp A) = 1
-- PowerSeries.exp_pow_eq_rescale_exp
theorem exp_pow_eq_rescale_exp [Algebra ℚ A] (k : ℕ) : exp A ^ k = rescale (k : A) (exp A) 
Arguments: {A : Type u_1} [CommRing A] [Algebra ℚ A] (k : ℕ)
Goal: PowerSeries.exp A ^ k = (PowerSeries.rescale ↑k) (PowerSeries.exp A)
-- PowerSeries.exp_pow_sum
theorem exp_pow_sum [Algebra ℚ A] (n : ℕ) :
    ((Finset.range n).sum fun k => exp A ^ k) =
      PowerSeries.mk fun p => (Finset.range n).sum
        fun k => (k ^ p : A) * algebraMap ℚ A p.factorial⁻¹ 
Arguments: {A : Type u_1} [CommRing A] [Algebra ℚ A] (n : ℕ)
Goal: ∑ k ∈ Finset.range n, PowerSeries.exp A ^ k =
  PowerSeries.mk fun p => ∑ k ∈ Finset.range n, ↑k ^ p * (algebraMap ℚ A) (↑p.factorial)⁻¹
-- LocalRing.map_mkQ_eq
theorem map_mkQ_eq {N₁ N₂ : Submodule R M} (h : N₁ ≤ N₂) (h' : N₂.FG) :
    N₁.map (Submodule.mkQ (𝔪 • N₂)) = N₂.map (Submodule.mkQ (𝔪 • N₂)) ↔ N₁ = N₂ 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N₁ N₂ : Submodule R M} (h : N₁ ≤ N₂) (h' : N₂.FG)
Goal: Submodule.map (LocalRing.maximalIdeal R • N₂).mkQ N₁ = Submodule.map (LocalRing.maximalIdeal R • N₂).mkQ N₂ ↔ N₁ = N₂
-- LocalRing.map_mkQ_eq_top
theorem map_mkQ_eq_top {N : Submodule R M} [Module.Finite R M] :
    N.map (Submodule.mkQ (𝔪 • ⊤)) = ⊤ ↔ N = ⊤ 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Submodule R M} [Module.Finite R M]
Goal: Submodule.map (LocalRing.maximalIdeal R • ⊤).mkQ N = ⊤ ↔ N = ⊤
-- LocalRing.map_tensorProduct_mk_eq_top
theorem map_tensorProduct_mk_eq_top {N : Submodule R M} [Module.Finite R M] :
    N.map (TensorProduct.mk R k M 1) = ⊤ ↔ N = ⊤ 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] {M : Type u_2} [AddCommGroup M] [Module R M] {N : Submodule R M} [Module.Finite R M]
Goal: Submodule.map ((TensorProduct.mk R (LocalRing.ResidueField R) M) 1) N = ⊤ ↔ N = ⊤
-- LocalRing.subsingleton_tensorProduct
theorem subsingleton_tensorProduct [Module.Finite R M] :
    Subsingleton (k ⊗[R] M) ↔ Subsingleton M 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] {M : Type u_2} [AddCommGroup M] [Module R M] [Module.Finite R M]
Goal: Subsingleton (TensorProduct R (LocalRing.ResidueField R) M) ↔ Subsingleton M
-- LocalRing.span_eq_top_of_tmul_eq_basis
theorem span_eq_top_of_tmul_eq_basis [Module.Finite R M] {ι}
    (f : ι → M) (b : Basis ι k (k ⊗[R] M))
    (hb : ∀ i, 1 ⊗ₜ f i = b i) : Submodule.span R (Set.range f) = ⊤ 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] {M : Type u_2} [AddCommGroup M] [Module R M] [Module.Finite R M] {ι : Type u_3} (f : ι → M) (b : Basis ι (LocalRing.ResidueField R) (TensorProduct R (LocalRing.ResidueField R) M)) (hb : ∀ (i : ι), 1 ⊗ₜ[R] f i = b i)
Goal: Submodule.span R (Set.range f) = ⊤
-- lTensor_injective_of_exact_of_exact_of_rTensor_injective
theorem lTensor_injective_of_exact_of_exact_of_rTensor_injective
    {M₁ M₂ M₃ N₁ N₂ N₃}
    [AddCommGroup M₁] [Module R M₁] [AddCommGroup M₂] [Module R M₂] [AddCommGroup M₃] [Module R M₃]
    [AddCommGroup N₁] [Module R N₁] [AddCommGroup N₂] [Module R N₂] [AddCommGroup N₃] [Module R N₃]
    {f₁ : M₁ →ₗ[R] M₂} {f₂ : M₂ →ₗ[R] M₃} {g₁ : N₁ →ₗ[R] N₂} {g₂ : N₂ →ₗ[R] N₃}
    (hfexact : Exact f₁ f₂) (hfsurj : Surjective f₂)
    (hgexact : Exact g₁ g₂) (hgsurj : Surjective g₂)
    (hfinj : Injective (f₁.rTensor N₃)) (hginj : Injective (g₁.lTensor M₂)) :
    Injective (g₁.lTensor M₃) 
Arguments: {R : Type u_7} [CommRing R] {M₁ : Type u_1} {M₂ : Type u_2} {M₃ : Type u_3} {N₁ : Type u_4} {N₂ : Type u_5} {N₃ : Type u_6} [AddCommGroup M₁] [Module R M₁] [AddCommGroup M₂] [Module R M₂] [AddCommGroup M₃] [Module R M₃] [AddCommGroup N₁] [Module R N₁] [AddCommGroup N₂] [Module R N₂] [AddCommGroup N₃] [Module R N₃] {f₁ : M₁ →ₗ[R] M₂} {f₂ : M₂ →ₗ[R] M₃} {g₁ : N₁ →ₗ[R] N₂} {g₂ : N₂ →ₗ[R] N₃} (hfexact : Function.Exact ⇑f₁ ⇑f₂) (hfsurj : Function.Surjective ⇑f₂) (hgexact : Function.Exact ⇑g₁ ⇑g₂) (hgsurj : Function.Surjective ⇑g₂) (hfinj : Function.Injective ⇑(LinearMap.rTensor N₃ f₁)) (hginj : Function.Injective ⇑(LinearMap.lTensor M₂ g₁))
Goal: Function.Injective ⇑(LinearMap.lTensor M₃ g₁)
-- Module.free_of_maximalIdeal_rTensor_injective
theorem free_of_maximalIdeal_rTensor_injective [Module.FinitePresentation R M]
    (H : Function.Injective ((𝔪).subtype.rTensor M)) :
    Module.Free R M 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] {M : Type u_2} [AddCommGroup M] [Module R M] [Module.FinitePresentation R M] (H : Function.Injective ⇑(LinearMap.rTensor M (Submodule.subtype (LocalRing.maximalIdeal R))))
Goal: Module.Free R M
-- Module.free_of_flat_of_localRing
theorem free_of_flat_of_localRing [Module.FinitePresentation R P] [Module.Flat R P] :
    Module.Free R P 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] {P : Type u_2} [AddCommGroup P] [Module R P] [Module.FinitePresentation R P] [Module.Flat R P]
Goal: Module.Free R P