ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- MvPolynomial.IsHomogeneous.eq_zero_of_forall_eval_eq_zero
lemma eq_zero_of_forall_eval_eq_zero [Infinite R] {F : MvPolynomial σ R} {n : ℕ}
    (hF : F.IsHomogeneous n) (h : ∀ r : σ → R, eval r F = 0) : F = 0 
Arguments: {R : Type u_5} {σ : Type u_6} [CommRing R] [IsDomain R] [Infinite R] {F : MvPolynomial σ R} {n : ℕ} (hF : F.IsHomogeneous n) (h : ∀ (r : σ → R), (MvPolynomial.eval r) F = 0)
Goal: F = 0
-- MvPolynomial.IsHomogeneous.funext
lemma funext [Infinite R] {F G : MvPolynomial σ R} {n : ℕ}
    (hF : F.IsHomogeneous n) (hG : G.IsHomogeneous n)
    (h : ∀ r : σ → R, eval r F = eval r G) : F = G 
Arguments: {R : Type u_5} {σ : Type u_6} [CommRing R] [IsDomain R] [Infinite R] {F G : MvPolynomial σ R} {n : ℕ} (hF : F.IsHomogeneous n) (hG : G.IsHomogeneous n) (h : ∀ (r : σ → R), (MvPolynomial.eval r) F = (MvPolynomial.eval r) G)
Goal: F = G
-- MvPolynomial.homogeneousComponent_mem
theorem homogeneousComponent_mem  :
    homogeneousComponent n φ ∈ homogeneousSubmodule σ R n 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (n : ℕ) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.homogeneousComponent n) φ ∈ MvPolynomial.homogeneousSubmodule σ R n
-- MvPolynomial.coeff_homogeneousComponent
theorem coeff_homogeneousComponent (d : σ →₀ ℕ) :
    coeff d (homogeneousComponent n φ) = if d.degree = n then coeff d φ else 0 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (n : ℕ) (φ : MvPolynomial σ R) (d : σ →₀ ℕ)
Goal: MvPolynomial.coeff d ((MvPolynomial.homogeneousComponent n) φ) = if d.degree = n then MvPolynomial.coeff d φ else 0
-- MvPolynomial.homogeneousComponent_apply
theorem homogeneousComponent_apply :
    homogeneousComponent n φ =
      ∑ d ∈ φ.support.filter fun d => d.degree = n, monomial d (coeff d φ) 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (n : ℕ) (φ : MvPolynomial σ R)
Goal: (MvPolynomial.homogeneousComponent n) φ =
  ∑ d ∈ Finset.filter (fun d => d.degree = n) φ.support, (MvPolynomial.monomial d) (MvPolynomial.coeff d φ)
-- MvPolynomial.homogeneousComponent_isHomogeneous
theorem homogeneousComponent_isHomogeneous : (homogeneousComponent n φ).IsHomogeneous n 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (n : ℕ) (φ : MvPolynomial σ R)
Goal: ((MvPolynomial.homogeneousComponent n) φ).IsHomogeneous n
-- MvPolynomial.homogeneousComponent_zero
@[simp]
theorem homogeneousComponent_zero : homogeneousComponent 0 φ = C (coeff 0 φ) 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (φ : MvPolynomial σ R)
Goal: (MvPolynomial.homogeneousComponent 0) φ = MvPolynomial.C (MvPolynomial.coeff 0 φ)
-- MvPolynomial.homogeneousComponent_C_mul
@[simp]
theorem homogeneousComponent_C_mul (n : ℕ) (r : R) :
    homogeneousComponent n (C r * φ) = C r * homogeneousComponent n φ 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (φ : MvPolynomial σ R) (n : ℕ) (r : R)
Goal: (MvPolynomial.homogeneousComponent n) (MvPolynomial.C r * φ) =
  MvPolynomial.C r * (MvPolynomial.homogeneousComponent n) φ
-- MvPolynomial.homogeneousComponent_eq_zero'
theorem homogeneousComponent_eq_zero'
    (h : ∀ d : σ →₀ ℕ, d ∈ φ.support → d.degree ≠ n) :
    homogeneousComponent n φ = 0 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (n : ℕ) (φ : MvPolynomial σ R) (h : ∀ d ∈ φ.support, d.degree ≠ n)
Goal: (MvPolynomial.homogeneousComponent n) φ = 0
-- MvPolynomial.homogeneousComponent_eq_zero
theorem homogeneousComponent_eq_zero (h : φ.totalDegree < n) : homogeneousComponent n φ = 0 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (n : ℕ) (φ : MvPolynomial σ R) (h : φ.totalDegree < n)
Goal: (MvPolynomial.homogeneousComponent n) φ = 0
-- MvPolynomial.sum_homogeneousComponent
theorem sum_homogeneousComponent :
    (∑ i ∈ range (φ.totalDegree + 1), homogeneousComponent i φ) = φ 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (φ : MvPolynomial σ R)
Goal: ∑ i ∈ Finset.range (φ.totalDegree + 1), (MvPolynomial.homogeneousComponent i) φ = φ
-- MvPolynomial.homogeneousComponent_of_mem
theorem homogeneousComponent_of_mem {m n : ℕ} {p : MvPolynomial σ R}
    (h : p ∈ homogeneousSubmodule σ R n) :
    homogeneousComponent m p = if m = n then p else 0 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] {m n : ℕ} {p : MvPolynomial σ R} (h : p ∈ MvPolynomial.homogeneousSubmodule σ R n)
Goal: (MvPolynomial.homogeneousComponent m) p = if m = n then p else 0
-- MvPolynomial.HomogeneousSubmodule.gradedMonoid
lemma HomogeneousSubmodule.gradedMonoid :
    SetLike.GradedMonoid (homogeneousSubmodule σ R) 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R]
Goal: SetLike.GradedMonoid (MvPolynomial.homogeneousSubmodule σ R)
-- MvPolynomial.decomposition.decompose'_apply
theorem decomposition.decompose'_apply (φ : MvPolynomial σ R) (i : ℕ) :
    (decomposition.decompose' φ i : MvPolynomial σ R) = homogeneousComponent i φ 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R] (φ : MvPolynomial σ R) (i : ℕ)
Goal: ↑((DirectSum.Decomposition.decompose' φ) i) = (MvPolynomial.homogeneousComponent i) φ
-- MvPolynomial.decomposition.decompose'_eq
theorem decomposition.decompose'_eq :
    decomposition.decompose' = fun φ : MvPolynomial σ R =>
      DirectSum.mk (fun i : ℕ => ↥(homogeneousSubmodule σ R i)) (φ.support.image Finsupp.degree)
        fun m => ⟨homogeneousComponent m φ, homogeneousComponent_mem m φ⟩ 
Arguments: {σ : Type u_1} {R : Type u_3} [CommSemiring R]
Goal: DirectSum.Decomposition.decompose' = fun φ =>
  (DirectSum.mk (fun i => ↥(MvPolynomial.homogeneousSubmodule σ R i)) (Finset.image Finsupp.degree φ.support)) fun m =>
    ⟨(MvPolynomial.homogeneousComponent ↑m) φ, ⋯⟩
-- Algebra.discr_def
theorem discr_def [Fintype ι] (b : ι → B) : discr A b = (traceMatrix A b).det 
Arguments: (A : Type u) {B : Type v} {ι : Type w} [DecidableEq ι] [CommRing A] [CommRing B] [Algebra A B] [Fintype ι] (b : ι → B)
Goal: Algebra.discr A b = (Algebra.traceMatrix A b).det
-- Algebra.discr_eq_discr_of_algEquiv
theorem discr_eq_discr_of_algEquiv [Fintype ι] (b : ι → B) (f : B ≃ₐ[A] C) :
    Algebra.discr A b = Algebra.discr A (f ∘ b) 
Arguments: {A : Type u} {B : Type v} {C : Type z} {ι : Type w} [DecidableEq ι] [CommRing A] [CommRing B] [Algebra A B] [CommRing C] [Algebra A C] [Fintype ι] (b : ι → B) (f : B ≃ₐ[A] C)
Goal: Algebra.discr A b = Algebra.discr A (⇑f ∘ b)
-- Algebra.discr_reindex
@[simp]
theorem discr_reindex (b : Basis ι A B) (f : ι ≃ ι') : discr A (b ∘ ⇑f.symm) = discr A b 
Arguments: (A : Type u) {B : Type v} {ι : Type w} [DecidableEq ι] [CommRing A] [CommRing B] [Algebra A B] {ι' : Type u_1} [Fintype ι'] [Fintype ι] [DecidableEq ι'] (b : Basis ι A B) (f : ι ≃ ι')
Goal: Algebra.discr A (⇑b ∘ ⇑f.symm) = Algebra.discr A ⇑b
-- Algebra.discr_zero_of_not_linearIndependent
theorem discr_zero_of_not_linearIndependent [IsDomain A] {b : ι → B}
    (hli : ¬LinearIndependent A b) : discr A b = 0 
Arguments: (A : Type u) {B : Type v} {ι : Type w} [DecidableEq ι] [CommRing A] [CommRing B] [Algebra A B] [Fintype ι] [IsDomain A] {b : ι → B} (hli : ¬LinearIndependent A b)
Goal: Algebra.discr A b = 0
-- Algebra.discr_of_matrix_vecMul
theorem discr_of_matrix_vecMul (b : ι → B) (P : Matrix ι ι A) :
    discr A (b ᵥ* P.map (algebraMap A B)) = P.det ^ 2 * discr A b 
Arguments: {A : Type u} {B : Type v} {ι : Type w} [DecidableEq ι] [CommRing A] [CommRing B] [Algebra A B] [Fintype ι] (b : ι → B) (P : Matrix ι ι A)
Goal: Algebra.discr A (b ᵥ* P.map ⇑(algebraMap A B)) = P.det ^ 2 * Algebra.discr A b
-- Algebra.discr_of_matrix_mulVec
theorem discr_of_matrix_mulVec (b : ι → B) (P : Matrix ι ι A) :
    discr A (P.map (algebraMap A B) *ᵥ b) = P.det ^ 2 * discr A b 
Arguments: {A : Type u} {B : Type v} {ι : Type w} [DecidableEq ι] [CommRing A] [CommRing B] [Algebra A B] [Fintype ι] (b : ι → B) (P : Matrix ι ι A)
Goal: Algebra.discr A (P.map ⇑(algebraMap A B) *ᵥ b) = P.det ^ 2 * Algebra.discr A b
-- Algebra.discr_not_zero_of_basis
theorem discr_not_zero_of_basis [Algebra.IsSeparable K L] (b : Basis ι K L) :
    discr K b ≠ 0 
Arguments: {ι : Type w} [DecidableEq ι] [Fintype ι] (K : Type u) {L : Type v} [Field K] [Field L] [Algebra K L] [Module.Finite K L] [Algebra.IsSeparable K L] (b : Basis ι K L)
Goal: Algebra.discr K ⇑b ≠ 0
-- Algebra.discr_isUnit_of_basis
theorem discr_isUnit_of_basis [Algebra.IsSeparable K L] (b : Basis ι K L) : IsUnit (discr K b) 
Arguments: {ι : Type w} [DecidableEq ι] [Fintype ι] (K : Type u) {L : Type v} [Field K] [Field L] [Algebra K L] [Module.Finite K L] [Algebra.IsSeparable K L] (b : Basis ι K L)
Goal: IsUnit (Algebra.discr K ⇑b)
-- Algebra.discr_eq_det_embeddingsMatrixReindex_pow_two
theorem discr_eq_det_embeddingsMatrixReindex_pow_two
    [Algebra.IsSeparable K L] (e : ι ≃ (L →ₐ[K] E)) :
    algebraMap K E (discr K b) = (embeddingsMatrixReindex K E b e).det ^ 2 
Arguments: {ι : Type w} [DecidableEq ι] [Fintype ι] (K : Type u) {L : Type v} (E : Type z) [Field K] [Field L] [Field E] [Algebra K L] [Algebra K E] [Module.Finite K L] [IsAlgClosed E] (b : ι → L) [Algebra.IsSeparable K L] (e : ι ≃ (L →ₐ[K] E))
Goal: (algebraMap K E) (Algebra.discr K b) = (Algebra.embeddingsMatrixReindex K E b e).det ^ 2
-- Algebra.discr_powerBasis_eq_prod
theorem discr_powerBasis_eq_prod (e : Fin pb.dim ≃ (L →ₐ[K] E)) [Algebra.IsSeparable K L] :
    algebraMap K E (discr K pb.basis) =
      ∏ i : Fin pb.dim, ∏ j ∈ Ioi i, (e j pb.gen - e i pb.gen) ^ 2 
Arguments: (K : Type u) {L : Type v} (E : Type z) [Field K] [Field L] [Field E] [Algebra K L] [Algebra K E] [Module.Finite K L] [IsAlgClosed E] (pb : PowerBasis K L) (e : Fin pb.dim ≃ (L →ₐ[K] E)) [Algebra.IsSeparable K L]
Goal: (algebraMap K E) (Algebra.discr K ⇑pb.basis) = ∏ i : Fin pb.dim, ∏ j ∈ Finset.Ioi i, ((e j) pb.gen - (e i) pb.gen) ^ 2
-- Algebra.discr_powerBasis_eq_prod'
theorem discr_powerBasis_eq_prod' [Algebra.IsSeparable K L] (e : Fin pb.dim ≃ (L →ₐ[K] E)) :
    algebraMap K E (discr K pb.basis) =
      ∏ i : Fin pb.dim, ∏ j ∈ Ioi i, -((e j pb.gen - e i pb.gen) * (e i pb.gen - e j pb.gen)) 
Arguments: (K : Type u) {L : Type v} (E : Type z) [Field K] [Field L] [Field E] [Algebra K L] [Algebra K E] [Module.Finite K L] [IsAlgClosed E] (pb : PowerBasis K L) [Algebra.IsSeparable K L] (e : Fin pb.dim ≃ (L →ₐ[K] E))
Goal: (algebraMap K E) (Algebra.discr K ⇑pb.basis) =
  ∏ i : Fin pb.dim, ∏ j ∈ Finset.Ioi i, -(((e j) pb.gen - (e i) pb.gen) * ((e i) pb.gen - (e j) pb.gen))
-- Algebra.discr_powerBasis_eq_prod''
theorem discr_powerBasis_eq_prod'' [Algebra.IsSeparable K L] (e : Fin pb.dim ≃ (L →ₐ[K] E)) :
    algebraMap K E (discr K pb.basis) =
      (-1) ^ (n * (n - 1) / 2) *
        ∏ i : Fin pb.dim, ∏ j ∈ Ioi i, (e j pb.gen - e i pb.gen) * (e i pb.gen - e j pb.gen) 
Arguments: (K : Type u) {L : Type v} (E : Type z) [Field K] [Field L] [Field E] [Algebra K L] [Algebra K E] [Module.Finite K L] [IsAlgClosed E] (pb : PowerBasis K L) [Algebra.IsSeparable K L] (e : Fin pb.dim ≃ (L →ₐ[K] E))
Goal: (algebraMap K E) (Algebra.discr K ⇑pb.basis) =
  (-1) ^ (FiniteDimensional.finrank K L * (FiniteDimensional.finrank K L - 1) / 2) *
    ∏ i : Fin pb.dim, ∏ j ∈ Finset.Ioi i, ((e j) pb.gen - (e i) pb.gen) * ((e i) pb.gen - (e j) pb.gen)
-- Algebra.discr_powerBasis_eq_norm
-- Porting note: `(minpoly K pb.gen).derivative` does not work anymore.
theorem discr_powerBasis_eq_norm [Algebra.IsSeparable K L] :
    discr K pb.basis =
      (-1) ^ (n * (n - 1) / 2) *
      norm K (aeval pb.gen (derivative (R := K) (minpoly K pb.gen))) 
Arguments: (K : Type u) {L : Type v} [Field K] [Field L] [Algebra K L] [Module.Finite K L] (pb : PowerBasis K L) [Algebra.IsSeparable K L]
Goal: Algebra.discr K ⇑pb.basis =
  (-1) ^ (FiniteDimensional.finrank K L * (FiniteDimensional.finrank K L - 1) / 2) *
    (Algebra.norm K) ((Polynomial.aeval pb.gen) (Polynomial.derivative (minpoly K pb.gen)))
-- Algebra.discr_isIntegral
theorem discr_isIntegral {b : ι → L} (h : ∀ i, IsIntegral R (b i)) : IsIntegral R (discr K b) 
Arguments: {ι : Type w} [DecidableEq ι] [Fintype ι] (K : Type u) {L : Type v} [Field K] [Field L] [Algebra K L] [Module.Finite K L] {R : Type z} [CommRing R] [Algebra R K] [Algebra R L] [IsScalarTower R K L] {b : ι → L} (h : ∀ (i : ι), IsIntegral R (b i))
Goal: IsIntegral R (Algebra.discr K b)
-- Algebra.discr_mul_isIntegral_mem_adjoin
theorem discr_mul_isIntegral_mem_adjoin [Algebra.IsSeparable K L] [IsIntegrallyClosed R]
    [IsFractionRing R K] {B : PowerBasis K L} (hint : IsIntegral R B.gen) {z : L}
    (hz : IsIntegral R z) : discr K B.basis • z ∈ adjoin R ({B.gen} : Set L) 
Arguments: (K : Type u) {L : Type v} [Field K] [Field L] [Algebra K L] [Module.Finite K L] {R : Type z} [CommRing R] [Algebra R K] [Algebra R L] [IsScalarTower R K L] [Algebra.IsSeparable K L] [IsIntegrallyClosed R] [IsFractionRing R K] {B : PowerBasis K L} (hint : IsIntegral R B.gen) {z : L} (hz : IsIntegral R z)
Goal: Algebra.discr K ⇑B.basis • z ∈ Algebra.adjoin R {B.gen}
-- Algebra.discr_eq_discr
theorem discr_eq_discr [Fintype ι] (b : Basis ι ℤ A) (b' : Basis ι ℤ A) :
    Algebra.discr ℤ b = Algebra.discr ℤ b' 
Arguments: (A : Type u) {ι : Type w} [DecidableEq ι] [CommRing A] [Fintype ι] (b b' : Basis ι ℤ A)
Goal: Algebra.discr ℤ ⇑b = Algebra.discr ℤ ⇑b'
-- Polynomial.lift_of_splits
theorem Polynomial.lift_of_splits {F K L : Type*} [Field F] [Field K] [Field L] [Algebra F K]
    [Algebra F L] (s : Finset K) : (∀ x ∈ s, IsIntegral F x ∧
      Splits (algebraMap F L) (minpoly F x)) → Nonempty (Algebra.adjoin F (s : Set K) →ₐ[F] L) 
Arguments: {F : Type u_2} {K : Type u_3} {L : Type u_4} [Field F] [Field K] [Field L] [Algebra F K] [Algebra F L] (s : Finset K)
Goal: (∀ x ∈ s, IsIntegral F x ∧ Polynomial.Splits (algebraMap F L) (minpoly F x)) → Nonempty (↥(Algebra.adjoin F ↑s) →ₐ[F] L)
-- IsIntegral.mem_range_algHom_of_minpoly_splits
theorem IsIntegral.mem_range_algHom_of_minpoly_splits (f : K →ₐ[R] L) : x ∈ f.range 
Arguments: {R : Type u_1} {K : Type u_2} {L : Type u_3} [CommRing R] [Field K] [Field L] [Algebra R K] [Algebra R L] {x : L} (int : IsIntegral R x) (h : Polynomial.Splits (algebraMap R K) (minpoly R x)) (f : K →ₐ[R] L)
Goal: x ∈ f.range
-- IsIntegral.mem_range_algebraMap_of_minpoly_splits
theorem IsIntegral.mem_range_algebraMap_of_minpoly_splits [Algebra K L] [IsScalarTower R K L] :
    x ∈ (algebraMap K L).range 
Arguments: {R : Type u_1} {K : Type u_2} {L : Type u_3} [CommRing R] [Field K] [Field L] [Algebra R K] [Algebra R L] {x : L} (int : IsIntegral R x) (h : Polynomial.Splits (algebraMap R K) (minpoly R x)) [Algebra K L] [IsScalarTower R K L]
Goal: x ∈ (algebraMap K L).range
-- IsIntegral.minpoly_splits_tower_top'
theorem IsIntegral.minpoly_splits_tower_top' {f : K →+* L}
    (h : Splits (f.comp <| algebraMap R K) (minpoly R x)) :
    Splits f (minpoly K x) 
Arguments: {R : Type u_1} {K : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [Field K] [Field L] [CommRing M] [Algebra R K] [Algebra R M] [Algebra K M] [IsScalarTower R K M] {x : M} (int : IsIntegral R x) {f : K →+* L} (h : Polynomial.Splits (f.comp (algebraMap R K)) (minpoly R x))
Goal: Polynomial.Splits f (minpoly K x)
-- IsIntegral.minpoly_splits_tower_top
theorem IsIntegral.minpoly_splits_tower_top [Algebra K L] [IsScalarTower R K L]
    (h : Splits (algebraMap R L) (minpoly R x)) :
    Splits (algebraMap K L) (minpoly K x) 
Arguments: {R : Type u_1} {K : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [Field K] [Field L] [CommRing M] [Algebra R K] [Algebra R L] [Algebra R M] [Algebra K M] [IsScalarTower R K M] {x : M} (int : IsIntegral R x) [Algebra K L] [IsScalarTower R K L] (h : Polynomial.Splits (algebraMap R L) (minpoly R x))
Goal: Polynomial.Splits (algebraMap K L) (minpoly K x)
-- Subalgebra.adjoin_rank_le
lemma Subalgebra.adjoin_rank_le {F : Type*} (E : Type*) {K : Type*}
    [CommRing F] [StrongRankCondition F] [CommRing E] [StrongRankCondition E] [Ring K]
    [SMul F E] [Algebra E K] [Algebra F K] [IsScalarTower F E K]
    (L : Subalgebra F K) [Module.Free F L] :
    Module.rank E (Algebra.adjoin E (L : Set K)) ≤ Module.rank F L 
Arguments: {F : Type u_5} (E : Type u_6) {K : Type u_7} [CommRing F] [StrongRankCondition F] [CommRing E] [StrongRankCondition E] [Ring K] [SMul F E] [Algebra E K] [Algebra F K] [IsScalarTower F E K] (L : Subalgebra F K) [Module.Free F ↥L]
Goal: Module.rank E ↥(Algebra.adjoin E ↑L) ≤ Module.rank F ↥L
-- Algebra.fg_trans
theorem fg_trans (h1 : (adjoin R s).toSubmodule.FG) (h2 : (adjoin (adjoin R s) t).toSubmodule.FG) :
    (adjoin R (s ∪ t)).toSubmodule.FG 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [CommSemiring A] [Algebra R A] {s t : Set A} (h1 : (Subalgebra.toSubmodule (Algebra.adjoin R s)).FG) (h2 : (Subalgebra.toSubmodule (Algebra.adjoin (↥(Algebra.adjoin R s)) t)).FG)
Goal: (Subalgebra.toSubmodule (Algebra.adjoin R (s ∪ t))).FG
-- Subalgebra.fg_adjoin_finset
theorem fg_adjoin_finset (s : Finset A) : (Algebra.adjoin R (↑s : Set A)).FG 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (s : Finset A)
Goal: (Algebra.adjoin R ↑s).FG
-- Subalgebra.fg_def
theorem fg_def {S : Subalgebra R A} : S.FG ↔ ∃ t : Set A, Set.Finite t ∧ Algebra.adjoin R t = S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] {S : Subalgebra R A}
Goal: S.FG ↔ ∃ t, t.Finite ∧ Algebra.adjoin R t = S
-- Subalgebra.fg_bot
theorem fg_bot : (⊥ : Subalgebra R A).FG 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A]
Goal: ⊥.FG
-- Subalgebra.fg_of_fg_toSubmodule
theorem fg_of_fg_toSubmodule {S : Subalgebra R A} : S.toSubmodule.FG → S.FG 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] {S : Subalgebra R A}
Goal: (Subalgebra.toSubmodule S).FG → S.FG
-- Subalgebra.fg_of_noetherian
theorem fg_of_noetherian [IsNoetherian R A] (S : Subalgebra R A) : S.FG 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] [IsNoetherian R A] (S : Subalgebra R A)
Goal: S.FG
-- Subalgebra.fg_of_submodule_fg
theorem fg_of_submodule_fg (h : (⊤ : Submodule R A).FG) : (⊤ : Subalgebra R A).FG 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (h : ⊤.FG)
Goal: ⊤.FG
-- Subalgebra.FG.prod
theorem FG.prod {S : Subalgebra R A} {T : Subalgebra R B} (hS : S.FG) (hT : T.FG) :
    (S.prod T).FG 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S : Subalgebra R A} {T : Subalgebra R B} (hS : S.FG) (hT : T.FG)
Goal: (S.prod T).FG
-- Subalgebra.FG.map
theorem FG.map {S : Subalgebra R A} (f : A →ₐ[R] B) (hs : S.FG) : (S.map f).FG 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S : Subalgebra R A} (f : A →ₐ[R] B) (hs : S.FG)
Goal: (Subalgebra.map f S).FG
-- Subalgebra.fg_of_fg_map
theorem fg_of_fg_map (S : Subalgebra R A) (f : A →ₐ[R] B) (hf : Function.Injective f)
    (hs : (S.map f).FG) : S.FG 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (S : Subalgebra R A) (f : A →ₐ[R] B) (hf : Function.Injective ⇑f) (hs : (Subalgebra.map f S).FG)
Goal: S.FG
-- Subalgebra.fg_top
theorem fg_top (S : Subalgebra R A) : (⊤ : Subalgebra R S).FG ↔ S.FG 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: ⊤.FG ↔ S.FG
-- Subalgebra.induction_on_adjoin
theorem induction_on_adjoin [IsNoetherian R A] (P : Subalgebra R A → Prop) (base : P ⊥)
    (ih : ∀ (S : Subalgebra R A) (x : A), P S → P (Algebra.adjoin R (insert x S)))
    (S : Subalgebra R A) : P S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] [IsNoetherian R A] (P : Subalgebra R A → Prop) (base : P ⊥) (ih : ∀ (S : Subalgebra R A) (x : A), P S → P (Algebra.adjoin R (insert x ↑S))) (S : Subalgebra R A)
Goal: P S
-- isNoetherianRing_of_fg
theorem isNoetherianRing_of_fg {S : Subalgebra R A} (HS : S.FG) [IsNoetherianRing R] :
    IsNoetherianRing S 
Arguments: {R : Type u} {A : Type v} [CommRing R] [CommRing A] [Algebra R A] {S : Subalgebra R A} (HS : S.FG) [IsNoetherianRing R]
Goal: IsNoetherianRing ↥S
-- is_noetherian_subring_closure
theorem is_noetherian_subring_closure (s : Set R) (hs : s.Finite) :
    IsNoetherianRing (Subring.closure s) 
Arguments: {R : Type u} [CommRing R] (s : Set R) (hs : s.Finite)
Goal: IsNoetherianRing ↥(Subring.closure s)
-- IsDedekindDomainDvr.isNoetherianRing
structure IsDedekindDomainDvr : Prop where
  isNoetherianRing : IsNoetherianRing A
  is_dvr_at_nonzero_prime : ∀ P ≠ (⊥ : Ideal A), ∀ _ : P.IsPrime,
    DiscreteValuationRing (Localization.AtPrime P)
Arguments: {A : Type u_2} [CommRing A] [IsDomain A] (self : IsDedekindDomainDvr A)
Goal: IsNoetherianRing A
-- IsDedekindDomainDvr.is_dvr_at_nonzero_prime
structure IsDedekindDomainDvr : Prop where
  isNoetherianRing : IsNoetherianRing A
  is_dvr_at_nonzero_prime : ∀ P ≠ (⊥ : Ideal A), ∀ _ : P.IsPrime,
    DiscreteValuationRing (Localization.AtPrime P)
Arguments: {A : Type u_2} [CommRing A] [IsDomain A] (self : IsDedekindDomainDvr A) (P : Ideal A)
Goal: P ≠ ⊥ → ∀ (x : P.IsPrime), DiscreteValuationRing (Localization.AtPrime P)
-- Ring.DimensionLEOne.localization
theorem Ring.DimensionLEOne.localization {R : Type*} (Rₘ : Type*) [CommRing R] [IsDomain R]
    [CommRing Rₘ] [Algebra R Rₘ] {M : Submonoid R} [IsLocalization M Rₘ] (hM : M ≤ R⁰)
    [h : Ring.DimensionLEOne R] : Ring.DimensionLEOne Rₘ 
Arguments: {R : Type u_4} (Rₘ : Type u_5) [CommRing R] [IsDomain R] [CommRing Rₘ] [Algebra R Rₘ] {M : Submonoid R} [IsLocalization M Rₘ] (hM : M ≤ R⁰) [h : Ring.DimensionLEOne R]
Goal: Ring.DimensionLEOne Rₘ
-- IsLocalization.isDedekindDomain
theorem IsLocalization.isDedekindDomain [IsDedekindDomain A] {M : Submonoid A} (hM : M ≤ A⁰)
    (Aₘ : Type*) [CommRing Aₘ] [IsDomain Aₘ] [Algebra A Aₘ] [IsLocalization M Aₘ] :
    IsDedekindDomain Aₘ 
Arguments: (A : Type u_2) [CommRing A] [IsDomain A] [IsDedekindDomain A] {M : Submonoid A} (hM : M ≤ A⁰) (Aₘ : Type u_4) [CommRing Aₘ] [IsDomain Aₘ] [Algebra A Aₘ] [IsLocalization M Aₘ]
Goal: IsDedekindDomain Aₘ
-- IsLocalization.AtPrime.isDedekindDomain
theorem IsLocalization.AtPrime.isDedekindDomain [IsDedekindDomain A] (P : Ideal A) [P.IsPrime]
    (Aₘ : Type*) [CommRing Aₘ] [IsDomain Aₘ] [Algebra A Aₘ] [IsLocalization.AtPrime Aₘ P] :
    IsDedekindDomain Aₘ 
Arguments: (A : Type u_2) [CommRing A] [IsDomain A] [IsDedekindDomain A] (P : Ideal A) [P.IsPrime] (Aₘ : Type u_4) [CommRing Aₘ] [IsDomain Aₘ] [Algebra A Aₘ] [IsLocalization.AtPrime Aₘ P]
Goal: IsDedekindDomain Aₘ
-- IsLocalization.AtPrime.not_isField
theorem IsLocalization.AtPrime.not_isField {P : Ideal A} (hP : P ≠ ⊥) [pP : P.IsPrime] (Aₘ : Type*)
    [CommRing Aₘ] [Algebra A Aₘ] [IsLocalization.AtPrime Aₘ P] : ¬IsField Aₘ 
Arguments: (A : Type u_2) [CommRing A] [IsDomain A] {P : Ideal A} (hP : P ≠ ⊥) [pP : P.IsPrime] (Aₘ : Type u_4) [CommRing Aₘ] [Algebra A Aₘ] [IsLocalization.AtPrime Aₘ P]
Goal: ¬IsField Aₘ
-- IsLocalization.AtPrime.discreteValuationRing_of_dedekind_domain
theorem IsLocalization.AtPrime.discreteValuationRing_of_dedekind_domain [IsDedekindDomain A]
    {P : Ideal A} (hP : P ≠ ⊥) [pP : P.IsPrime] (Aₘ : Type*) [CommRing Aₘ] [IsDomain Aₘ]
    [Algebra A Aₘ] [IsLocalization.AtPrime Aₘ P] : DiscreteValuationRing Aₘ 
Arguments: (A : Type u_2) [CommRing A] [IsDomain A] [IsDedekindDomain A] {P : Ideal A} (hP : P ≠ ⊥) [pP : P.IsPrime] (Aₘ : Type u_4) [CommRing Aₘ] [IsDomain Aₘ] [Algebra A Aₘ] [IsLocalization.AtPrime Aₘ P]
Goal: DiscreteValuationRing Aₘ
-- IsDedekindDomain.isDedekindDomainDvr
theorem IsDedekindDomain.isDedekindDomainDvr [IsDedekindDomain A] : IsDedekindDomainDvr A 
Arguments: (A : Type u_2) [CommRing A] [IsDomain A] [IsDedekindDomain A]
Goal: IsDedekindDomainDvr A
-- MvPolynomial.rTensor_apply_tmul
lemma rTensor_apply_tmul (p : MvPolynomial σ S) (n : N) :
    rTensor (p ⊗ₜ[R] n) = p.sum (fun i m ↦ Finsupp.single i (m ⊗ₜ[R] n)) 
Arguments: {R : Type u} {N : Type w} [CommSemiring R] {σ : Type u_1} [DecidableEq σ] {S : Type u_2} [CommSemiring S] [Algebra R S] [AddCommMonoid N] [Module R N] (p : MvPolynomial σ S) (n : N)
Goal: MvPolynomial.rTensor (p ⊗ₜ[R] n) = Finsupp.sum p fun i m => Finsupp.single i (m ⊗ₜ[R] n)