ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Module.free_of_lTensor_residueField_injective
theorem free_of_lTensor_residueField_injective
    [Module.Finite R M] [Module.Finite R N] [Module.Free R N]
    (hf : Function.Injective (f.lTensor k)) :
    Module.Free R P 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] {M : Type u_2} {N : Type u_3} [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] {P : Type u_4} [AddCommGroup P] [Module R P] (f : M →ₗ[R] N) (g : N →ₗ[R] P) (hg : Function.Surjective ⇑g) (h : Function.Exact ⇑f ⇑g) [Module.Finite R M] [Module.Finite R N] [Module.Free R N] (hf : Function.Injective ⇑(LinearMap.lTensor (LocalRing.ResidueField R) f))
Goal: Module.Free R P
-- LocalRing.split_injective_iff_lTensor_residueField_injective
theorem LocalRing.split_injective_iff_lTensor_residueField_injective
    [Module.Finite R M] [Module.Finite R N] [Module.Free R N] (l : M →ₗ[R] N) :
    (∃ l', l' ∘ₗ l = LinearMap.id) ↔ Function.Injective (l.lTensor (ResidueField R)) 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] {M : Type u_2} {N : Type u_3} [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [Module.Finite R M] [Module.Finite R N] [Module.Free R N] (l : M →ₗ[R] N)
Goal: (∃ l', l' ∘ₗ l = LinearMap.id) ↔ Function.Injective ⇑(LinearMap.lTensor (LocalRing.ResidueField R) l)
-- IsNoetherian.noetherian
-- Porting note: should this be renamed to `Noetherian`?
class IsNoetherian (R M) [Semiring R] [AddCommMonoid M] [Module R M] : Prop where
  noetherian : ∀ s : Submodule R M, s.FG
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [self : IsNoetherian R M] (s : Submodule R M)
Goal: s.FG
-- isNoetherian_def
theorem isNoetherian_def : IsNoetherian R M ↔ ∀ s : Submodule R M, s.FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: IsNoetherian R M ↔ ∀ (s : Submodule R M), s.FG
-- isNoetherian_submodule
theorem isNoetherian_submodule {N : Submodule R M} :
    IsNoetherian R N ↔ ∀ s : Submodule R M, s ≤ N → s.FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M}
Goal: IsNoetherian R ↥N ↔ ∀ s ≤ N, s.FG
-- isNoetherian_submodule_left
theorem isNoetherian_submodule_left {N : Submodule R M} :
    IsNoetherian R N ↔ ∀ s : Submodule R M, (N ⊓ s).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M}
Goal: IsNoetherian R ↥N ↔ ∀ (s : Submodule R M), (N ⊓ s).FG
-- isNoetherian_submodule_right
theorem isNoetherian_submodule_right {N : Submodule R M} :
    IsNoetherian R N ↔ ∀ s : Submodule R M, (s ⊓ N).FG 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M}
Goal: IsNoetherian R ↥N ↔ ∀ (s : Submodule R M), (s ⊓ N).FG
-- isNoetherian_of_le
theorem isNoetherian_of_le {s t : Submodule R M} [ht : IsNoetherian R t] (h : s ≤ t) :
    IsNoetherian R s 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {s t : Submodule R M} [ht : IsNoetherian R ↥t] (h : s ≤ t)
Goal: IsNoetherian R ↥s
-- isNoetherian_of_surjective
theorem isNoetherian_of_surjective (f : M →ₗ[R] P) (hf : LinearMap.range f = ⊤) [IsNoetherian R M] :
    IsNoetherian R P 
Arguments: {R : Type u_1} (M : Type u_2) {P : Type u_3} [Semiring R] [AddCommMonoid M] [AddCommMonoid P] [Module R M] [Module R P] (f : M →ₗ[R] P) (hf : LinearMap.range f = ⊤) [IsNoetherian R M]
Goal: IsNoetherian R P
-- isNoetherian_of_linearEquiv
theorem isNoetherian_of_linearEquiv (f : M ≃ₗ[R] P) [IsNoetherian R M] : IsNoetherian R P 
Arguments: {R : Type u_1} {M : Type u_2} {P : Type u_3} [Semiring R] [AddCommMonoid M] [AddCommMonoid P] [Module R M] [Module R P] (f : M ≃ₗ[R] P) [IsNoetherian R M]
Goal: IsNoetherian R P
-- isNoetherian_top_iff
theorem isNoetherian_top_iff : IsNoetherian R (⊤ : Submodule R M) ↔ IsNoetherian R M 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: IsNoetherian R ↥⊤ ↔ IsNoetherian R M
-- isNoetherian_of_injective
theorem isNoetherian_of_injective [IsNoetherian R P] (f : M →ₗ[R] P) (hf : Function.Injective f) :
    IsNoetherian R M 
Arguments: {R : Type u_1} {M : Type u_2} {P : Type u_3} [Semiring R] [AddCommMonoid M] [AddCommMonoid P] [Module R M] [Module R P] [IsNoetherian R P] (f : M →ₗ[R] P) (hf : Function.Injective ⇑f)
Goal: IsNoetherian R M
-- fg_of_injective
theorem fg_of_injective [IsNoetherian R P] {N : Submodule R M} (f : M →ₗ[R] P)
    (hf : Function.Injective f) : N.FG 
Arguments: {R : Type u_1} {M : Type u_2} {P : Type u_3} [Semiring R] [AddCommMonoid M] [AddCommMonoid P] [Module R M] [Module R P] [IsNoetherian R P] {N : Submodule R M} (f : M →ₗ[R] P) (hf : Function.Injective ⇑f)
Goal: N.FG
-- Module.Finite.of_injective
theorem Finite.of_injective [IsNoetherian R N] (f : M →ₗ[R] N) (hf : Function.Injective f) :
    Finite R M 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type u_3} [Semiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] [IsNoetherian R N] (f : M →ₗ[R] N) (hf : Function.Injective ⇑f)
Goal: Module.Finite R M
-- isNoetherian_of_ker_bot
theorem isNoetherian_of_ker_bot [IsNoetherian R P] (f : M →ₗ[R] P) (hf : LinearMap.ker f = ⊥) :
    IsNoetherian 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] [IsNoetherian R P] (f : M →ₗ[R] P) (hf : LinearMap.ker f = ⊥)
Goal: IsNoetherian R M
-- fg_of_ker_bot
theorem fg_of_ker_bot [IsNoetherian R P] {N : Submodule R M} (f : M →ₗ[R] P)
    (hf : LinearMap.ker f = ⊥) : N.FG 
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] [IsNoetherian R P] {N : Submodule R M} (f : M →ₗ[R] P) (hf : LinearMap.ker f = ⊥)
Goal: N.FG
-- isNoetherian_iff_wellFounded
theorem isNoetherian_iff_wellFounded :
    IsNoetherian R M ↔ WellFounded ((· > ·) : Submodule R M → Submodule R M → Prop) 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: IsNoetherian R M ↔ WellFounded fun x x_1 => x > x_1
-- isNoetherian_iff_fg_wellFounded
theorem isNoetherian_iff_fg_wellFounded :
    IsNoetherian R M ↔
      WellFounded
        ((· > ·) : { N : Submodule R M // N.FG } → { N : Submodule R M // N.FG } → Prop) 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: IsNoetherian R M ↔ WellFounded fun x x_1 => x > x_1
-- wellFounded_submodule_gt
theorem wellFounded_submodule_gt (R M) [Semiring R] [AddCommMonoid M] [Module R M] :
    ∀ [IsNoetherian R M], WellFounded ((· > ·) : Submodule R M → Submodule R M → Prop) 
Arguments: (R : Type u_4) (M : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] [IsNoetherian R M]
Goal: WellFounded fun x x_1 => x > x_1
-- set_has_maximal_iff_noetherian
theorem set_has_maximal_iff_noetherian :
    (∀ a : Set <| Submodule R M, a.Nonempty → ∃ M' ∈ a, ∀ I ∈ a, ¬M' < I) ↔ IsNoetherian R M 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: (∀ (a : Set (Submodule R M)), a.Nonempty → ∃ M' ∈ a, ∀ I ∈ a, ¬M' < I) ↔ IsNoetherian R M
-- monotone_stabilizes_iff_noetherian
theorem monotone_stabilizes_iff_noetherian :
    (∀ f : ℕ →o Submodule R M, ∃ n, ∀ m, n ≤ m → f n = f m) ↔ IsNoetherian R M 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M]
Goal: (∀ (f : ℕ →o Submodule R M), ∃ n, ∀ (m : ℕ), n ≤ m → f n = f m) ↔ IsNoetherian R M
-- eventuallyConst_of_isNoetherian
theorem eventuallyConst_of_isNoetherian [IsNoetherian R M] (f : ℕ →o Submodule R M) :
    atTop.EventuallyConst f 
Arguments: {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [IsNoetherian R M] (f : ℕ →o Submodule R M)
Goal: Filter.EventuallyConst (⇑f) Filter.atTop
-- IsNoetherian.induction
theorem IsNoetherian.induction [IsNoetherian R M] {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} [Semiring R] [AddCommMonoid M] [Module R M] [IsNoetherian 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
-- Submodule.finite_ne_bot_of_independent
lemma Submodule.finite_ne_bot_of_independent {ι : Type*} {N : ι → Submodule R M}
    (h : CompleteLattice.Independent N) :
    Set.Finite {i | N i ≠ ⊥} 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsNoetherian R M] {ι : Type u_4} {N : ι → Submodule R M} (h : CompleteLattice.Independent N)
Goal: {i | N i ≠ ⊥}.Finite
-- LinearIndependent.finite_of_isNoetherian
theorem LinearIndependent.finite_of_isNoetherian [Nontrivial R] {ι} {v : ι → M}
    (hv : LinearIndependent R v) : Finite ι 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsNoetherian R M] [Nontrivial R] {ι : Type u_4} {v : ι → M} (hv : LinearIndependent R v)
Goal: Finite ι
-- LinearIndependent.set_finite_of_isNoetherian
theorem LinearIndependent.set_finite_of_isNoetherian [Nontrivial R] {s : Set M}
    (hi : LinearIndependent R ((↑) : s → M)) : s.Finite 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsNoetherian R M] [Nontrivial R] {s : Set M} (hi : LinearIndependent (ι := { x // x ∈ s }) R Subtype.val)
Goal: s.Finite
-- isNoetherian_of_range_eq_ker
theorem isNoetherian_of_range_eq_ker [IsNoetherian R P]
    (f : M →ₗ[R] N) (g : N →ₗ[R] P) (h : LinearMap.range f = LinearMap.ker g) :
    IsNoetherian R N 
Arguments: {R : Type u_1} {M : Type u_2} {P : Type u_3} {N : Type w} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] [AddCommGroup P] [Module R P] [IsNoetherian R M] [IsNoetherian R P] (f : M →ₗ[R] N) (g : N →ₗ[R] P) (h : LinearMap.range f = LinearMap.ker g)
Goal: IsNoetherian R N
-- LinearMap.eventually_disjoint_ker_pow_range_pow
theorem LinearMap.eventually_disjoint_ker_pow_range_pow (f : M →ₗ[R] M) :
    ∀ᶠ n in atTop, Disjoint (LinearMap.ker (f ^ n)) (LinearMap.range (f ^ n)) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsNoetherian R M] (f : M →ₗ[R] M)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, Disjoint (LinearMap.ker (f ^ n)) (LinearMap.range (f ^ n))
-- LinearMap.eventually_iSup_ker_pow_eq
lemma LinearMap.eventually_iSup_ker_pow_eq (f : M →ₗ[R] M) :
    ∀ᶠ n in atTop, ⨆ m, LinearMap.ker (f ^ m) = LinearMap.ker (f ^ n) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsNoetherian R M] (f : M →ₗ[R] M)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ⨆ m, LinearMap.ker (f ^ m) = LinearMap.ker (f ^ n)
-- IsNoetherian.injective_of_surjective_of_injective
theorem IsNoetherian.injective_of_surjective_of_injective (i f : N →ₗ[R] M)
    (hi : Injective i) (hf : Surjective f) : Injective f 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type w} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] [IsNoetherian R M] (i f : N →ₗ[R] M) (hi : Function.Injective ⇑i) (hf : Function.Surjective ⇑f)
Goal: Function.Injective ⇑f
-- IsNoetherian.injective_of_surjective_of_submodule
theorem IsNoetherian.injective_of_surjective_of_submodule
    {N : Submodule R M} (f : N →ₗ[R] M) (hf : Surjective f) : Injective f 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsNoetherian R M] {N : Submodule R M} (f : ↥N →ₗ[R] M) (hf : Function.Surjective ⇑f)
Goal: Function.Injective ⇑f
-- IsNoetherian.injective_of_surjective_endomorphism
theorem IsNoetherian.injective_of_surjective_endomorphism (f : M →ₗ[R] M)
    (s : Surjective f) : Injective f 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsNoetherian R M] (f : M →ₗ[R] M) (s : Function.Surjective ⇑f)
Goal: Function.Injective ⇑f
-- IsNoetherian.bijective_of_surjective_endomorphism
theorem IsNoetherian.bijective_of_surjective_endomorphism (f : M →ₗ[R] M)
    (s : Surjective f) : Bijective f 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsNoetherian R M] (f : M →ₗ[R] M) (s : Function.Surjective ⇑f)
Goal: Function.Bijective ⇑f
-- IsNoetherian.disjoint_partialSups_eventually_bot
theorem IsNoetherian.disjoint_partialSups_eventually_bot
    (f : ℕ → Submodule R M) (h : ∀ n, Disjoint (partialSups f n) (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] [IsNoetherian R M] (f : ℕ → Submodule R M) (h : ∀ (n : ℕ), Disjoint ((partialSups f) n) (f (n + 1)))
Goal: ∃ n, ∀ (m : ℕ), n ≤ m → f m = ⊥
-- IsNoetherian.subsingleton_of_prod_injective
theorem IsNoetherian.subsingleton_of_prod_injective (f : M × N →ₗ[R] M)
    (i : Injective f) : Subsingleton N 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type w} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] [IsNoetherian R M] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f)
Goal: Subsingleton N
-- IsNoetherian.equivPUnitOfProdInjective_apply
@[simps!]
def IsNoetherian.equivPUnitOfProdInjective (f : M × N →ₗ[R] M)
    (i : Injective f) : N ≃ₗ[R] PUnit.{w + 1} 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type w} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] [IsNoetherian R M] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f)
Goal: ∀ (x : N), (IsNoetherian.equivPUnitOfProdInjective f i) x = 0
-- IsNoetherian.equivPUnitOfProdInjective_symm_apply
@[simps!]
def IsNoetherian.equivPUnitOfProdInjective (f : M × N →ₗ[R] M)
    (i : Injective f) : N ≃ₗ[R] PUnit.{w + 1} 
Arguments: {R : Type u_1} {M : Type u_2} {N : Type w} [Ring R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] [IsNoetherian R M] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f)
Goal: ∀ (x : PUnit.{w + 1}), (IsNoetherian.equivPUnitOfProdInjective f i).symm x = 0
-- isNoetherianRing_iff
theorem isNoetherianRing_iff {R} [Semiring R] : IsNoetherianRing R ↔ IsNoetherian R R 
Arguments: {R : Type u_1} [Semiring R]
Goal: IsNoetherianRing R ↔ IsNoetherian R R
-- isNoetherianRing_iff_ideal_fg
theorem isNoetherianRing_iff_ideal_fg (R : Type*) [Semiring R] :
    IsNoetherianRing R ↔ ∀ I : Ideal R, I.FG 
Arguments: (R : Type u_1) [Semiring R]
Goal: IsNoetherianRing R ↔ ∀ (I : Ideal R), I.FG
-- isNoetherian_of_submodule_of_noetherian
theorem isNoetherian_of_submodule_of_noetherian (R M) [Semiring R] [AddCommMonoid M] [Module R M]
    (N : Submodule R M) (h : IsNoetherian R M) : IsNoetherian R N 
Arguments: (R : Type u_1) (M : Type u_2) [Semiring R] [AddCommMonoid M] [Module R M] (N : Submodule R M) (h : IsNoetherian R M)
Goal: IsNoetherian R ↥N
-- isNoetherian_of_tower
theorem isNoetherian_of_tower (R) {S M} [Semiring R] [Semiring S] [AddCommMonoid M] [SMul R S]
    [Module S M] [Module R M] [IsScalarTower R S M] (h : IsNoetherian R M) : IsNoetherian S M 
Arguments: (R : Type u_1) {S : Type u_2} {M : Type u_3} [Semiring R] [Semiring S] [AddCommMonoid M] [SMul R S] [Module S M] [Module R M] [IsScalarTower R S M] (h : IsNoetherian R M)
Goal: IsNoetherian S M
-- isNoetherian_of_fg_of_noetherian
theorem isNoetherian_of_fg_of_noetherian {R M} [Ring R] [AddCommGroup M] [Module R M]
    (N : Submodule R M) [I : IsNoetherianRing R] (hN : N.FG) : IsNoetherian R N 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (N : Submodule R M) [I : IsNoetherianRing R] (hN : N.FG)
Goal: IsNoetherian R ↥N
-- isNoetherian_span_of_finite
theorem isNoetherian_span_of_finite (R) {M} [Ring R] [AddCommGroup M] [Module R M]
    [IsNoetherianRing R] {A : Set M} (hA : A.Finite) : IsNoetherian R (Submodule.span R A) 
Arguments: (R : Type u_1) {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsNoetherianRing R] {A : Set M} (hA : A.Finite)
Goal: IsNoetherian R ↥(Submodule.span R A)
-- isNoetherianRing_of_surjective
theorem isNoetherianRing_of_surjective (R) [Ring R] (S) [Ring S] (f : R →+* S)
    (hf : Function.Surjective f) [H : IsNoetherianRing R] : IsNoetherianRing S 
Arguments: (R : Type u_1) [Ring R] (S : Type u_2) [Ring S] (f : R →+* S) (hf : Function.Surjective ⇑f) [H : IsNoetherianRing R]
Goal: IsNoetherianRing S
-- isNoetherianRing_of_ringEquiv
theorem isNoetherianRing_of_ringEquiv (R) [Ring R] {S} [Ring S] (f : R ≃+* S) [IsNoetherianRing R] :
    IsNoetherianRing S 
Arguments: (R : Type u_1) [Ring R] {S : Type u_2} [Ring S] (f : R ≃+* S) [IsNoetherianRing R]
Goal: IsNoetherianRing S
-- IsNoetherianRing.isNilpotent_nilradical
theorem IsNoetherianRing.isNilpotent_nilradical (R : Type*) [CommRing R] [IsNoetherianRing R] :
    IsNilpotent (nilradical R) 
Arguments: (R : Type u_1) [CommRing R] [IsNoetherianRing R]
Goal: IsNilpotent (nilradical R)
-- PowerSeries.exists_coeff_ne_zero_iff_ne_zero
theorem exists_coeff_ne_zero_iff_ne_zero : (∃ n : ℕ, coeff R n φ ≠ 0) ↔ φ ≠ 0 
Arguments: {R : Type u_1} [Semiring R] {φ : PowerSeries R}
Goal: (∃ n, (PowerSeries.coeff R n) φ ≠ 0) ↔ φ ≠ 0
-- PowerSeries.order_zero
@[simp]
theorem order_zero : order (0 : R⟦X⟧) = ⊤ 
Arguments: {R : Type u_1} [Semiring R]
Goal: PowerSeries.order 0 = ⊤
-- PowerSeries.order_finite_iff_ne_zero
theorem order_finite_iff_ne_zero : (order φ).Dom ↔ φ ≠ 0 
Arguments: {R : Type u_1} [Semiring R] {φ : PowerSeries R}
Goal: φ.order.Dom ↔ φ ≠ 0
-- PowerSeries.coeff_order
theorem coeff_order (h : (order φ).Dom) : coeff R (φ.order.get h) φ ≠ 0 
Arguments: {R : Type u_1} [Semiring R] {φ : PowerSeries R} (h : φ.order.Dom)
Goal: (PowerSeries.coeff R (φ.order.get h)) φ ≠ 0
-- PowerSeries.order_le
theorem order_le (n : ℕ) (h : coeff R n φ ≠ 0) : order φ ≤ n 
Arguments: {R : Type u_1} [Semiring R] {φ : PowerSeries R} (n : ℕ) (h : (PowerSeries.coeff R n) φ ≠ 0)
Goal: φ.order ≤ ↑n
-- PowerSeries.coeff_of_lt_order
theorem coeff_of_lt_order (n : ℕ) (h : ↑n < order φ) : coeff R n φ = 0 
Arguments: {R : Type u_1} [Semiring R] {φ : PowerSeries R} (n : ℕ) (h : ↑n < φ.order)
Goal: (PowerSeries.coeff R n) φ = 0
-- PowerSeries.order_eq_top
@[simp]
theorem order_eq_top {φ : R⟦X⟧} : φ.order = ⊤ ↔ φ = 0 
Arguments: {R : Type u_1} [Semiring R] {φ : PowerSeries R}
Goal: φ.order = ⊤ ↔ φ = 0
-- PowerSeries.nat_le_order
theorem nat_le_order (φ : R⟦X⟧) (n : ℕ) (h : ∀ i < n, coeff R i φ = 0) : ↑n ≤ order φ 
Arguments: {R : Type u_1} [Semiring R] (φ : PowerSeries R) (n : ℕ) (h : ∀ i < n, (PowerSeries.coeff R i) φ = 0)
Goal: ↑n ≤ φ.order
-- PowerSeries.le_order
theorem le_order (φ : R⟦X⟧) (n : PartENat) (h : ∀ i : ℕ, ↑i < n → coeff R i φ = 0) :
    n ≤ order φ 
Arguments: {R : Type u_1} [Semiring R] (φ : PowerSeries R) (n : PartENat) (h : ∀ (i : ℕ), ↑i < n → (PowerSeries.coeff R i) φ = 0)
Goal: n ≤ φ.order
-- PowerSeries.order_eq_nat
theorem order_eq_nat {φ : R⟦X⟧} {n : ℕ} :
    order φ = n ↔ coeff R n φ ≠ 0 ∧ ∀ i, i < n → coeff R i φ = 0 
Arguments: {R : Type u_1} [Semiring R] {φ : PowerSeries R} {n : ℕ}
Goal: φ.order = ↑n ↔ (PowerSeries.coeff R n) φ ≠ 0 ∧ ∀ i < n, (PowerSeries.coeff R i) φ = 0
-- PowerSeries.order_eq
theorem order_eq {φ : R⟦X⟧} {n : PartENat} :
    order φ = n ↔ (∀ i : ℕ, ↑i = n → coeff R i φ ≠ 0) ∧ ∀ i : ℕ, ↑i < n → coeff R i φ = 0 
Arguments: {R : Type u_1} [Semiring R] {φ : PowerSeries R} {n : PartENat}
Goal: φ.order = n ↔ (∀ (i : ℕ), ↑i = n → (PowerSeries.coeff R i) φ ≠ 0) ∧ ∀ (i : ℕ), ↑i < n → (PowerSeries.coeff R i) φ = 0
-- PowerSeries.le_order_add
theorem le_order_add (φ ψ : R⟦X⟧) : min (order φ) (order ψ) ≤ order (φ + ψ) 
Arguments: {R : Type u_1} [Semiring R] (φ ψ : PowerSeries R)
Goal: min φ.order ψ.order ≤ (φ + ψ).order
-- _private.Mathlib.RingTheory.PowerSeries.Order.0.PowerSeries.order_add_of_order_eq.aux
private theorem order_add_of_order_eq.aux (φ ψ : R⟦X⟧) (_h : order φ ≠ order ψ)
    (H : order φ < order ψ) : order (φ + ψ) ≤ order φ ⊓ order ψ 
Arguments: {R : Type u_1} [Semiring R] (φ ψ : PowerSeries R) (_h : φ.order ≠ ψ.order) (H : φ.order < ψ.order)
Goal: (φ + ψ).order ≤ φ.order ⊓ ψ.order
-- PowerSeries.order_add_of_order_eq
theorem order_add_of_order_eq (φ ψ : R⟦X⟧) (h : order φ ≠ order ψ) :
    order (φ + ψ) = order φ ⊓ order ψ 
Arguments: {R : Type u_1} [Semiring R] (φ ψ : PowerSeries R) (h : φ.order ≠ ψ.order)
Goal: (φ + ψ).order = φ.order ⊓ ψ.order
-- PowerSeries.order_mul_ge
theorem order_mul_ge (φ ψ : R⟦X⟧) : order φ + order ψ ≤ order (φ * ψ) 
Arguments: {R : Type u_1} [Semiring R] (φ ψ : PowerSeries R)
Goal: φ.order + ψ.order ≤ (φ * ψ).order
-- PowerSeries.order_monomial
theorem order_monomial (n : ℕ) (a : R) [Decidable (a = 0)] :
    order (monomial R n a) = if a = 0 then (⊤ : PartENat) else n 
Arguments: {R : Type u_1} [Semiring R] (n : ℕ) (a : R) [Decidable (a = 0)]
Goal: ((PowerSeries.monomial R n) a).order = if a = 0 then ⊤ else ↑n
-- PowerSeries.order_monomial_of_ne_zero
theorem order_monomial_of_ne_zero (n : ℕ) (a : R) (h : a ≠ 0) : order (monomial R n a) = n 
Arguments: {R : Type u_1} [Semiring R] (n : ℕ) (a : R) (h : a ≠ 0)
Goal: ((PowerSeries.monomial R n) a).order = ↑n
-- PowerSeries.coeff_mul_of_lt_order
theorem coeff_mul_of_lt_order {φ ψ : R⟦X⟧} {n : ℕ} (h : ↑n < ψ.order) :
    coeff R n (φ * ψ) = 0 
Arguments: {R : Type u_1} [Semiring R] {φ ψ : PowerSeries R} {n : ℕ} (h : ↑n < ψ.order)
Goal: (PowerSeries.coeff R n) (φ * ψ) = 0
-- PowerSeries.coeff_mul_one_sub_of_lt_order
theorem coeff_mul_one_sub_of_lt_order {R : Type*} [CommRing R] {φ ψ : R⟦X⟧} (n : ℕ)
    (h : ↑n < ψ.order) : coeff R n (φ * (1 - ψ)) = coeff R n φ 
Arguments: {R : Type u_2} [CommRing R] {φ ψ : PowerSeries R} (n : ℕ) (h : ↑n < ψ.order)
Goal: (PowerSeries.coeff R n) (φ * (1 - ψ)) = (PowerSeries.coeff R n) φ
-- PowerSeries.coeff_mul_prod_one_sub_of_lt_order
theorem coeff_mul_prod_one_sub_of_lt_order {R ι : Type*} [CommRing R] (k : ℕ) (s : Finset ι)
    (φ : R⟦X⟧) (f : ι → R⟦X⟧) :
    (∀ i ∈ s, ↑k < (f i).order) → coeff R k (φ * ∏ i ∈ s, (1 - f i)) = coeff R k φ 
Arguments: {R : Type u_2} {ι : Type u_3} [CommRing R] (k : ℕ) (s : Finset ι) (φ : PowerSeries R) (f : ι → PowerSeries R)
Goal: (∀ i ∈ s, ↑k < (f i).order) → (PowerSeries.coeff R k) (φ * ∏ i ∈ s, (1 - f i)) = (PowerSeries.coeff R k) φ
-- PowerSeries.X_pow_order_dvd
theorem X_pow_order_dvd (h : (order φ).Dom) : X ^ (order φ).get h ∣ φ 
Arguments: {R : Type u_1} [Semiring R] {φ : PowerSeries R} (h : φ.order.Dom)
Goal: PowerSeries.X ^ φ.order.get h ∣ φ
-- PowerSeries.order_eq_multiplicity_X
theorem order_eq_multiplicity_X {R : Type*} [Semiring R] [@DecidableRel R⟦X⟧ (· ∣ ·)] (φ : R⟦X⟧) :
    order φ = multiplicity X φ 
Arguments: {R : Type u_2} [Semiring R] [DecidableRel fun x x_1 => x ∣ x_1] (φ : PowerSeries R)
Goal: φ.order = multiplicity PowerSeries.X φ
-- PowerSeries.self_eq_X_pow_order_mul_divided_by_X_pow_order
theorem self_eq_X_pow_order_mul_divided_by_X_pow_order {f : R⟦X⟧} (hf : f ≠ 0) :
    X ^ f.order.get (order_finite_iff_ne_zero.mpr hf) * divided_by_X_pow_order hf = f 
Arguments: {R : Type u_1} [Semiring R] {f : PowerSeries R} (hf : f ≠ 0)
Goal: PowerSeries.X ^ f.order.get ⋯ * PowerSeries.divided_by_X_pow_order hf = f
-- PowerSeries.order_one
@[simp]
theorem order_one : order (1 : R⟦X⟧) = 0 
Arguments: {R : Type u_1} [Semiring R] [Nontrivial R]
Goal: PowerSeries.order 1 = 0
-- PowerSeries.order_zero_of_unit
theorem order_zero_of_unit {f : PowerSeries R} : IsUnit f → f.order = 0 
Arguments: {R : Type u_1} [Semiring R] [Nontrivial R] {f : PowerSeries R}
Goal: IsUnit f → f.order = 0
-- PowerSeries.order_X
@[simp]
theorem order_X : order (X : R⟦X⟧) = 1 
Arguments: {R : Type u_1} [Semiring R] [Nontrivial R]
Goal: PowerSeries.X.order = 1
-- PowerSeries.order_X_pow
@[simp]
theorem order_X_pow (n : ℕ) : order ((X : R⟦X⟧) ^ n) = n 
Arguments: {R : Type u_1} [Semiring R] [Nontrivial R] (n : ℕ)
Goal: (PowerSeries.X ^ n).order = ↑n
-- PowerSeries.order_mul
theorem order_mul (φ ψ : R⟦X⟧) : order (φ * ψ) = order φ + order ψ 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] (φ ψ : PowerSeries R)
Goal: (φ * ψ).order = φ.order + ψ.order
-- PowerSeries.divided_by_X_pow_order_of_X_eq_one
@[simp]
theorem divided_by_X_pow_order_of_X_eq_one : divided_by_X_pow_order X_ne_zero = (1 : R⟦X⟧) 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R]
Goal: PowerSeries.divided_by_X_pow_order ⋯ = 1
-- PowerSeries.divided_by_X_pow_orderMul
theorem divided_by_X_pow_orderMul {f g : R⟦X⟧} (hf : f ≠ 0) (hg : g ≠ 0) :
    divided_by_X_pow_order hf * divided_by_X_pow_order hg =
      divided_by_X_pow_order (mul_ne_zero hf hg) 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] {f g : PowerSeries R} (hf : f ≠ 0) (hg : g ≠ 0)
Goal: PowerSeries.divided_by_X_pow_order hf * PowerSeries.divided_by_X_pow_order hg = PowerSeries.divided_by_X_pow_order ⋯