ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- PowerBasis.constr_pow_mul
theorem constr_pow_mul (pb : PowerBasis A S) {y : S'} (hy : aeval y (minpoly A pb.gen) = 0)
    (x x' : S) : pb.basis.constr A (fun i => y ^ (i : ℕ)) (x * x') =
      pb.basis.constr A (fun i => y ^ (i : ℕ)) x * pb.basis.constr A (fun i => y ^ (i : ℕ)) x' 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) {y : S'} (hy : (Polynomial.aeval y) (minpoly A pb.gen) = 0) (x x' : S)
Goal: ((pb.basis.constr A) fun i => y ^ ↑i) (x * x') =
  ((pb.basis.constr A) fun i => y ^ ↑i) x * ((pb.basis.constr A) fun i => y ^ ↑i) x'
-- PowerBasis.lift_gen
@[simp]
theorem lift_gen (pb : PowerBasis A S) (y : S') (hy : aeval y (minpoly A pb.gen) = 0) :
    pb.lift y hy pb.gen = y 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (y : S') (hy : (Polynomial.aeval y) (minpoly A pb.gen) = 0)
Goal: (pb.lift y hy) pb.gen = y
-- PowerBasis.lift_aeval
@[simp]
theorem lift_aeval (pb : PowerBasis A S) (y : S') (hy : aeval y (minpoly A pb.gen) = 0) (f : A[X]) :
    pb.lift y hy (aeval pb.gen f) = aeval y f 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (y : S') (hy : (Polynomial.aeval y) (minpoly A pb.gen) = 0) (f : A[X])
Goal: (pb.lift y hy) ((Polynomial.aeval pb.gen) f) = (Polynomial.aeval y) f
-- PowerBasis.liftEquiv_symm_apply
@[simps]
noncomputable def liftEquiv (pb : PowerBasis A S) :
    (S →ₐ[A] S') ≃ { y : S' // aeval y (minpoly A pb.gen) = 0 } 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (y : { y // (Polynomial.aeval y) (minpoly A pb.gen) = 0 })
Goal: pb.liftEquiv.symm y = pb.lift ↑y ⋯
-- PowerBasis.liftEquiv_apply_coe
@[simps]
noncomputable def liftEquiv (pb : PowerBasis A S) :
    (S →ₐ[A] S') ≃ { y : S' // aeval y (minpoly A pb.gen) = 0 } 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (f : S →ₐ[A] S')
Goal: ↑(pb.liftEquiv f) = f pb.gen
-- PowerBasis.liftEquiv'_apply_coe
@[simps! (config := .asFn)]
noncomputable def liftEquiv' (pb : PowerBasis A S) :
    (S →ₐ[A] B) ≃ { y : B // y ∈ (minpoly A pb.gen).aroots B } 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} {B : Type u_5} [CommRing A] [CommRing B] [IsDomain B] [Algebra A B] [Algebra A S] (pb : PowerBasis A S)
Goal: ∀ (a : S →ₐ[A] B), ↑(pb.liftEquiv' a) = a pb.gen
-- PowerBasis.liftEquiv'_symm_apply_apply
@[simps! (config := .asFn)]
noncomputable def liftEquiv' (pb : PowerBasis A S) :
    (S →ₐ[A] B) ≃ { y : B // y ∈ (minpoly A pb.gen).aroots B } 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} {B : Type u_5} [CommRing A] [CommRing B] [IsDomain B] [Algebra A B] [Algebra A S] (pb : PowerBasis A S)
Goal: ∀ (a : { y // y ∈ (minpoly A pb.gen).aroots B }), ⇑(pb.liftEquiv'.symm a) = ⇑((pb.basis.constr A) fun i => ↑a ^ ↑i)
-- PowerBasis.equivOfRoot_apply
@[simps! (config := .lemmasOnly) apply]
noncomputable def equivOfRoot (pb : PowerBasis A S) (pb' : PowerBasis A S')
    (h₁ : aeval pb.gen (minpoly A pb'.gen) = 0) (h₂ : aeval pb'.gen (minpoly A pb.gen) = 0) :
    S ≃ₐ[A] S' 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (pb' : PowerBasis A S') (h₁ : (Polynomial.aeval pb.gen) (minpoly A pb'.gen) = 0) (h₂ : (Polynomial.aeval pb'.gen) (minpoly A pb.gen) = 0) (a : S)
Goal: (pb.equivOfRoot pb' h₁ h₂) a = (pb.lift pb'.gen h₂) a
-- PowerBasis.equivOfRoot_aeval
@[simp]
theorem equivOfRoot_aeval (pb : PowerBasis A S) (pb' : PowerBasis A S')
    (h₁ : aeval pb.gen (minpoly A pb'.gen) = 0) (h₂ : aeval pb'.gen (minpoly A pb.gen) = 0)
    (f : A[X]) : pb.equivOfRoot pb' h₁ h₂ (aeval pb.gen f) = aeval pb'.gen f 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (pb' : PowerBasis A S') (h₁ : (Polynomial.aeval pb.gen) (minpoly A pb'.gen) = 0) (h₂ : (Polynomial.aeval pb'.gen) (minpoly A pb.gen) = 0) (f : A[X])
Goal: (pb.equivOfRoot pb' h₁ h₂) ((Polynomial.aeval pb.gen) f) = (Polynomial.aeval pb'.gen) f
-- PowerBasis.equivOfRoot_gen
@[simp]
theorem equivOfRoot_gen (pb : PowerBasis A S) (pb' : PowerBasis A S')
    (h₁ : aeval pb.gen (minpoly A pb'.gen) = 0) (h₂ : aeval pb'.gen (minpoly A pb.gen) = 0) :
    pb.equivOfRoot pb' h₁ h₂ pb.gen = pb'.gen 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (pb' : PowerBasis A S') (h₁ : (Polynomial.aeval pb.gen) (minpoly A pb'.gen) = 0) (h₂ : (Polynomial.aeval pb'.gen) (minpoly A pb.gen) = 0)
Goal: (pb.equivOfRoot pb' h₁ h₂) pb.gen = pb'.gen
-- PowerBasis.equivOfRoot_symm
@[simp]
theorem equivOfRoot_symm (pb : PowerBasis A S) (pb' : PowerBasis A S')
    (h₁ : aeval pb.gen (minpoly A pb'.gen) = 0) (h₂ : aeval pb'.gen (minpoly A pb.gen) = 0) :
    (pb.equivOfRoot pb' h₁ h₂).symm = pb'.equivOfRoot pb h₂ h₁ 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (pb' : PowerBasis A S') (h₁ : (Polynomial.aeval pb.gen) (minpoly A pb'.gen) = 0) (h₂ : (Polynomial.aeval pb'.gen) (minpoly A pb.gen) = 0)
Goal: (pb.equivOfRoot pb' h₁ h₂).symm = pb'.equivOfRoot pb h₂ h₁
-- PowerBasis.equivOfMinpoly_apply
@[simps! (config := .lemmasOnly) apply]
noncomputable def equivOfMinpoly (pb : PowerBasis A S) (pb' : PowerBasis A S')
    (h : minpoly A pb.gen = minpoly A pb'.gen) : S ≃ₐ[A] S' 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (pb' : PowerBasis A S') (h : minpoly A pb.gen = minpoly A pb'.gen) (a : S)
Goal: (pb.equivOfMinpoly pb' h) a = (pb.lift pb'.gen ⋯) a
-- PowerBasis.equivOfMinpoly_aeval
@[simp]
theorem equivOfMinpoly_aeval (pb : PowerBasis A S) (pb' : PowerBasis A S')
    (h : minpoly A pb.gen = minpoly A pb'.gen) (f : A[X]) :
    pb.equivOfMinpoly pb' h (aeval pb.gen f) = aeval pb'.gen f 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (pb' : PowerBasis A S') (h : minpoly A pb.gen = minpoly A pb'.gen) (f : A[X])
Goal: (pb.equivOfMinpoly pb' h) ((Polynomial.aeval pb.gen) f) = (Polynomial.aeval pb'.gen) f
-- PowerBasis.equivOfMinpoly_gen
@[simp]
theorem equivOfMinpoly_gen (pb : PowerBasis A S) (pb' : PowerBasis A S')
    (h : minpoly A pb.gen = minpoly A pb'.gen) : pb.equivOfMinpoly pb' h pb.gen = pb'.gen 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (pb' : PowerBasis A S') (h : minpoly A pb.gen = minpoly A pb'.gen)
Goal: (pb.equivOfMinpoly pb' h) pb.gen = pb'.gen
-- PowerBasis.equivOfMinpoly_symm
@[simp]
theorem equivOfMinpoly_symm (pb : PowerBasis A S) (pb' : PowerBasis A S')
    (h : minpoly A pb.gen = minpoly A pb'.gen) :
    (pb.equivOfMinpoly pb' h).symm = pb'.equivOfMinpoly pb h.symm 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] [Algebra A S] {S' : Type u_7} [Ring S'] [Algebra A S'] (pb : PowerBasis A S) (pb' : PowerBasis A S') (h : minpoly A pb.gen = minpoly A pb'.gen)
Goal: (pb.equivOfMinpoly pb' h).symm = pb'.equivOfMinpoly pb ⋯
-- linearIndependent_pow
theorem linearIndependent_pow [Algebra K S] (x : S) :
    LinearIndependent K fun i : Fin (minpoly K x).natDegree => x ^ (i : ℕ) 
Arguments: {S : Type u_2} [Ring S] {K : Type u_6} [Field K] [Algebra K S] (x : S)
Goal: LinearIndependent K fun i => x ^ ↑i
-- IsIntegral.mem_span_pow
theorem IsIntegral.mem_span_pow [Nontrivial R] {x y : S} (hx : IsIntegral R x)
    (hy : ∃ f : R[X], y = aeval x f) :
    y ∈ Submodule.span R (Set.range fun i : Fin (minpoly R x).natDegree => x ^ (i : ℕ)) 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] [Nontrivial R] {x y : S} (hx : IsIntegral R x) (hy : ∃ f, y = (Polynomial.aeval x) f)
Goal: y ∈ Submodule.span R (Set.range fun i => x ^ ↑i)
-- PowerBasis.map_dim
@[simps dim gen basis]
noncomputable def map (pb : PowerBasis R S) (e : S ≃ₐ[R] S') : PowerBasis R S' 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {S' : Type u_7} [CommRing S'] [Algebra R S'] (pb : PowerBasis R S) (e : S ≃ₐ[R] S')
Goal: (pb.map e).dim = pb.dim
-- PowerBasis.map_gen
@[simps dim gen basis]
noncomputable def map (pb : PowerBasis R S) (e : S ≃ₐ[R] S') : PowerBasis R S' 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {S' : Type u_7} [CommRing S'] [Algebra R S'] (pb : PowerBasis R S) (e : S ≃ₐ[R] S')
Goal: (pb.map e).gen = e pb.gen
-- PowerBasis.map_basis
@[simps dim gen basis]
noncomputable def map (pb : PowerBasis R S) (e : S ≃ₐ[R] S') : PowerBasis R S' 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {S' : Type u_7} [CommRing S'] [Algebra R S'] (pb : PowerBasis R S) (e : S ≃ₐ[R] S')
Goal: (pb.map e).basis = pb.basis.map e.toLinearEquiv
-- PowerBasis.minpolyGen_map
theorem minpolyGen_map (pb : PowerBasis A S) (e : S ≃ₐ[A] S') :
    (pb.map e).minpolyGen = pb.minpolyGen 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] {S' : Type u_7} [CommRing S'] [Algebra A S] [Algebra A S'] (pb : PowerBasis A S) (e : S ≃ₐ[A] S')
Goal: (pb.map e).minpolyGen = pb.minpolyGen
-- PowerBasis.equivOfRoot_map
@[simp]
theorem equivOfRoot_map (pb : PowerBasis A S) (e : S ≃ₐ[A] S') (h₁ h₂) :
    pb.equivOfRoot (pb.map e) h₁ h₂ = e 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] {S' : Type u_7} [CommRing S'] [Algebra A S] [Algebra A S'] (pb : PowerBasis A S) (e : S ≃ₐ[A] S') (h₁ : (Polynomial.aeval pb.gen) (minpoly A (pb.map e).gen) = 0) (h₂ : (Polynomial.aeval (pb.map e).gen) (minpoly A pb.gen) = 0)
Goal: pb.equivOfRoot (pb.map e) h₁ h₂ = e
-- PowerBasis.equivOfMinpoly_map
@[simp]
theorem equivOfMinpoly_map (pb : PowerBasis A S) (e : S ≃ₐ[A] S')
    (h : minpoly A pb.gen = minpoly A (pb.map e).gen) : pb.equivOfMinpoly (pb.map e) h = e 
Arguments: {S : Type u_2} [Ring S] {A : Type u_4} [CommRing A] {S' : Type u_7} [CommRing S'] [Algebra A S] [Algebra A S'] (pb : PowerBasis A S) (e : S ≃ₐ[A] S') (h : minpoly A pb.gen = minpoly A (pb.map e).gen)
Goal: pb.equivOfMinpoly (pb.map e) h = e
-- PowerBasis.adjoin_gen_eq_top
theorem adjoin_gen_eq_top (B : PowerBasis R S) : adjoin R ({B.gen} : Set S) = ⊤ 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] (B : PowerBasis R S)
Goal: Algebra.adjoin R {B.gen} = ⊤
-- PowerBasis.adjoin_eq_top_of_gen_mem_adjoin
theorem adjoin_eq_top_of_gen_mem_adjoin {B : PowerBasis R S} {x : S}
    (hx : B.gen ∈ adjoin R ({x} : Set S)) : adjoin R ({x} : Set S) = ⊤ 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {B : PowerBasis R S} {x : S} (hx : B.gen ∈ Algebra.adjoin R {x})
Goal: Algebra.adjoin R {x} = ⊤
-- Ideal.IsPrime.isPrimary
theorem IsPrime.isPrimary {I : Ideal R} (hi : IsPrime I) : IsPrimary I 
Arguments: {R : Type u_1} [CommSemiring R] {I : Ideal R} (hi : I.IsPrime)
Goal: I.IsPrimary
-- Ideal.isPrime_radical
theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) 
Arguments: {R : Type u_1} [CommSemiring R] {I : Ideal R} (hi : I.IsPrimary)
Goal: I.radical.IsPrime
-- Ideal.isPrimary_inf
theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
    (hij : radical I = radical J) : IsPrimary (I ⊓ J) 
Arguments: {R : Type u_1} [CommSemiring R] {I J : Ideal R} (hi : I.IsPrimary) (hj : J.IsPrimary) (hij : I.radical = J.radical)
Goal: (I ⊓ J).IsPrimary
-- IsArtinian.wellFounded_submodule_lt'
class IsArtinian (R M) [Semiring R] [AddCommMonoid M] [Module R M] : Prop where
  wellFounded_submodule_lt' : WellFounded ((· < ·) : Submodule R M → Submodule R M → Prop)
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [self : IsArtinian R M]
Goal: WellFounded fun x x_1 => x < x_1
-- IsArtinian.wellFounded_submodule_lt
theorem IsArtinian.wellFounded_submodule_lt (R M) [Semiring R] [AddCommMonoid M] [Module R M]
    [IsArtinian R M] : WellFounded ((· < ·) : Submodule R M → Submodule R M → Prop) 
Arguments: (R : Type u_5) (M : Type u_6) [Semiring R] [AddCommMonoid M] [Module R M] [IsArtinian R M]
Goal: WellFounded fun x x_1 => x < x_1
-- isArtinian_of_injective
theorem isArtinian_of_injective (f : M →ₗ[R] P) (h : Function.Injective f) [IsArtinian R P] :
    IsArtinian R M 
Arguments: {R : Type u_1} {M : Type u_2} {P : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup P] [Module R M] [Module R P] (f : M →ₗ[R] P) (h : Function.Injective ⇑f) [IsArtinian R P]
Goal: IsArtinian R M
-- isArtinian_of_le
theorem isArtinian_of_le {s t : Submodule R M} [IsArtinian R t] (h : s ≤ t) : IsArtinian R s 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {s t : Submodule R M} [IsArtinian R ↥t] (h : s ≤ t)
Goal: IsArtinian R ↥s
-- isArtinian_of_surjective
theorem isArtinian_of_surjective (f : M →ₗ[R] P) (hf : Function.Surjective f) [IsArtinian R M] :
    IsArtinian R P 
Arguments: {R : Type u_1} (M : Type u_2) {P : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup P] [Module R M] [Module R P] (f : M →ₗ[R] P) (hf : Function.Surjective ⇑f) [IsArtinian R M]
Goal: IsArtinian R P
-- isArtinian_of_linearEquiv
theorem isArtinian_of_linearEquiv (f : M ≃ₗ[R] P) [IsArtinian R M] : IsArtinian R P 
Arguments: {R : Type u_1} {M : Type u_2} {P : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup P] [Module R M] [Module R P] (f : M ≃ₗ[R] P) [IsArtinian R M]
Goal: IsArtinian R P
-- isArtinian_of_range_eq_ker
theorem isArtinian_of_range_eq_ker [IsArtinian R M] [IsArtinian R P] (f : M →ₗ[R] N) (g : N →ₗ[R] P)
    (hf : Function.Injective f) (hg : Function.Surjective g)
    (h : LinearMap.range f = LinearMap.ker g) : IsArtinian R N 
Arguments: {R : Type u_1} {M : Type u_2} {P : Type u_3} {N : Type u_4} [Ring R] [AddCommGroup M] [AddCommGroup P] [AddCommGroup N] [Module R M] [Module R P] [Module R N] [IsArtinian R M] [IsArtinian R P] (f : M →ₗ[R] N) (g : N →ₗ[R] P) (hf : Function.Injective ⇑f) (hg : Function.Surjective ⇑g) (h : LinearMap.range f = LinearMap.ker g)
Goal: IsArtinian R N
-- isArtinian_iff_wellFounded
theorem isArtinian_iff_wellFounded :
    IsArtinian R M ↔ WellFounded ((· < ·) : Submodule R M → Submodule R M → Prop) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M]
Goal: IsArtinian R M ↔ WellFounded fun x x_1 => x < x_1
-- IsArtinian.finite_of_linearIndependent
theorem IsArtinian.finite_of_linearIndependent [Nontrivial R] [IsArtinian R M] {s : Set M}
    (hs : LinearIndependent R ((↑) : s → M)) : s.Finite 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [Nontrivial R] [IsArtinian R M] {s : Set M} (hs : LinearIndependent (ι := { x // x ∈ s }) R Subtype.val)
Goal: s.Finite
-- set_has_minimal_iff_artinian
theorem set_has_minimal_iff_artinian :
    (∀ a : Set <| Submodule R M, a.Nonempty → ∃ M' ∈ a, ∀ I ∈ a, ¬I < M') ↔ IsArtinian R M 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M]
Goal: (∀ (a : Set (Submodule R M)), a.Nonempty → ∃ M' ∈ a, ∀ I ∈ a, ¬I < M') ↔ IsArtinian R M
-- IsArtinian.set_has_minimal
theorem IsArtinian.set_has_minimal [IsArtinian R M] (a : Set <| Submodule R M) (ha : a.Nonempty) :
    ∃ M' ∈ a, ∀ I ∈ a, ¬I < M' 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] (a : Set (Submodule R M)) (ha : a.Nonempty)
Goal: ∃ M' ∈ a, ∀ I ∈ a, ¬I < M'
-- monotone_stabilizes_iff_artinian
theorem monotone_stabilizes_iff_artinian :
    (∀ f : ℕ →o (Submodule R M)ᵒᵈ, ∃ n, ∀ m, n ≤ m → f n = f m) ↔ IsArtinian R M 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M]
Goal: (∀ (f : ℕ →o (Submodule R M)ᵒᵈ), ∃ n, ∀ (m : ℕ), n ≤ m → f n = f m) ↔ IsArtinian R M
-- IsArtinian.monotone_stabilizes
theorem monotone_stabilizes (f : ℕ →o (Submodule R M)ᵒᵈ) : ∃ n, ∀ m, n ≤ m → f n = f m 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] (f : ℕ →o (Submodule R M)ᵒᵈ)
Goal: ∃ n, ∀ (m : ℕ), n ≤ m → f n = f m
-- IsArtinian.eventuallyConst_of_isArtinian
theorem eventuallyConst_of_isArtinian (f : ℕ →o (Submodule R M)ᵒᵈ) :
    atTop.EventuallyConst f 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] (f : ℕ →o (Submodule R M)ᵒᵈ)
Goal: Filter.EventuallyConst (⇑f) Filter.atTop
-- IsArtinian.induction
theorem induction {P : Submodule R M → Prop} (hgt : ∀ I, (∀ J < I, P J) → P I) (I : Submodule R M) :
    P I 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] {P : Submodule R M → Prop} (hgt : ∀ (I : Submodule R M), (∀ J < I, P J) → P I) (I : Submodule R M)
Goal: P I
-- LinearMap.eventually_codisjoint_ker_pow_range_pow
theorem eventually_codisjoint_ker_pow_range_pow (f : M →ₗ[R] M) :
    ∀ᶠ n in atTop, Codisjoint (LinearMap.ker (f ^ n)) (LinearMap.range (f ^ n)) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] (f : M →ₗ[R] M)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, Codisjoint (LinearMap.ker (f ^ n)) (LinearMap.range (f ^ n))
-- LinearMap.eventually_iInf_range_pow_eq
lemma eventually_iInf_range_pow_eq (f : Module.End R M) :
    ∀ᶠ n in atTop, ⨅ m, LinearMap.range (f ^ m) = LinearMap.range (f ^ n) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] (f : Module.End R M)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ⨅ m, LinearMap.range (f ^ m) = LinearMap.range (f ^ n)
-- LinearMap.eventually_isCompl_ker_pow_range_pow
theorem eventually_isCompl_ker_pow_range_pow [IsNoetherian R M] (f : M →ₗ[R] M) :
    ∀ᶠ n in atTop, IsCompl (LinearMap.ker (f ^ n)) (LinearMap.range (f ^ n)) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] [IsNoetherian R M] (f : M →ₗ[R] M)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, IsCompl (LinearMap.ker (f ^ n)) (LinearMap.range (f ^ n))
-- LinearMap.isCompl_iSup_ker_pow_iInf_range_pow
theorem isCompl_iSup_ker_pow_iInf_range_pow [IsNoetherian R M] (f : M →ₗ[R] M) :
    IsCompl (⨆ n, LinearMap.ker (f ^ n)) (⨅ n, LinearMap.range (f ^ n)) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] [IsNoetherian R M] (f : M →ₗ[R] M)
Goal: IsCompl (⨆ n, LinearMap.ker (f ^ n)) (⨅ n, LinearMap.range (f ^ n))
-- IsArtinian.surjective_of_injective_endomorphism
theorem surjective_of_injective_endomorphism (f : M →ₗ[R] M) (s : Injective f) : Surjective f 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] (f : M →ₗ[R] M) (s : Function.Injective ⇑f)
Goal: Function.Surjective ⇑f
-- IsArtinian.bijective_of_injective_endomorphism
theorem bijective_of_injective_endomorphism (f : M →ₗ[R] M) (s : Injective f) : Bijective f 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] (f : M →ₗ[R] M) (s : Function.Injective ⇑f)
Goal: Function.Bijective ⇑f
-- IsArtinian.disjoint_partial_infs_eventually_top
theorem disjoint_partial_infs_eventually_top (f : ℕ → Submodule R M)
    (h : ∀ n, Disjoint (partialSups (OrderDual.toDual ∘ f) n) (OrderDual.toDual (f (n + 1)))) :
    ∃ n : ℕ, ∀ m, n ≤ m → f m = ⊤ 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] (f : ℕ → Submodule R M) (h : ∀ (n : ℕ), Disjoint ((partialSups (⇑OrderDual.toDual ∘ f)) n) (OrderDual.toDual (f (n + 1))))
Goal: ∃ n, ∀ (m : ℕ), n ≤ m → f m = ⊤
-- IsArtinian.range_smul_pow_stabilizes
theorem range_smul_pow_stabilizes (r : R) :
    ∃ n : ℕ, ∀ m, n ≤ m →
      LinearMap.range (r ^ n • LinearMap.id : M →ₗ[R] M) =
      LinearMap.range (r ^ m • LinearMap.id : M →ₗ[R] M) 
Arguments: {R : Type u_1} (M : Type u_2) [CommRing R] [AddCommGroup M] [Module R M] [IsArtinian R M] (r : R)
Goal: ∃ n, ∀ (m : ℕ), n ≤ m → LinearMap.range (r ^ n • LinearMap.id) = LinearMap.range (r ^ m • LinearMap.id)
-- IsArtinian.exists_pow_succ_smul_dvd
theorem exists_pow_succ_smul_dvd (r : R) (x : M) :
    ∃ (n : ℕ) (y : M), r ^ n.succ • y = r ^ n • x 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [IsArtinian R M] (r : R) (x : M)
Goal: ∃ n y, r ^ n.succ • y = r ^ n • x
-- isArtinianRing_iff
theorem isArtinianRing_iff {R} [Ring R] : IsArtinianRing R ↔ IsArtinian R R 
Arguments: {R : Type u_1} [Ring R]
Goal: IsArtinianRing R ↔ IsArtinian R R
-- Ring.isArtinian_of_zero_eq_one
theorem Ring.isArtinian_of_zero_eq_one {R} [Ring R] (h01 : (0 : R) = 1) : IsArtinianRing R 
Arguments: {R : Type u_1} [Ring R] (h01 : 0 = 1)
Goal: IsArtinianRing R
-- isArtinian_of_submodule_of_artinian
theorem isArtinian_of_submodule_of_artinian (R M) [Ring R] [AddCommGroup M] [Module R M]
    (N : Submodule R M) (_ : IsArtinian R M) : IsArtinian R N 
Arguments: (R : Type u_1) (M : Type u_2) [Ring R] [AddCommGroup M] [Module R M] (N : Submodule R M)
Goal: IsArtinian R M → IsArtinian R ↥N
-- isArtinian_of_tower
theorem isArtinian_of_tower (R) {S M} [CommRing R] [Ring S] [AddCommGroup M] [Algebra R S]
    [Module S M] [Module R M] [IsScalarTower R S M] (h : IsArtinian R M) : IsArtinian S M 
Arguments: (R : Type u_1) {S : Type u_2} {M : Type u_3} [CommRing R] [Ring S] [AddCommGroup M] [Algebra R S] [Module S M] [Module R M] [IsScalarTower R S M] (h : IsArtinian R M)
Goal: IsArtinian S M
-- isArtinian_of_fg_of_artinian
theorem isArtinian_of_fg_of_artinian {R M} [Ring R] [AddCommGroup M] [Module R M]
    (N : Submodule R M) [IsArtinianRing R] (hN : N.FG) : IsArtinian R N 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (N : Submodule R M) [IsArtinianRing R] (hN : N.FG)
Goal: IsArtinian R ↥N
-- IsArtinianRing.of_finite
theorem IsArtinianRing.of_finite (R S) [CommRing R] [Ring S] [Algebra R S]
    [IsArtinianRing R] [Module.Finite R S] : IsArtinianRing S 
Arguments: (R : Type u_1) (S : Type u_2) [CommRing R] [Ring S] [Algebra R S] [IsArtinianRing R] [Module.Finite R S]
Goal: IsArtinianRing S
-- isArtinian_span_of_finite
theorem isArtinian_span_of_finite (R) {M} [Ring R] [AddCommGroup M] [Module R M] [IsArtinianRing R]
    {A : Set M} (hA : A.Finite) : IsArtinian R (Submodule.span R A) 
Arguments: (R : Type u_1) {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinianRing R] {A : Set M} (hA : A.Finite)
Goal: IsArtinian R ↥(Submodule.span R A)
-- Function.Surjective.isArtinianRing
theorem Function.Surjective.isArtinianRing {R} [Ring R] {S} [Ring S] {F}
    [FunLike F R S] [RingHomClass F R S]
    {f : F} (hf : Function.Surjective f) [H : IsArtinianRing R] : IsArtinianRing S 
Arguments: {R : Type u_1} [Ring R] {S : Type u_2} [Ring S] {F : Type u_3} [FunLike F R S] [RingHomClass F R S] {f : F} (hf : Function.Surjective ⇑f) [H : IsArtinianRing R]
Goal: IsArtinianRing S
-- IsArtinianRing.isNilpotent_jacobson_bot
theorem isNilpotent_jacobson_bot : IsNilpotent (Ideal.jacobson (⊥ : Ideal R)) 
Arguments: {R : Type u_1} [CommRing R] [IsArtinianRing R]
Goal: IsNilpotent ⊥.jacobson
-- IsArtinianRing.localization_surjective
theorem localization_surjective : Function.Surjective (algebraMap R L) 
Arguments: {R : Type u_1} [CommRing R] [IsArtinianRing R] (S : Submonoid R) (L : Type u_2) [CommRing L] [Algebra R L] [IsLocalization S L]
Goal: Function.Surjective ⇑(algebraMap R L)
-- IsArtinianRing.localization_artinian
theorem localization_artinian : IsArtinianRing L 
Arguments: {R : Type u_1} [CommRing R] [IsArtinianRing R] (S : Submonoid R) (L : Type u_2) [CommRing L] [Algebra R L] [IsLocalization S L]
Goal: IsArtinianRing L
-- IsArtinianRing.isPrime_iff_isMaximal
lemma isPrime_iff_isMaximal (p : Ideal R) : p.IsPrime ↔ p.IsMaximal 
Arguments: {R : Type u_1} [CommRing R] [IsArtinianRing R] (p : Ideal R)
Goal: p.IsPrime ↔ p.IsMaximal
-- IsArtinianRing.primeSpectrum_finite
lemma primeSpectrum_finite : {I : Ideal R | I.IsPrime}.Finite 
Arguments: (R : Type u_1) [CommRing R] [IsArtinianRing R]
Goal: {I | I.IsPrime}.Finite