ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- NonUnitalSubring.prod_mono_right
theorem prod_mono_right (s : NonUnitalSubring R) :
    Monotone fun t : NonUnitalSubring S => s.prod t 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (s : NonUnitalSubring R)
Goal: Monotone fun t => s.prod t
-- NonUnitalSubring.prod_mono_left
theorem prod_mono_left (t : NonUnitalSubring S) : Monotone fun s : NonUnitalSubring R => s.prod t 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (t : NonUnitalSubring S)
Goal: Monotone fun s => s.prod t
-- NonUnitalSubring.prod_top
theorem prod_top (s : NonUnitalSubring R) :
    s.prod (⊤ : NonUnitalSubring S) = s.comap (NonUnitalRingHom.fst R S) 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (s : NonUnitalSubring R)
Goal: s.prod ⊤ = NonUnitalSubring.comap (NonUnitalRingHom.fst R S) s
-- NonUnitalSubring.top_prod
theorem top_prod (s : NonUnitalSubring S) :
    (⊤ : NonUnitalSubring R).prod s = s.comap (NonUnitalRingHom.snd R S) 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (s : NonUnitalSubring S)
Goal: ⊤.prod s = NonUnitalSubring.comap (NonUnitalRingHom.snd R S) s
-- NonUnitalSubring.top_prod_top
@[simp]
theorem top_prod_top : (⊤ : NonUnitalSubring R).prod (⊤ : NonUnitalSubring S) = ⊤ 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S]
Goal: ⊤.prod ⊤ = ⊤
-- NonUnitalSubring.mem_iSup_of_directed
theorem mem_iSup_of_directed {ι} [hι : Nonempty ι] {S : ι → NonUnitalSubring R}
    (hS : Directed (· ≤ ·) S) {x : R} : (x ∈ ⨆ i, S i) ↔ ∃ i, x ∈ S i 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {ι : Sort u_2} [hι : Nonempty ι] {S : ι → NonUnitalSubring R} (hS : Directed (fun x x_1 => x ≤ x_1) S) {x : R}
Goal: x ∈ ⨆ i, S i ↔ ∃ i, x ∈ S i
-- NonUnitalSubring.coe_iSup_of_directed
theorem coe_iSup_of_directed {ι} [Nonempty ι] {S : ι → NonUnitalSubring R}
    (hS : Directed (· ≤ ·) S) : ((⨆ i, S i : NonUnitalSubring R) : Set R) = ⋃ i, S i 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {ι : Sort u_2} [Nonempty ι] {S : ι → NonUnitalSubring R} (hS : Directed (fun x x_1 => x ≤ x_1) S)
Goal: ↑(⨆ i, S i) = ⋃ i, ↑(S i)
-- NonUnitalSubring.mem_sSup_of_directedOn
theorem mem_sSup_of_directedOn {S : Set (NonUnitalSubring R)} (Sne : S.Nonempty)
    (hS : DirectedOn (· ≤ ·) S) {x : R} : x ∈ sSup S ↔ ∃ s ∈ S, x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {S : Set (NonUnitalSubring R)} (Sne : S.Nonempty) (hS : DirectedOn (fun x x_1 => x ≤ x_1) S) {x : R}
Goal: x ∈ sSup S ↔ ∃ s ∈ S, x ∈ s
-- NonUnitalSubring.coe_sSup_of_directedOn
theorem coe_sSup_of_directedOn {S : Set (NonUnitalSubring R)} (Sne : S.Nonempty)
    (hS : DirectedOn (· ≤ ·) S) : (↑(sSup S) : Set R) = ⋃ s ∈ S, ↑s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {S : Set (NonUnitalSubring R)} (Sne : S.Nonempty) (hS : DirectedOn (fun x x_1 => x ≤ x_1) S)
Goal: ↑(sSup S) = ⋃ s ∈ S, ↑s
-- NonUnitalSubring.mem_map_equiv
theorem mem_map_equiv {f : R ≃+* S} {K : NonUnitalSubring R} {x : S} :
    x ∈ K.map (f : R →ₙ+* S) ↔ f.symm x ∈ K 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {f : R ≃+* S} {K : NonUnitalSubring R} {x : S}
Goal: x ∈ NonUnitalSubring.map (↑f) K ↔ f.symm x ∈ K
-- NonUnitalSubring.map_equiv_eq_comap_symm
theorem map_equiv_eq_comap_symm (f : R ≃+* S) (K : NonUnitalSubring R) :
    K.map (f : R →ₙ+* S) = K.comap f.symm 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R ≃+* S) (K : NonUnitalSubring R)
Goal: NonUnitalSubring.map (↑f) K = NonUnitalSubring.comap f.symm K
-- NonUnitalSubring.comap_equiv_eq_map_symm
theorem comap_equiv_eq_map_symm (f : R ≃+* S) (K : NonUnitalSubring S) :
    K.comap (f : R →ₙ+* S) = K.map f.symm 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R ≃+* S) (K : NonUnitalSubring S)
Goal: NonUnitalSubring.comap (↑f) K = NonUnitalSubring.map f.symm K
-- NonUnitalRingHom.coe_rangeRestrict
@[simp]
theorem coe_rangeRestrict (f : R →ₙ+* S) (x : R) : (f.rangeRestrict x : S) = f x 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S) (x : R)
Goal: ↑(f.rangeRestrict x) = f x
-- NonUnitalRingHom.rangeRestrict_surjective
theorem rangeRestrict_surjective (f : R →ₙ+* S) : Function.Surjective f.rangeRestrict 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S)
Goal: Function.Surjective ⇑f.rangeRestrict
-- NonUnitalRingHom.range_top_iff_surjective
theorem range_top_iff_surjective {f : R →ₙ+* S} :
    f.range = (⊤ : NonUnitalSubring S) ↔ Function.Surjective f 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {f : R →ₙ+* S}
Goal: f.range = ⊤ ↔ Function.Surjective ⇑f
-- NonUnitalRingHom.range_top_of_surjective
@[simp]
theorem range_top_of_surjective (f : R →ₙ+* S) (hf : Function.Surjective f) :
    f.range = (⊤ : NonUnitalSubring S) 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S) (hf : Function.Surjective ⇑f)
Goal: f.range = ⊤
-- NonUnitalRingHom.eqLocus_same
@[simp]
theorem eqLocus_same (f : R →ₙ+* S) : f.eqLocus f = ⊤ 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S)
Goal: f.eqLocus f = ⊤
-- NonUnitalRingHom.eqOn_set_closure
theorem eqOn_set_closure {f g : R →ₙ+* S} {s : Set R} (h : Set.EqOn f g s) :
    Set.EqOn f g (closure s) 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {f g : R →ₙ+* S} {s : Set R} (h : Set.EqOn (⇑f) (⇑g) s)
Goal: Set.EqOn ⇑f ⇑g ↑(NonUnitalSubring.closure s)
-- NonUnitalRingHom.eq_of_eqOn_set_top
theorem eq_of_eqOn_set_top {f g : R →ₙ+* S} (h : Set.EqOn f g (⊤ : NonUnitalSubring R)) : f = g 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {f g : R →ₙ+* S} (h : Set.EqOn ⇑f ⇑g ↑⊤)
Goal: f = g
-- NonUnitalRingHom.eq_of_eqOn_set_dense
theorem eq_of_eqOn_set_dense {s : Set R} (hs : closure s = ⊤) {f g : R →ₙ+* S} (h : s.EqOn f g) :
    f = g 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {s : Set R} (hs : NonUnitalSubring.closure s = ⊤) {f g : R →ₙ+* S} (h : Set.EqOn (⇑f) (⇑g) s)
Goal: f = g
-- NonUnitalRingHom.closure_preimage_le
theorem closure_preimage_le (f : R →ₙ+* S) (s : Set S) : closure (f ⁻¹' s) ≤ (closure s).comap f 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S) (s : Set S)
Goal: NonUnitalSubring.closure (⇑f ⁻¹' s) ≤ NonUnitalSubring.comap f (NonUnitalSubring.closure s)
-- NonUnitalRingHom.map_closure
theorem map_closure (f : R →ₙ+* S) (s : Set R) : (closure s).map f = closure (f '' s) 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S) (s : Set R)
Goal: NonUnitalSubring.map f (NonUnitalSubring.closure s) = NonUnitalSubring.closure (⇑f '' s)
-- NonUnitalSubring.range_subtype
@[simp]
theorem range_subtype (s : NonUnitalSubring R) : (NonUnitalSubringClass.subtype s).range = s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
Goal: (NonUnitalSubringClass.subtype s).range = s
-- NonUnitalSubring.range_fst
theorem range_fst : NonUnitalRingHom.srange (fst R S) = ⊤ 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S]
Goal: NonUnitalRingHom.srange (NonUnitalRingHom.fst R S) = ⊤
-- NonUnitalSubring.range_snd
theorem range_snd : NonUnitalRingHom.srange (snd R S) = ⊤ 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S]
Goal: NonUnitalRingHom.srange (NonUnitalRingHom.snd R S) = ⊤
-- RingEquiv.ofLeftInverse'_apply
@[simp]
theorem ofLeftInverse'_apply {g : S → R} {f : R →ₙ+* S} (h : Function.LeftInverse g f) (x : R) :
    ↑(ofLeftInverse' h x) = f x 
Arguments: {R : Type u} {S : Type v} [NonUnitalRing R] [NonUnitalRing S] {g : S → R} {f : R →ₙ+* S} (h : Function.LeftInverse g ⇑f) (x : R)
Goal: ↑((RingEquiv.ofLeftInverse' h) x) = f x
-- RingEquiv.ofLeftInverse'_symm_apply
@[simp]
theorem ofLeftInverse'_symm_apply {g : S → R} {f : R →ₙ+* S} (h : Function.LeftInverse g f)
    (x : f.range) : (ofLeftInverse' h).symm x = g x 
Arguments: {R : Type u} {S : Type v} [NonUnitalRing R] [NonUnitalRing S] {g : S → R} {f : R →ₙ+* S} (h : Function.LeftInverse g ⇑f) (x : ↥f.range)
Goal: (RingEquiv.ofLeftInverse' h).symm x = g ↑x
-- NonUnitalSubring.closure_preimage_le
theorem closure_preimage_le (f : F) (s : Set S) :
    closure ((f : R → S) ⁻¹' s) ≤ (closure s).comap f 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] (f : F) (s : Set S)
Goal: NonUnitalSubring.closure (⇑f ⁻¹' s) ≤ NonUnitalSubring.comap f (NonUnitalSubring.closure s)
-- DirectSum.decompose_one
@[simp]
theorem decompose_one : decompose 𝒜 (1 : A) = 1 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [AddMonoid ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
Goal: (DirectSum.decompose 𝒜) 1 = 1
-- DirectSum.decompose_symm_one
@[simp]
theorem decompose_symm_one : (decompose 𝒜).symm 1 = (1 : A) 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [AddMonoid ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
Goal: (DirectSum.decompose 𝒜).symm 1 = 1
-- DirectSum.decompose_mul
@[simp]
theorem decompose_mul (x y : A) : decompose 𝒜 (x * y) = decompose 𝒜 x * decompose 𝒜 y 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [AddMonoid ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (x y : A)
Goal: (DirectSum.decompose 𝒜) (x * y) = (DirectSum.decompose 𝒜) x * (DirectSum.decompose 𝒜) y
-- DirectSum.decompose_symm_mul
@[simp]
theorem decompose_symm_mul (x y : ⨁ i, 𝒜 i) :
    (decompose 𝒜).symm (x * y) = (decompose 𝒜).symm x * (decompose 𝒜).symm y 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [AddMonoid ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (x y : ⨁ (i : ι), ↥(𝒜 i))
Goal: (DirectSum.decompose 𝒜).symm (x * y) = (DirectSum.decompose 𝒜).symm x * (DirectSum.decompose 𝒜).symm y
-- GradedRing.proj_apply
@[simp]
theorem GradedRing.proj_apply (i : ι) (r : A) :
    GradedRing.proj 𝒜 i r = (decompose 𝒜 r : ⨁ i, 𝒜 i) i 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [AddMonoid ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (i : ι) (r : A)
Goal: (GradedRing.proj 𝒜 i) r = ↑(((DirectSum.decompose 𝒜) r) i)
-- GradedRing.proj_recompose
theorem GradedRing.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
    GradedRing.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (DirectSum.of _ i (a i)) 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [AddMonoid ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (a : ⨁ (i : ι), ↥(𝒜 i)) (i : ι)
Goal: (GradedRing.proj 𝒜 i) ((DirectSum.decompose 𝒜).symm a) =
  (DirectSum.decompose 𝒜).symm ((DirectSum.of (fun i => ↥(𝒜 i)) i) (a i))
-- GradedRing.mem_support_iff
theorem GradedRing.mem_support_iff [∀ (i) (x : 𝒜 i), Decidable (x ≠ 0)] (r : A) (i : ι) :
    i ∈ (decompose 𝒜 r).support ↔ GradedRing.proj 𝒜 i r ≠ 0 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [AddMonoid ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] [(i : ι) → (x : ↥(𝒜 i)) → Decidable (x ≠ 0)] (r : A) (i : ι)
Goal: i ∈ DFinsupp.support ((DirectSum.decompose 𝒜) r) ↔ (GradedRing.proj 𝒜 i) r ≠ 0
-- DirectSum.coe_decompose_mul_add_of_left_mem
theorem coe_decompose_mul_add_of_left_mem [AddLeftCancelMonoid ι] [GradedRing 𝒜] {a b : A}
    (a_mem : a ∈ 𝒜 i) : (decompose 𝒜 (a * b) (i + j) : A) = a * decompose 𝒜 b j 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) {i j : ι} [AddLeftCancelMonoid ι] [GradedRing 𝒜] {a b : A} (a_mem : a ∈ 𝒜 i)
Goal: ↑(((DirectSum.decompose 𝒜) (a * b)) (i + j)) = a * ↑(((DirectSum.decompose 𝒜) b) j)
-- DirectSum.coe_decompose_mul_add_of_right_mem
theorem coe_decompose_mul_add_of_right_mem [AddRightCancelMonoid ι] [GradedRing 𝒜] {a b : A}
    (b_mem : b ∈ 𝒜 j) : (decompose 𝒜 (a * b) (i + j) : A) = decompose 𝒜 a i * b 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) {i j : ι} [AddRightCancelMonoid ι] [GradedRing 𝒜] {a b : A} (b_mem : b ∈ 𝒜 j)
Goal: ↑(((DirectSum.decompose 𝒜) (a * b)) (i + j)) = ↑(((DirectSum.decompose 𝒜) a) i) * b
-- DirectSum.decompose_mul_add_left
theorem decompose_mul_add_left [AddLeftCancelMonoid ι] [GradedRing 𝒜] (a : 𝒜 i) {b : A} :
    decompose 𝒜 (↑a * b) (i + j) =
      @GradedMonoid.GMul.mul ι (fun i => 𝒜 i) _ _ _ _ a (decompose 𝒜 b j) 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) {i j : ι} [AddLeftCancelMonoid ι] [GradedRing 𝒜] (a : ↥(𝒜 i)) {b : A}
Goal: ((DirectSum.decompose 𝒜) (↑a * b)) (i + j) = GradedMonoid.GMul.mul a (((DirectSum.decompose 𝒜) b) j)
-- DirectSum.decompose_mul_add_right
theorem decompose_mul_add_right [AddRightCancelMonoid ι] [GradedRing 𝒜] {a : A} (b : 𝒜 j) :
    decompose 𝒜 (a * ↑b) (i + j) =
      @GradedMonoid.GMul.mul ι (fun i => 𝒜 i) _ _ _ _ (decompose 𝒜 a i) b 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [DecidableEq ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) {i j : ι} [AddRightCancelMonoid ι] [GradedRing 𝒜] {a : A} (b : ↥(𝒜 j))
Goal: ((DirectSum.decompose 𝒜) (a * ↑b)) (i + j) = GradedMonoid.GMul.mul (((DirectSum.decompose 𝒜) a) i) b
-- DirectSum.decomposeAlgEquiv_apply
@[simp]
lemma decomposeAlgEquiv_apply (a : A) :
    decomposeAlgEquiv 𝒜 a = decompose 𝒜 a 
Arguments: {ι : Type u_1} {R : Type u_2} {A : Type u_3} [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A] (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (a : A)
Goal: (DirectSum.decomposeAlgEquiv 𝒜) a = (DirectSum.decompose 𝒜) a
-- DirectSum.decomposeAlgEquiv_symm_apply
@[simp]
lemma decomposeAlgEquiv_symm_apply (a : ⨁ i, 𝒜 i) :
    (decomposeAlgEquiv 𝒜).symm a = (decompose 𝒜).symm a 
Arguments: {ι : Type u_1} {R : Type u_2} {A : Type u_3} [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A] (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (a : ⨁ (i : ι), ↥(𝒜 i))
Goal: (DirectSum.decomposeAlgEquiv 𝒜).symm a = (DirectSum.decompose 𝒜).symm a
-- DirectSum.decompose_algebraMap
@[simp]
lemma decompose_algebraMap (r : R) :
    decompose 𝒜 (algebraMap R A r) = algebraMap R (⨁ i, 𝒜 i) r 
Arguments: {ι : Type u_1} {R : Type u_2} {A : Type u_3} [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A] (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (r : R)
Goal: (DirectSum.decompose 𝒜) ((algebraMap R A) r) = (algebraMap R (⨁ (i : ι), ↥(𝒜 i))) r
-- DirectSum.decompose_symm_algebraMap
@[simp]
lemma decompose_symm_algebraMap (r : R) :
    (decompose 𝒜).symm (algebraMap R (⨁ i, 𝒜 i) r) = algebraMap R A r 
Arguments: {ι : Type u_1} {R : Type u_2} {A : Type u_3} [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A] (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (r : R)
Goal: (DirectSum.decompose 𝒜).symm ((algebraMap R (⨁ (i : ι), ↥(𝒜 i))) r) = (algebraMap R A) r
-- GradedAlgebra.proj_apply
@[simp]
theorem GradedAlgebra.proj_apply (i : ι) (r : A) :
    GradedAlgebra.proj 𝒜 i r = (decompose 𝒜 r : ⨁ i, 𝒜 i) i 
Arguments: {ι : Type u_1} {R : Type u_2} {A : Type u_3} [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A] (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (i : ι) (r : A)
Goal: (GradedAlgebra.proj 𝒜 i) r = ↑(((DirectSum.decompose 𝒜) r) i)
-- GradedAlgebra.proj_recompose
theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
    GradedAlgebra.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (of _ i (a i)) 
Arguments: {ι : Type u_1} {R : Type u_2} {A : Type u_3} [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A] (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (a : ⨁ (i : ι), ↥(𝒜 i)) (i : ι)
Goal: (GradedAlgebra.proj 𝒜 i) ((DirectSum.decompose 𝒜).symm a) =
  (DirectSum.decompose 𝒜).symm ((DirectSum.of (fun i => ↥(𝒜 i)) i) (a i))
-- GradedAlgebra.mem_support_iff
theorem GradedAlgebra.mem_support_iff [DecidableEq A] (r : A) (i : ι) :
    i ∈ (decompose 𝒜 r).support ↔ GradedAlgebra.proj 𝒜 i r ≠ 0 
Arguments: {ι : Type u_1} {R : Type u_2} {A : Type u_3} [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A] (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] [DecidableEq A] (r : A) (i : ι)
Goal: i ∈ DFinsupp.support ((DirectSum.decompose 𝒜) r) ↔ (GradedAlgebra.proj 𝒜 i) r ≠ 0
-- GradedRing.projZeroRingHom_apply
@[simps]
def GradedRing.projZeroRingHom : A →+* A 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (a : A)
Goal: (GradedRing.projZeroRingHom 𝒜) a = ↑(((DirectSum.decompose 𝒜) a) 0)
-- GradedRing.coe_projZeroRingHom'_apply
@[simp] lemma GradedRing.coe_projZeroRingHom'_apply (a : A) :
    (GradedRing.projZeroRingHom' 𝒜 a : A) = GradedRing.projZeroRingHom 𝒜 a 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (a : A)
Goal: ↑((GradedRing.projZeroRingHom' 𝒜) a) = (GradedRing.projZeroRingHom 𝒜) a
-- GradedRing.projZeroRingHom'_apply_coe
@[simp] lemma GradedRing.projZeroRingHom'_apply_coe (a : 𝒜 0) :
    GradedRing.projZeroRingHom' 𝒜 a = a 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] (a : ↥(𝒜 0))
Goal: (GradedRing.projZeroRingHom' 𝒜) ↑a = a
-- GradedRing.projZeroRingHom'_surjective
lemma GradedRing.projZeroRingHom'_surjective :
    Function.Surjective (GradedRing.projZeroRingHom' 𝒜) 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
Goal: Function.Surjective ⇑(GradedRing.projZeroRingHom' 𝒜)
-- DirectSum.coe_decompose_mul_of_left_mem_of_not_le
theorem coe_decompose_mul_of_left_mem_of_not_le (a_mem : a ∈ 𝒜 i) (h : ¬i ≤ n) :
    (decompose 𝒜 (a * b) n : A) = 0 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] {a b : A} {n i : ι} (a_mem : a ∈ 𝒜 i) (h : ¬i ≤ n)
Goal: ↑(((DirectSum.decompose 𝒜) (a * b)) n) = 0
-- DirectSum.coe_decompose_mul_of_right_mem_of_not_le
theorem coe_decompose_mul_of_right_mem_of_not_le (b_mem : b ∈ 𝒜 i) (h : ¬i ≤ n) :
    (decompose 𝒜 (a * b) n : A) = 0 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] {a b : A} {n i : ι} (b_mem : b ∈ 𝒜 i) (h : ¬i ≤ n)
Goal: ↑(((DirectSum.decompose 𝒜) (a * b)) n) = 0
-- DirectSum.coe_decompose_mul_of_left_mem_of_le
theorem coe_decompose_mul_of_left_mem_of_le (a_mem : a ∈ 𝒜 i) (h : i ≤ n) :
    (decompose 𝒜 (a * b) n : A) = a * decompose 𝒜 b (n - i) 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] {a b : A} {n i : ι} [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (a_mem : a ∈ 𝒜 i) (h : i ≤ n)
Goal: ↑(((DirectSum.decompose 𝒜) (a * b)) n) = a * ↑(((DirectSum.decompose 𝒜) b) (n - i))
-- DirectSum.coe_decompose_mul_of_right_mem_of_le
theorem coe_decompose_mul_of_right_mem_of_le (b_mem : b ∈ 𝒜 i) (h : i ≤ n) :
    (decompose 𝒜 (a * b) n : A) = decompose 𝒜 a (n - i) * b 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] {a b : A} {n i : ι} [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (b_mem : b ∈ 𝒜 i) (h : i ≤ n)
Goal: ↑(((DirectSum.decompose 𝒜) (a * b)) n) = ↑(((DirectSum.decompose 𝒜) a) (n - i)) * b
-- DirectSum.coe_decompose_mul_of_left_mem
theorem coe_decompose_mul_of_left_mem (n) [Decidable (i ≤ n)] (a_mem : a ∈ 𝒜 i) :
    (decompose 𝒜 (a * b) n : A) = if i ≤ n then a * decompose 𝒜 b (n - i) else 0 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] {a b : A} {i : ι} [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (n : ι) [Decidable (i ≤ n)] (a_mem : a ∈ 𝒜 i)
Goal: ↑(((DirectSum.decompose 𝒜) (a * b)) n) = if i ≤ n then a * ↑(((DirectSum.decompose 𝒜) b) (n - i)) else 0
-- DirectSum.coe_decompose_mul_of_right_mem
theorem coe_decompose_mul_of_right_mem (n) [Decidable (i ≤ n)] (b_mem : b ∈ 𝒜 i) :
    (decompose 𝒜 (a * b) n : A) = if i ≤ n then decompose 𝒜 a (n - i) * b else 0 
Arguments: {ι : Type u_1} {A : Type u_3} {σ : Type u_4} [Semiring A] [DecidableEq ι] [CanonicallyOrderedAddCommMonoid ι] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜] {a b : A} {i : ι} [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (n : ι) [Decidable (i ≤ n)] (b_mem : b ∈ 𝒜 i)
Goal: ↑(((DirectSum.decompose 𝒜) (a * b)) n) = if i ≤ n then ↑(((DirectSum.decompose 𝒜) a) (n - i)) * b else 0
-- LinearEquiv.isSMulRegular_congr'
lemma LinearEquiv.isSMulRegular_congr' [AddCommMonoid N] [Module S N]
    (e : M ≃ₛₗ[σ] N) (r : R) : IsSMulRegular M r ↔ IsSMulRegular N (σ r) 
Arguments: {R : Type u_3} {S : Type u_2} {M : Type u_4} {N : Type u_1} [Semiring R] [Semiring S] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ'] [RingHomInvPair σ' σ] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module S N] (e : M ≃ₛₗ[σ] N) (r : R)
Goal: IsSMulRegular M r ↔ IsSMulRegular N (σ r)
-- LinearEquiv.isSMulRegular_congr
lemma LinearEquiv.isSMulRegular_congr [AddCommMonoid N] [Module R N]
    (e : M ≃ₗ[R] N) (r : R) : IsSMulRegular M r ↔ IsSMulRegular N r 
Arguments: {R : Type u_2} {M : Type u_3} {N : Type u_1} [Semiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] (e : M ≃ₗ[R] N) (r : R)
Goal: IsSMulRegular M r ↔ IsSMulRegular N r
-- IsSMulRegular.submodule
lemma IsSMulRegular.submodule [Semiring R] [AddCommMonoid M] [Module R M]
    (N : Submodule R M) (r : R) (h : IsSMulRegular M r) : IsSMulRegular N r 
Arguments: {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (N : Submodule R M) (r : R) (h : IsSMulRegular M r)
Goal: IsSMulRegular (↥N) r
-- IsSMulRegular.lTensor
lemma IsSMulRegular.lTensor : IsSMulRegular (M ⊗[R] M') r 
Arguments: {R : Type u_1} (M : Type u_3) {M' : Type u_4} [CommRing R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] [Module.Flat R M] {r : R} (h : IsSMulRegular M' r)
Goal: IsSMulRegular (TensorProduct R M M') r
-- IsSMulRegular.rTensor
lemma IsSMulRegular.rTensor : IsSMulRegular (M' ⊗[R] M) r 
Arguments: {R : Type u_1} (M : Type u_3) {M' : Type u_4} [CommRing R] [AddCommGroup M] [AddCommGroup M'] [Module R M] [Module R M'] [Module.Flat R M] {r : R} (h : IsSMulRegular M' r)
Goal: IsSMulRegular (TensorProduct R M' M) r
-- isSMulRegular_algebraMap_iff
lemma isSMulRegular_algebraMap_iff [CommSemiring R] [Semiring S] [Algebra R S]
    [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] (r : R) :
    IsSMulRegular M (algebraMap R S r) ↔ IsSMulRegular M r 
Arguments: {R : Type u_1} {S : Type u_2} {M : Type u_3} [CommSemiring R] [Semiring S] [Algebra R S] [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] (r : R)
Goal: IsSMulRegular M ((algebraMap R S) r) ↔ IsSMulRegular M r