ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- HomogeneousLocalization.map_mk
lemma map_mk (g : A →+* B)
    (comap_le : P ≤ Q.comap g) (hg : ∀ i, ∀ a ∈ 𝒜 i, g a ∈ ℬ i) (x) :
    map 𝒜 ℬ g comap_le hg (mk x) =
    mk ⟨x.1, ⟨_, hg _ _ x.2.2⟩, ⟨_, hg _ _ x.3.2⟩, comap_le x.4⟩ 
Arguments: {ι : Type u_1} {R : Type u_2} {A : Type u_3} [AddCommMonoid ι] [DecidableEq ι] [CommRing R] [CommRing A] [Algebra R A] (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] {B : Type u_4} [CommRing B] [Algebra R B] (ℬ : ι → Submodule R B) [GradedAlgebra ℬ] {P : Submonoid A} {Q : Submonoid B} (g : A →+* B) (comap_le : P ≤ Submonoid.comap g Q) (hg : ∀ (i : ι), ∀ a ∈ 𝒜 i, g a ∈ ℬ i) (x : HomogeneousLocalization.NumDenSameDeg 𝒜 P)
Goal: (HomogeneousLocalization.map 𝒜 ℬ g comap_le hg) (HomogeneousLocalization.mk x) =
  HomogeneousLocalization.mk { deg := x.deg, num := ⟨g ↑x.num, ⋯⟩, den := ⟨g ↑x.den, ⋯⟩, den_mem := ⋯ }
-- isIdempotentElem_one_sub_one_sub_pow_pow
theorem isIdempotentElem_one_sub_one_sub_pow_pow
    (x : R) (n : ℕ) (hx : (x - x ^ 2) ^ n = 0) :
    IsIdempotentElem (1 - (1 - x ^ n) ^ n) 
Arguments: {R : Type u_1} [Ring R] (x : R) (n : ℕ) (hx : (x - x ^ 2) ^ n = 0)
Goal: IsIdempotentElem (1 - (1 - x ^ n) ^ n)
-- exists_isIdempotentElem_mul_eq_zero_of_ker_isNilpotent_aux
theorem exists_isIdempotentElem_mul_eq_zero_of_ker_isNilpotent_aux
    (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    (e₁ : S) (he : e₁ ∈ f.range) (he₁ : IsIdempotentElem e₁)
    (e₂ : R) (he₂ : IsIdempotentElem e₂) (he₁e₂ : e₁ * f e₂ = 0) :
    ∃ e' : R, IsIdempotentElem e' ∧ f e' = e₁ ∧ e' * e₂ = 0 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) (e₁ : S) (he : e₁ ∈ f.range) (he₁ : IsIdempotentElem e₁) (e₂ : R) (he₂ : IsIdempotentElem e₂) (he₁e₂ : e₁ * f e₂ = 0)
Goal: ∃ e', IsIdempotentElem e' ∧ f e' = e₁ ∧ e' * e₂ = 0
-- exists_isIdempotentElem_mul_eq_zero_of_ker_isNilpotent
theorem exists_isIdempotentElem_mul_eq_zero_of_ker_isNilpotent
    (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    (e₁ : S) (he : e₁ ∈ f.range) (he₁ : IsIdempotentElem e₁)
    (e₂ : R) (he₂ : IsIdempotentElem e₂) (he₁e₂ : e₁ * f e₂ = 0) (he₂e₁ : f e₂ * e₁ = 0) :
    ∃ e' : R, IsIdempotentElem e' ∧ f e' = e₁ ∧ e' * e₂ = 0 ∧ e₂ * e' = 0 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) (e₁ : S) (he : e₁ ∈ f.range) (he₁ : IsIdempotentElem e₁) (e₂ : R) (he₂ : IsIdempotentElem e₂) (he₁e₂ : e₁ * f e₂ = 0) (he₂e₁ : f e₂ * e₁ = 0)
Goal: ∃ e', IsIdempotentElem e' ∧ f e' = e₁ ∧ e' * e₂ = 0 ∧ e₂ * e' = 0
-- exists_isIdempotentElem_eq_of_ker_isNilpotent
theorem exists_isIdempotentElem_eq_of_ker_isNilpotent (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    (e : S) (he : e ∈ f.range) (he' : IsIdempotentElem e) :
    ∃ e' : R, IsIdempotentElem e' ∧ f e' = e 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) (e : S) (he : e ∈ f.range) (he' : IsIdempotentElem e)
Goal: ∃ e', IsIdempotentElem e' ∧ f e' = e
-- orthogonalIdempotents_iff
@[mk_iff]
structure OrthogonalIdempotents : Prop where
  idem : ∀ i, IsIdempotentElem (e i)
  ortho : ∀ i j, i ≠ j → e i * e j = 0
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} (e : I → R)
Goal: OrthogonalIdempotents e ↔ (∀ (i : I), IsIdempotentElem (e i)) ∧ ∀ (i j : I), i ≠ j → e i * e j = 0
-- OrthogonalIdempotents.idem
@[mk_iff]
structure OrthogonalIdempotents : Prop where
  idem : ∀ i, IsIdempotentElem (e i)
  ortho : ∀ i j, i ≠ j → e i * e j = 0
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} (self : OrthogonalIdempotents e) (i : I)
Goal: IsIdempotentElem (e i)
-- OrthogonalIdempotents.ortho
@[mk_iff]
structure OrthogonalIdempotents : Prop where
  idem : ∀ i, IsIdempotentElem (e i)
  ortho : ∀ i j, i ≠ j → e i * e j = 0
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} (self : OrthogonalIdempotents e) (i j : I)
Goal: i ≠ j → e i * e j = 0
-- OrthogonalIdempotents.mul_eq
lemma OrthogonalIdempotents.mul_eq [DecidableEq I] (he : OrthogonalIdempotents e) (i j) :
    e i * e j = if i = j then e i else 0 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} [DecidableEq I] (he : OrthogonalIdempotents e) (i j : I)
Goal: e i * e j = if i = j then e i else 0
-- OrthogonalIdempotents.iff_mul_eq
lemma OrthogonalIdempotents.iff_mul_eq [DecidableEq I] :
    OrthogonalIdempotents e ↔ ∀ i j, e i * e j = if i = j then e i else 0 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} [DecidableEq I]
Goal: OrthogonalIdempotents e ↔ ∀ (i j : I), e i * e j = if i = j then e i else 0
-- OrthogonalIdempotents.isIdempotentElem_sum
lemma OrthogonalIdempotents.isIdempotentElem_sum [Fintype I] : IsIdempotentElem (∑ i, e i) 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} (he : OrthogonalIdempotents e) [Fintype I]
Goal: IsIdempotentElem (∑ i : I, e i)
-- OrthogonalIdempotents.map
lemma OrthogonalIdempotents.map :
    OrthogonalIdempotents (f ∘ e) 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) {I : Type u_3} {e : I → R} (he : OrthogonalIdempotents e)
Goal: OrthogonalIdempotents (⇑f ∘ e)
-- OrthogonalIdempotents.map_injective_iff
lemma OrthogonalIdempotents.map_injective_iff (hf : Function.Injective f) :
    OrthogonalIdempotents (f ∘ e) ↔ OrthogonalIdempotents e 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) {I : Type u_3} {e : I → R} (hf : Function.Injective ⇑f)
Goal: OrthogonalIdempotents (⇑f ∘ e) ↔ OrthogonalIdempotents e
-- OrthogonalIdempotents.embedding
lemma OrthogonalIdempotents.embedding {J} (i : J ↪ I) :
    OrthogonalIdempotents (e ∘ i) 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} (he : OrthogonalIdempotents e) {J : Type u_4} (i : J ↪ I)
Goal: OrthogonalIdempotents (e ∘ ⇑i)
-- OrthogonalIdempotents.equiv
lemma OrthogonalIdempotents.equiv {J} (i : J ≃ I) :
    OrthogonalIdempotents (e ∘ i) ↔ OrthogonalIdempotents e 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} {J : Type u_4} (i : J ≃ I)
Goal: OrthogonalIdempotents (e ∘ ⇑i) ↔ OrthogonalIdempotents e
-- OrthogonalIdempotents.unique
lemma OrthogonalIdempotents.unique [Unique I] :
    OrthogonalIdempotents e ↔ IsIdempotentElem (e default) 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} [Unique I]
Goal: OrthogonalIdempotents e ↔ IsIdempotentElem (e default)
-- OrthogonalIdempotents.option
lemma OrthogonalIdempotents.option [Fintype I] (x)
    (hx : IsIdempotentElem x) (hx₁ : x * ∑ i, e i = 0) (hx₂ : (∑ i, e i) * x = 0) :
    OrthogonalIdempotents (Option.elim · x e) 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} (he : OrthogonalIdempotents e) [Fintype I] (x : R) (hx : IsIdempotentElem x) (hx₁ : x * ∑ i : I, e i = 0) (hx₂ : (∑ i : I, e i) * x = 0)
Goal: OrthogonalIdempotents fun x_1 => x_1.elim x e
-- OrthogonalIdempotents.lift_of_isNilpotent_ker_aux
lemma OrthogonalIdempotents.lift_of_isNilpotent_ker_aux
    (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    {n} {e : Fin n → S} (he : OrthogonalIdempotents e) (he' : ∀ i, e i ∈ f.range) :
    ∃ e' : Fin n → R, OrthogonalIdempotents e' ∧ f ∘ e' = e 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) {n : ℕ} {e : Fin n → S} (he : OrthogonalIdempotents e) (he' : ∀ (i : Fin n), e i ∈ f.range)
Goal: ∃ e', OrthogonalIdempotents e' ∧ ⇑f ∘ e' = e
-- OrthogonalIdempotents.lift_of_isNilpotent_ker
lemma OrthogonalIdempotents.lift_of_isNilpotent_ker [Finite I]
    (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    {e : I → S} (he : OrthogonalIdempotents e) (he' : ∀ i, e i ∈ f.range) :
    ∃ e' : I → R, OrthogonalIdempotents e' ∧ f ∘ e' = e 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) {I : Type u_3} [Finite I] (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) {e : I → S} (he : OrthogonalIdempotents e) (he' : ∀ (i : I), e i ∈ f.range)
Goal: ∃ e', OrthogonalIdempotents e' ∧ ⇑f ∘ e' = e
-- completeOrthogonalIdempotents_iff
@[mk_iff]
structure CompleteOrthogonalIdempotents (e : I → R) extends OrthogonalIdempotents e : Prop where
  complete : ∑ i, e i = 1
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} [Fintype I] (e : I → R)
Goal: CompleteOrthogonalIdempotents e ↔ OrthogonalIdempotents e ∧ ∑ i : I, e i = 1
-- CompleteOrthogonalIdempotents.complete
@[mk_iff]
structure CompleteOrthogonalIdempotents (e : I → R) extends OrthogonalIdempotents e : Prop where
  complete : ∑ i, e i = 1
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} [Fintype I] {e : I → R} (self : CompleteOrthogonalIdempotents e)
Goal: ∑ i : I, e i = 1
-- CompleteOrthogonalIdempotents.unique_iff
lemma CompleteOrthogonalIdempotents.unique_iff [Unique I] :
    CompleteOrthogonalIdempotents e ↔ e default = 1 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} [Fintype I] [Unique I]
Goal: CompleteOrthogonalIdempotents e ↔ e default = 1
-- CompleteOrthogonalIdempotents.pair_iff
lemma CompleteOrthogonalIdempotents.pair_iff {x y : R} :
    CompleteOrthogonalIdempotents ![x, y] ↔ IsIdempotentElem x ∧ y = 1 - x 
Arguments: {R : Type u_1} [Ring R] {x y : R}
Goal: CompleteOrthogonalIdempotents ![x, y] ↔ IsIdempotentElem x ∧ y = 1 - x
-- CompleteOrthogonalIdempotents.of_isIdempotentElem
lemma CompleteOrthogonalIdempotents.of_isIdempotentElem {e : R} (he : IsIdempotentElem e) :
    CompleteOrthogonalIdempotents ![e, 1 - e] 
Arguments: {R : Type u_1} [Ring R] {e : R} (he : IsIdempotentElem e)
Goal: CompleteOrthogonalIdempotents ![e, 1 - e]
-- CompleteOrthogonalIdempotents.single
lemma CompleteOrthogonalIdempotents.single {I : Type*} [Fintype I] [DecidableEq I]
    (R : I → Type*) [∀ i, Ring (R i)] :
    CompleteOrthogonalIdempotents (Pi.single (f := R) · 1) 
Arguments: {I : Type u_4} [Fintype I] [DecidableEq I] (R : I → Type u_5) [(i : I) → Ring (R i)]
Goal: CompleteOrthogonalIdempotents fun x => Pi.single x 1
-- CompleteOrthogonalIdempotents.map
lemma CompleteOrthogonalIdempotents.map :
    CompleteOrthogonalIdempotents (f ∘ e) 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) {I : Type u_3} {e : I → R} [Fintype I] (he : CompleteOrthogonalIdempotents e)
Goal: CompleteOrthogonalIdempotents (⇑f ∘ e)
-- CompleteOrthogonalIdempotents.map_injective_iff
lemma CompleteOrthogonalIdempotents.map_injective_iff (hf : Function.Injective f) :
    CompleteOrthogonalIdempotents (f ∘ e) ↔ CompleteOrthogonalIdempotents e 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) {I : Type u_3} {e : I → R} [Fintype I] (hf : Function.Injective ⇑f)
Goal: CompleteOrthogonalIdempotents (⇑f ∘ e) ↔ CompleteOrthogonalIdempotents e
-- CompleteOrthogonalIdempotents.equiv
lemma CompleteOrthogonalIdempotents.equiv {J} [Fintype J] (i : J ≃ I) :
    CompleteOrthogonalIdempotents (e ∘ i) ↔ CompleteOrthogonalIdempotents e 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} [Fintype I] {J : Type u_4} [Fintype J] (i : J ≃ I)
Goal: CompleteOrthogonalIdempotents (e ∘ ⇑i) ↔ CompleteOrthogonalIdempotents e
-- CompleteOrthogonalIdempotents.option
lemma CompleteOrthogonalIdempotents.option (he : OrthogonalIdempotents e) :
    CompleteOrthogonalIdempotents (Option.elim · (1 - ∑ i, e i) e) 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} [Fintype I] (he : OrthogonalIdempotents e)
Goal: CompleteOrthogonalIdempotents fun x => x.elim (1 - ∑ i : I, e i) e
-- CompleteOrthogonalIdempotents.of_subsingleton
@[nontriviality]
lemma CompleteOrthogonalIdempotents.of_subsingleton [Subsingleton R] :
    CompleteOrthogonalIdempotents e 
Arguments: {R : Type u_1} [Ring R] {I : Type u_3} {e : I → R} [Fintype I] [Subsingleton R]
Goal: CompleteOrthogonalIdempotents e
-- CompleteOrthogonalIdempotents.lift_of_isNilpotent_ker_aux
lemma CompleteOrthogonalIdempotents.lift_of_isNilpotent_ker_aux
    (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    {n} {e : Fin n → S} (he : CompleteOrthogonalIdempotents e) (he' : ∀ i, e i ∈ f.range) :
    ∃ e' : Fin n → R, CompleteOrthogonalIdempotents e' ∧ f ∘ e' = e 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) {n : ℕ} {e : Fin n → S} (he : CompleteOrthogonalIdempotents e) (he' : ∀ (i : Fin n), e i ∈ f.range)
Goal: ∃ e', CompleteOrthogonalIdempotents e' ∧ ⇑f ∘ e' = e
-- CompleteOrthogonalIdempotents.lift_of_isNilpotent_ker
lemma CompleteOrthogonalIdempotents.lift_of_isNilpotent_ker
    (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    {e : I → S} (he : CompleteOrthogonalIdempotents e) (he' : ∀ i, e i ∈ f.range) :
    ∃ e' : I → R, CompleteOrthogonalIdempotents e' ∧ f ∘ e' = e 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) {I : Type u_3} [Fintype I] (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) {e : I → S} (he : CompleteOrthogonalIdempotents e) (he' : ∀ (i : I), e i ∈ f.range)
Goal: ∃ e', CompleteOrthogonalIdempotents e' ∧ ⇑f ∘ e' = e
-- eq_of_isNilpotent_sub_of_isIdempotentElem_of_commute
theorem eq_of_isNilpotent_sub_of_isIdempotentElem_of_commute {e₁ e₂ : R}
    (he₁ : IsIdempotentElem e₁) (he₂ : IsIdempotentElem e₂) (H : IsNilpotent (e₁ - e₂))
    (H' : Commute e₁ e₂) :
    e₁ = e₂ 
Arguments: {R : Type u_1} [Ring R] {e₁ e₂ : R} (he₁ : IsIdempotentElem e₁) (he₂ : IsIdempotentElem e₂) (H : IsNilpotent (e₁ - e₂)) (H' : Commute e₁ e₂)
Goal: e₁ = e₂
-- CompleteOrthogonalIdempotents.of_ker_isNilpotent_of_isMulCentral
theorem CompleteOrthogonalIdempotents.of_ker_isNilpotent_of_isMulCentral
    (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    (he : ∀ i, IsIdempotentElem (e i))
    (he' : ∀ i, IsMulCentral (e i))
    (he'' : CompleteOrthogonalIdempotents (f ∘ e)) :
    CompleteOrthogonalIdempotents e 
Arguments: {R : Type u_1} {S : Type u_2} [Ring R] [Ring S] (f : R →+* S) {I : Type u_3} {e : I → R} [Fintype I] (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) (he : ∀ (i : I), IsIdempotentElem (e i)) (he' : ∀ (i : I), IsMulCentral (e i)) (he'' : CompleteOrthogonalIdempotents (⇑f ∘ e))
Goal: CompleteOrthogonalIdempotents e
-- eq_of_isNilpotent_sub_of_isIdempotentElem
theorem eq_of_isNilpotent_sub_of_isIdempotentElem {e₁ e₂ : R}
    (he₁ : IsIdempotentElem e₁) (he₂ : IsIdempotentElem e₂) (H : IsNilpotent (e₁ - e₂)) :
    e₁ = e₂ 
Arguments: {R : Type u_1} [CommRing R] {e₁ e₂ : R} (he₁ : IsIdempotentElem e₁) (he₂ : IsIdempotentElem e₂) (H : IsNilpotent (e₁ - e₂))
Goal: e₁ = e₂
-- existsUnique_isIdempotentElem_eq_of_ker_isNilpotent
theorem existsUnique_isIdempotentElem_eq_of_ker_isNilpotent (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    (e : S) (he : e ∈ f.range) (he' : IsIdempotentElem e) :
    ∃! e' : R, IsIdempotentElem e' ∧ f e' = e 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] (f : R →+* S) (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) (e : S) (he : e ∈ f.range) (he' : IsIdempotentElem e)
Goal: ∃! e', IsIdempotentElem e' ∧ f e' = e
-- OrthogonalIdempotents.surjective_pi
lemma OrthogonalIdempotents.surjective_pi {I : Type*} [Finite I] {e : I → R}
    (he : OrthogonalIdempotents e) :
    Function.Surjective (Pi.ringHom fun i ↦ Ideal.Quotient.mk (Ideal.span {1 - e i})) 
Arguments: {R : Type u_1} [CommRing R] {I : Type u_3} [Finite I] {e : I → R} (he : OrthogonalIdempotents e)
Goal: Function.Surjective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {1 - e i}))
-- CompleteOrthogonalIdempotents.of_ker_isNilpotent
theorem CompleteOrthogonalIdempotents.of_ker_isNilpotent (h : ∀ x ∈ RingHom.ker f, IsNilpotent x)
    (he : ∀ i, IsIdempotentElem (e i))
    (he' : CompleteOrthogonalIdempotents (f ∘ e)) :
    CompleteOrthogonalIdempotents e 
Arguments: {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] (f : R →+* S) {I : Type u_3} [Fintype I] {e : I → R} (h : ∀ x ∈ RingHom.ker f, IsNilpotent x) (he : ∀ (i : I), IsIdempotentElem (e i)) (he' : CompleteOrthogonalIdempotents (⇑f ∘ e))
Goal: CompleteOrthogonalIdempotents e
-- OrthogonalIdempotents.prod_one_sub
lemma OrthogonalIdempotents.prod_one_sub (he : OrthogonalIdempotents e) :
    ∏ i, (1 - e i) = 1 - ∑ i, e i 
Arguments: {R : Type u_1} [CommRing R] {I : Type u_3} [Fintype I] {e : I → R} (he : OrthogonalIdempotents e)
Goal: ∏ i : I, (1 - e i) = 1 - ∑ i : I, e i
-- CompleteOrthogonalIdempotents.prod_one_sub
lemma CompleteOrthogonalIdempotents.prod_one_sub (he : CompleteOrthogonalIdempotents e) :
    ∏ i, (1 - e i) = 0 
Arguments: {R : Type u_1} [CommRing R] {I : Type u_3} [Fintype I] {e : I → R} (he : CompleteOrthogonalIdempotents e)
Goal: ∏ i : I, (1 - e i) = 0
-- CompleteOrthogonalIdempotents.of_prod_one_sub
lemma CompleteOrthogonalIdempotents.of_prod_one_sub
    (he : OrthogonalIdempotents e) (he' : ∏ i, (1 - e i) = 0) :
    CompleteOrthogonalIdempotents e 
Arguments: {R : Type u_1} [CommRing R] {I : Type u_3} [Fintype I] {e : I → R} (he : OrthogonalIdempotents e) (he' : ∏ i : I, (1 - e i) = 0)
Goal: CompleteOrthogonalIdempotents e
-- CompleteOrthogonalIdempotents.bijective_pi
lemma CompleteOrthogonalIdempotents.bijective_pi (he : CompleteOrthogonalIdempotents e) :
    Function.Bijective (Pi.ringHom fun i ↦ Ideal.Quotient.mk (Ideal.span {1 - e i})) 
Arguments: {R : Type u_1} [CommRing R] {I : Type u_3} [Fintype I] {e : I → R} (he : CompleteOrthogonalIdempotents e)
Goal: Function.Bijective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {1 - e i}))
-- CompleteOrthogonalIdempotents.bijective_pi'
lemma CompleteOrthogonalIdempotents.bijective_pi' (he : CompleteOrthogonalIdempotents (1 - e ·)) :
    Function.Bijective (Pi.ringHom fun i ↦ Ideal.Quotient.mk (Ideal.span {e i})) 
Arguments: {R : Type u_1} [CommRing R] {I : Type u_3} [Fintype I] {e : I → R} (he : CompleteOrthogonalIdempotents fun x => 1 - e x)
Goal: Function.Bijective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {e i}))
-- bijective_pi_of_isIdempotentElem
lemma bijective_pi_of_isIdempotentElem (e : I → R)
    (he : ∀ i, IsIdempotentElem (e i))
    (he₁ : ∀ i j, i ≠ j → (1 - e i) * (1 - e j) = 0) (he₂ : ∏ i, e i = 0) :
    Function.Bijective (Pi.ringHom fun i ↦ Ideal.Quotient.mk (Ideal.span {e i})) 
Arguments: {R : Type u_1} [CommRing R] {I : Type u_3} [Fintype I] (e : I → R) (he : ∀ (i : I), IsIdempotentElem (e i)) (he₁ : ∀ (i j : I), i ≠ j → (1 - e i) * (1 - e j) = 0) (he₂ : ∏ i : I, e i = 0)
Goal: Function.Bijective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {e i}))
-- Module.Finite.of_isLocalizedModule
lemma of_isLocalizedModule [Module.Finite R M] : Module.Finite Rₚ Mₚ 
Arguments: {R : Type u} [CommSemiring R] (S : Submonoid R) {Rₚ : Type v} [CommSemiring Rₚ] [Algebra R Rₚ] [IsLocalization S Rₚ] {M : Type w} [AddCommMonoid M] [Module R M] {Mₚ : Type t} [AddCommMonoid Mₚ] [Module R Mₚ] [Module Rₚ Mₚ] [IsScalarTower R Rₚ Mₚ] (f : M →ₗ[R] Mₚ) [IsLocalizedModule S f] [Module.Finite R M]
Goal: Module.Finite Rₚ Mₚ
-- Module.Finite.of_localizationSpan_finite'
theorem of_localizationSpan_finite' (t : Finset R) (ht : Ideal.span (t : Set R) = ⊤)
    {Mₚ : ∀ (_ : t), Type*} [∀ (g : t), AddCommMonoid (Mₚ g)] [∀ (g : t), Module R (Mₚ g)]
    {Rₚ : ∀ (_ : t), Type u} [∀ (g : t), CommRing (Rₚ g)] [∀ (g : t), Algebra R (Rₚ g)]
    [∀ (g : t), IsLocalization.Away g.val (Rₚ g)]
    [∀ (g : t), Module (Rₚ g) (Mₚ g)] [∀ (g : t), IsScalarTower R (Rₚ g) (Mₚ g)]
    (f : ∀ (g : t), M →ₗ[R] Mₚ g) [∀ (g : t), IsLocalizedModule (Submonoid.powers g.val) (f g)]
    (H : ∀ (g : t), Module.Finite (Rₚ g) (Mₚ g)) :
    Module.Finite R M 
Arguments: {R : Type u} [CommRing R] {M : Type w} [AddCommMonoid M] [Module R M] (t : Finset R) (ht : Ideal.span ↑t = ⊤) {Mₚ : { x // x ∈ t } → Type u_1} [(g : { x // x ∈ t }) → AddCommMonoid (Mₚ g)] [(g : { x // x ∈ t }) → Module R (Mₚ g)] {Rₚ : { x // x ∈ t } → Type u} [(g : { x // x ∈ t }) → CommRing (Rₚ g)] [(g : { x // x ∈ t }) → Algebra R (Rₚ g)] [∀ (g : { x // x ∈ t }), IsLocalization.Away (↑g) (Rₚ g)] [(g : { x // x ∈ t }) → Module (Rₚ g) (Mₚ g)] [∀ (g : { x // x ∈ t }), IsScalarTower R (Rₚ g) (Mₚ g)] (f : (g : { x // x ∈ t }) → M →ₗ[R] Mₚ g) [∀ (g : { x // x ∈ t }), IsLocalizedModule (Submonoid.powers ↑g) (f g)] (H : ∀ (g : { x // x ∈ t }), Module.Finite (Rₚ g) (Mₚ g))
Goal: Module.Finite R M
-- Module.Finite.of_localizationSpan'
theorem of_localizationSpan' (t : Set R) (ht : Ideal.span t = ⊤)
    {Mₚ : ∀ (_ : t), Type*} [∀ (g : t), AddCommMonoid (Mₚ g)] [∀ (g : t), Module R (Mₚ g)]
    {Rₚ : ∀ (_ : t), Type u} [∀ (g : t), CommRing (Rₚ g)] [∀ (g : t), Algebra R (Rₚ g)]
    [h₁ : ∀ (g : t), IsLocalization.Away g.val (Rₚ g)]
    [∀ (g : t), Module (Rₚ g) (Mₚ g)] [∀ (g : t), IsScalarTower R (Rₚ g) (Mₚ g)]
    (f : ∀ (g : t), M →ₗ[R] Mₚ g) [h₂ : ∀ (g : t), IsLocalizedModule (Submonoid.powers g.val) (f g)]
    (H : ∀ (g : t), Module.Finite (Rₚ g) (Mₚ g)) :
    Module.Finite R M 
Arguments: {R : Type u} [CommRing R] {M : Type w} [AddCommMonoid M] [Module R M] (t : Set R) (ht : Ideal.span t = ⊤) {Mₚ : ↑t → Type u_1} [(g : ↑t) → AddCommMonoid (Mₚ g)] [(g : ↑t) → Module R (Mₚ g)] {Rₚ : ↑t → Type u} [(g : ↑t) → CommRing (Rₚ g)] [(g : ↑t) → Algebra R (Rₚ g)] [h₁ : ∀ (g : ↑t), IsLocalization.Away (↑g) (Rₚ g)] [(g : ↑t) → Module (Rₚ g) (Mₚ g)] [∀ (g : ↑t), IsScalarTower R (Rₚ g) (Mₚ g)] (f : (g : ↑t) → M →ₗ[R] Mₚ g) [h₂ : ∀ (g : ↑t), IsLocalizedModule (Submonoid.powers ↑g) (f g)] (H : ∀ (g : ↑t), Module.Finite (Rₚ g) (Mₚ g))
Goal: Module.Finite R M
-- Module.Finite.of_localizationSpan_finite
theorem of_localizationSpan_finite (t : Finset R) (ht : Ideal.span (t : Set R) = ⊤)
    (H : ∀ (g : t), Module.Finite (Localization.Away g.val)
      (LocalizedModule (Submonoid.powers g.val) M)) :
    Module.Finite R M 
Arguments: {R : Type u} [CommRing R] {M : Type w} [AddCommMonoid M] [Module R M] (t : Finset R) (ht : Ideal.span ↑t = ⊤) (H : ∀ (g : { x // x ∈ t }), Module.Finite (Localization.Away ↑g) (LocalizedModule (Submonoid.powers ↑g) M))
Goal: Module.Finite R M
-- Module.Finite.of_localizationSpan
theorem of_localizationSpan (t : Set R) (ht : Ideal.span t = ⊤)
    (H : ∀ (g : t), Module.Finite (Localization.Away g.val)
      (LocalizedModule (Submonoid.powers g.val) M)) :
    Module.Finite R M 
Arguments: {R : Type u} [CommRing R] {M : Type w} [AddCommMonoid M] [Module R M] (t : Set R) (ht : Ideal.span t = ⊤) (H : ∀ (g : ↑t), Module.Finite (Localization.Away ↑g) (LocalizedModule (Submonoid.powers ↑g) M))
Goal: Module.Finite R M
-- Ideal.fg_of_localizationSpan
lemma fg_of_localizationSpan {I : Ideal R} (t : Set R) (ht : Ideal.span t = ⊤)
    (H : ∀ (g : t), (I.map (algebraMap R (Localization.Away g.val))).FG) : I.FG 
Arguments: {R : Type u} [CommRing R] {I : Ideal R} (t : Set R) (ht : Ideal.span t = ⊤) (H : ∀ (g : ↑t), (Ideal.map (algebraMap R (Localization.Away ↑g)) I).FG)
Goal: I.FG
-- RingHom.ker_fg_of_localizationSpan
lemma RingHom.ker_fg_of_localizationSpan (t : Set R) (ht : Ideal.span t = ⊤)
    (H : ∀ g : t, (RingHom.ker (Localization.awayMap f g.val)).FG) :
    (RingHom.ker f).FG 
Arguments: {R : Type u} [CommRing R] {S : Type v} [CommRing S] {f : R →+* S} (t : Set R) (ht : Ideal.span t = ⊤) (H : ∀ (g : ↑t), (RingHom.ker (Localization.awayMap f ↑g)).FG)
Goal: (RingHom.ker f).FG
-- LocalRing.maximal_ideal_unique
theorem maximal_ideal_unique : ∃! I : Ideal R, I.IsMaximal 
Arguments: (R : Type u_1) [CommSemiring R] [LocalRing R]
Goal: ∃! I, I.IsMaximal
-- LocalRing.eq_maximalIdeal
theorem eq_maximalIdeal {I : Ideal R} (hI : I.IsMaximal) : I = maximalIdeal R 
Arguments: {R : Type u_1} [CommSemiring R] [LocalRing R] {I : Ideal R} (hI : I.IsMaximal)
Goal: I = LocalRing.maximalIdeal R
-- LocalRing.le_maximalIdeal
theorem le_maximalIdeal {J : Ideal R} (hJ : J ≠ ⊤) : J ≤ maximalIdeal R 
Arguments: {R : Type u_1} [CommSemiring R] [LocalRing R] {J : Ideal R} (hJ : J ≠ ⊤)
Goal: J ≤ LocalRing.maximalIdeal R
-- LocalRing.mem_maximalIdeal
@[simp]
theorem mem_maximalIdeal (x) : x ∈ maximalIdeal R ↔ x ∈ nonunits R 
Arguments: {R : Type u_1} [CommSemiring R] [LocalRing R] (x : R)
Goal: x ∈ LocalRing.maximalIdeal R ↔ x ∈ nonunits R
-- LocalRing.isField_iff_maximalIdeal_eq
theorem isField_iff_maximalIdeal_eq : IsField R ↔ maximalIdeal R = ⊥ 
Arguments: {R : Type u_1} [CommSemiring R] [LocalRing R]
Goal: IsField R ↔ LocalRing.maximalIdeal R = ⊥
-- LocalRing.maximalIdeal_le_jacobson
theorem maximalIdeal_le_jacobson (I : Ideal R) :
    LocalRing.maximalIdeal R ≤ I.jacobson 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] (I : Ideal R)
Goal: LocalRing.maximalIdeal R ≤ I.jacobson
-- LocalRing.jacobson_eq_maximalIdeal
theorem jacobson_eq_maximalIdeal (I : Ideal R) (h : I ≠ ⊤) :
    I.jacobson = LocalRing.maximalIdeal R 
Arguments: {R : Type u_1} [CommRing R] [LocalRing R] (I : Ideal R) (h : I ≠ ⊤)
Goal: I.jacobson = LocalRing.maximalIdeal R