ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- GroupFilterBasis.inv
@[to_additive]
theorem inv {U : Set G} : U ∈ B → ∃ V ∈ B, V ⊆ (fun x ↦ x⁻¹) ⁻¹' U 
Arguments: {G : Type u} [Group G] {B : GroupFilterBasis G} {U : Set G}
Goal: U ∈ B → ∃ V ∈ B, V ⊆ (fun x => x⁻¹) ⁻¹' U
-- AddGroupFilterBasis.conj
@[to_additive]
theorem conj : ∀ x₀, ∀ {U}, U ∈ B → ∃ V ∈ B, V ⊆ (fun x ↦ x₀ * x * x₀⁻¹) ⁻¹' U 
Arguments: {G : Type u} [AddGroup G] {B : AddGroupFilterBasis G} (x₀ : G) {U : Set G}
Goal: U ∈ B → ∃ V ∈ B, V ⊆ (fun x => x₀ + x + -x₀) ⁻¹' U
-- GroupFilterBasis.conj
@[to_additive]
theorem conj : ∀ x₀, ∀ {U}, U ∈ B → ∃ V ∈ B, V ⊆ (fun x ↦ x₀ * x * x₀⁻¹) ⁻¹' U 
Arguments: {G : Type u} [Group G] {B : GroupFilterBasis G} (x₀ : G) {U : Set G}
Goal: U ∈ B → ∃ V ∈ B, V ⊆ (fun x => x₀ * x * x₀⁻¹) ⁻¹' U
-- AddGroupFilterBasis.subset_add_self
@[to_additive]
theorem subset_mul_self (B : GroupFilterBasis G) {U : Set G} (h : U ∈ B) : U ⊆ U * U 
Arguments: {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G) {U : Set G} (h : U ∈ B)
Goal: U ⊆ U + U
-- GroupFilterBasis.subset_mul_self
@[to_additive]
theorem subset_mul_self (B : GroupFilterBasis G) {U : Set G} (h : U ∈ B) : U ⊆ U * U 
Arguments: {G : Type u} [Group G] (B : GroupFilterBasis G) {U : Set G} (h : U ∈ B)
Goal: U ⊆ U * U
-- GroupFilterBasis.N_one
@[to_additive (attr := simp)]
theorem N_one (B : GroupFilterBasis G) : B.N 1 = B.toFilterBasis.filter 
Arguments: {G : Type u} [Group G] (B : GroupFilterBasis G)
Goal: B.N 1 = GroupFilterBasis.toFilterBasis.filter
-- AddGroupFilterBasis.N_zero
@[to_additive (attr := simp)]
theorem N_one (B : GroupFilterBasis G) : B.N 1 = B.toFilterBasis.filter 
Arguments: {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G)
Goal: B.N 0 = AddGroupFilterBasis.toFilterBasis.filter
-- GroupFilterBasis.hasBasis
@[to_additive]
protected theorem hasBasis (B : GroupFilterBasis G) (x : G) :
    HasBasis (B.N x) (fun V : Set G ↦ V ∈ B) fun V ↦ (fun y ↦ x * y) '' V 
Arguments: {G : Type u} [Group G] (B : GroupFilterBasis G) (x : G)
Goal: (B.N x).HasBasis (fun V => V ∈ B) fun V => (fun y => x * y) '' V
-- AddGroupFilterBasis.hasBasis
@[to_additive]
protected theorem hasBasis (B : GroupFilterBasis G) (x : G) :
    HasBasis (B.N x) (fun V : Set G ↦ V ∈ B) fun V ↦ (fun y ↦ x * y) '' V 
Arguments: {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G) (x : G)
Goal: (B.N x).HasBasis (fun V => V ∈ B) fun V => (fun y => x + y) '' V
-- AddGroupFilterBasis.nhds_eq
@[to_additive]
theorem nhds_eq (B : GroupFilterBasis G) {x₀ : G} : @nhds G B.topology x₀ = B.N x₀ 
Arguments: {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G) {x₀ : G}
Goal: 𝓝 x₀ = B.N x₀
-- GroupFilterBasis.nhds_eq
@[to_additive]
theorem nhds_eq (B : GroupFilterBasis G) {x₀ : G} : @nhds G B.topology x₀ = B.N x₀ 
Arguments: {G : Type u} [Group G] (B : GroupFilterBasis G) {x₀ : G}
Goal: 𝓝 x₀ = B.N x₀
-- GroupFilterBasis.nhds_one_eq
@[to_additive]
theorem nhds_one_eq (B : GroupFilterBasis G) :
    @nhds G B.topology (1 : G) = B.toFilterBasis.filter 
Arguments: {G : Type u} [Group G] (B : GroupFilterBasis G)
Goal: 𝓝 1 = GroupFilterBasis.toFilterBasis.filter
-- AddGroupFilterBasis.nhds_zero_eq
@[to_additive]
theorem nhds_one_eq (B : GroupFilterBasis G) :
    @nhds G B.topology (1 : G) = B.toFilterBasis.filter 
Arguments: {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G)
Goal: 𝓝 0 = AddGroupFilterBasis.toFilterBasis.filter
-- GroupFilterBasis.nhds_hasBasis
@[to_additive]
theorem nhds_hasBasis (B : GroupFilterBasis G) (x₀ : G) :
    HasBasis (@nhds G B.topology x₀) (fun V : Set G ↦ V ∈ B) fun V ↦ (fun y ↦ x₀ * y) '' V 
Arguments: {G : Type u} [Group G] (B : GroupFilterBasis G) (x₀ : G)
Goal: (𝓝 x₀).HasBasis (fun V => V ∈ B) fun V => (fun y => x₀ * y) '' V
-- AddGroupFilterBasis.nhds_hasBasis
@[to_additive]
theorem nhds_hasBasis (B : GroupFilterBasis G) (x₀ : G) :
    HasBasis (@nhds G B.topology x₀) (fun V : Set G ↦ V ∈ B) fun V ↦ (fun y ↦ x₀ * y) '' V 
Arguments: {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G) (x₀ : G)
Goal: (𝓝 x₀).HasBasis (fun V => V ∈ B) fun V => (fun y => x₀ + y) '' V
-- AddGroupFilterBasis.nhds_zero_hasBasis
@[to_additive]
theorem nhds_one_hasBasis (B : GroupFilterBasis G) :
    HasBasis (@nhds G B.topology 1) (fun V : Set G ↦ V ∈ B) id 
Arguments: {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G)
Goal: (𝓝 0).HasBasis (fun V => V ∈ B) id
-- GroupFilterBasis.nhds_one_hasBasis
@[to_additive]
theorem nhds_one_hasBasis (B : GroupFilterBasis G) :
    HasBasis (@nhds G B.topology 1) (fun V : Set G ↦ V ∈ B) id 
Arguments: {G : Type u} [Group G] (B : GroupFilterBasis G)
Goal: (𝓝 1).HasBasis (fun V => V ∈ B) id
-- GroupFilterBasis.mem_nhds_one
@[to_additive]
theorem mem_nhds_one (B : GroupFilterBasis G) {U : Set G} (hU : U ∈ B) :
    U ∈ @nhds G B.topology 1 
Arguments: {G : Type u} [Group G] (B : GroupFilterBasis G) {U : Set G} (hU : U ∈ B)
Goal: U ∈ 𝓝 1
-- AddGroupFilterBasis.mem_nhds_zero
@[to_additive]
theorem mem_nhds_one (B : GroupFilterBasis G) {U : Set G} (hU : U ∈ B) :
    U ∈ @nhds G B.topology 1 
Arguments: {G : Type u} [AddGroup G] (B : AddGroupFilterBasis G) {U : Set G} (hU : U ∈ B)
Goal: U ∈ 𝓝 0
-- RingFilterBasis.mul'
class RingFilterBasis (R : Type u) [Ring R] extends AddGroupFilterBasis R where
  mul' : ∀ {U}, U ∈ sets → ∃ V ∈ sets, V * V ⊆ U
  mul_left' : ∀ (x₀ : R) {U}, U ∈ sets → ∃ V ∈ sets, V ⊆ (fun x ↦ x₀ * x) ⁻¹' U
  mul_right' : ∀ (x₀ : R) {U}, U ∈ sets → ∃ V ∈ sets, V ⊆ (fun x ↦ x * x₀) ⁻¹' U
Arguments: {R : Type u} [Ring R] [self : RingFilterBasis R] {U : Set R}
Goal: U ∈ AddGroupFilterBasis.toFilterBasis.sets → ∃ V ∈ AddGroupFilterBasis.toFilterBasis.sets, V * V ⊆ U
-- RingFilterBasis.mul_right'
class RingFilterBasis (R : Type u) [Ring R] extends AddGroupFilterBasis R where
  mul' : ∀ {U}, U ∈ sets → ∃ V ∈ sets, V * V ⊆ U
  mul_left' : ∀ (x₀ : R) {U}, U ∈ sets → ∃ V ∈ sets, V ⊆ (fun x ↦ x₀ * x) ⁻¹' U
  mul_right' : ∀ (x₀ : R) {U}, U ∈ sets → ∃ V ∈ sets, V ⊆ (fun x ↦ x * x₀) ⁻¹' U
Arguments: {R : Type u} [Ring R] [self : RingFilterBasis R] (x₀ : R) {U : Set R}
Goal: U ∈ AddGroupFilterBasis.toFilterBasis.sets → ∃ V ∈ AddGroupFilterBasis.toFilterBasis.sets, V ⊆ (fun x => x * x₀) ⁻¹' U
-- RingFilterBasis.mul_left'
class RingFilterBasis (R : Type u) [Ring R] extends AddGroupFilterBasis R where
  mul' : ∀ {U}, U ∈ sets → ∃ V ∈ sets, V * V ⊆ U
  mul_left' : ∀ (x₀ : R) {U}, U ∈ sets → ∃ V ∈ sets, V ⊆ (fun x ↦ x₀ * x) ⁻¹' U
  mul_right' : ∀ (x₀ : R) {U}, U ∈ sets → ∃ V ∈ sets, V ⊆ (fun x ↦ x * x₀) ⁻¹' U
Arguments: {R : Type u} [Ring R] [self : RingFilterBasis R] (x₀ : R) {U : Set R}
Goal: U ∈ AddGroupFilterBasis.toFilterBasis.sets → ∃ V ∈ AddGroupFilterBasis.toFilterBasis.sets, V ⊆ (fun x => x₀ * x) ⁻¹' U
-- RingFilterBasis.mul
theorem mul {U : Set R} (hU : U ∈ B) : ∃ V ∈ B, V * V ⊆ U 
Arguments: {R : Type u} [Ring R] (B : RingFilterBasis R) {U : Set R} (hU : U ∈ B)
Goal: ∃ V ∈ B, V * V ⊆ U
-- RingFilterBasis.mul_left
theorem mul_left (x₀ : R) {U : Set R} (hU : U ∈ B) : ∃ V ∈ B, V ⊆ (fun x ↦ x₀ * x) ⁻¹' U 
Arguments: {R : Type u} [Ring R] (B : RingFilterBasis R) (x₀ : R) {U : Set R} (hU : U ∈ B)
Goal: ∃ V ∈ B, V ⊆ (fun x => x₀ * x) ⁻¹' U
-- RingFilterBasis.mul_right
theorem mul_right (x₀ : R) {U : Set R} (hU : U ∈ B) : ∃ V ∈ B, V ⊆ (fun x ↦ x * x₀) ⁻¹' U 
Arguments: {R : Type u} [Ring R] (B : RingFilterBasis R) (x₀ : R) {U : Set R} (hU : U ∈ B)
Goal: ∃ V ∈ B, V ⊆ (fun x => x * x₀) ⁻¹' U
-- ModuleFilterBasis.smul_left'
structure ModuleFilterBasis (R M : Type*) [CommRing R] [TopologicalSpace R] [AddCommGroup M]
  [Module R M] extends AddGroupFilterBasis M where
  smul' : ∀ {U}, U ∈ sets → ∃ V ∈ 𝓝 (0 : R), ∃ W ∈ sets, V • W ⊆ U
  smul_left' : ∀ (x₀ : R) {U}, U ∈ sets → ∃ V ∈ sets, V ⊆ (fun x ↦ x₀ • x) ⁻¹' U
  smul_right' : ∀ (m₀ : M) {U}, U ∈ sets → ∀ᶠ x in 𝓝 (0 : R), x • m₀ ∈ U
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] (self : ModuleFilterBasis R M) (x₀ : R) {U : Set M}
Goal: U ∈ AddGroupFilterBasis.toFilterBasis.sets → ∃ V ∈ AddGroupFilterBasis.toFilterBasis.sets, V ⊆ (fun x => x₀ • x) ⁻¹' U
-- ModuleFilterBasis.smul'
structure ModuleFilterBasis (R M : Type*) [CommRing R] [TopologicalSpace R] [AddCommGroup M]
  [Module R M] extends AddGroupFilterBasis M where
  smul' : ∀ {U}, U ∈ sets → ∃ V ∈ 𝓝 (0 : R), ∃ W ∈ sets, V • W ⊆ U
  smul_left' : ∀ (x₀ : R) {U}, U ∈ sets → ∃ V ∈ sets, V ⊆ (fun x ↦ x₀ • x) ⁻¹' U
  smul_right' : ∀ (m₀ : M) {U}, U ∈ sets → ∀ᶠ x in 𝓝 (0 : R), x • m₀ ∈ U
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] (self : ModuleFilterBasis R M) {U : Set M}
Goal: U ∈ AddGroupFilterBasis.toFilterBasis.sets → ∃ V ∈ 𝓝 0, ∃ W ∈ AddGroupFilterBasis.toFilterBasis.sets, V • W ⊆ U
-- ModuleFilterBasis.smul_right'
structure ModuleFilterBasis (R M : Type*) [CommRing R] [TopologicalSpace R] [AddCommGroup M]
  [Module R M] extends AddGroupFilterBasis M where
  smul' : ∀ {U}, U ∈ sets → ∃ V ∈ 𝓝 (0 : R), ∃ W ∈ sets, V • W ⊆ U
  smul_left' : ∀ (x₀ : R) {U}, U ∈ sets → ∃ V ∈ sets, V ⊆ (fun x ↦ x₀ • x) ⁻¹' U
  smul_right' : ∀ (m₀ : M) {U}, U ∈ sets → ∀ᶠ x in 𝓝 (0 : R), x • m₀ ∈ U
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] (self : ModuleFilterBasis R M) (m₀ : M) {U : Set M}
Goal: U ∈ AddGroupFilterBasis.toFilterBasis.sets → ∀ᶠ (x : R) in 𝓝 0, x • m₀ ∈ U
-- ModuleFilterBasis.smul
theorem smul {U : Set M} (hU : U ∈ B) : ∃ V ∈ 𝓝 (0 : R), ∃ W ∈ B, V • W ⊆ U 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] (B : ModuleFilterBasis R M) {U : Set M} (hU : U ∈ B)
Goal: ∃ V ∈ 𝓝 0, ∃ W ∈ B, V • W ⊆ U
-- ModuleFilterBasis.smul_left
theorem smul_left (x₀ : R) {U : Set M} (hU : U ∈ B) : ∃ V ∈ B, V ⊆ (fun x ↦ x₀ • x) ⁻¹' U 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] (B : ModuleFilterBasis R M) (x₀ : R) {U : Set M} (hU : U ∈ B)
Goal: ∃ V ∈ B, V ⊆ (fun x => x₀ • x) ⁻¹' U
-- ModuleFilterBasis.smul_right
theorem smul_right (m₀ : M) {U : Set M} (hU : U ∈ B) : ∀ᶠ x in 𝓝 (0 : R), x • m₀ ∈ U 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] (B : ModuleFilterBasis R M) (m₀ : M) {U : Set M} (hU : U ∈ B)
Goal: ∀ᶠ (x : R) in 𝓝 0, x • m₀ ∈ U
-- ContinuousSMul.of_basis_zero
theorem _root_.ContinuousSMul.of_basis_zero {ι : Type*} [TopologicalRing R] [TopologicalSpace M]
    [TopologicalAddGroup M] {p : ι → Prop} {b : ι → Set M} (h : HasBasis (𝓝 0) p b)
    (hsmul : ∀ {i}, p i → ∃ V ∈ 𝓝 (0 : R), ∃ j, p j ∧ V • b j ⊆ b i)
    (hsmul_left : ∀ (x₀ : R) {i}, p i → ∃ j, p j ∧ MapsTo (x₀ • ·) (b j) (b i))
    (hsmul_right : ∀ (m₀ : M) {i}, p i → ∀ᶠ x in 𝓝 (0 : R), x • m₀ ∈ b i) : ContinuousSMul R M 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [TopologicalSpace R] [AddCommGroup M] [Module R M] {ι : Type u_3} [TopologicalRing R] [TopologicalSpace M] [TopologicalAddGroup M] {p : ι → Prop} {b : ι → Set M} (h : (𝓝 0).HasBasis p b) (hsmul : ∀ {i : ι}, p i → ∃ V ∈ 𝓝 0, ∃ j, p j ∧ V • b j ⊆ b i) (hsmul_left : ∀ (x₀ : R) {i : ι}, p i → ∃ j, p j ∧ Set.MapsTo (fun x => x₀ • x) (b j) (b i)) (hsmul_right : ∀ (m₀ : M) {i : ι}, p i → ∀ᶠ (x : R) in 𝓝 0, x • m₀ ∈ b i)
Goal: ContinuousSMul R M
-- tsum_def
@[to_additive "`∑' i, f i` is the sum of `f` it exists, or 0 otherwise."]
noncomputable irreducible_def tprod {β} (f : β → α) 
Arguments: {α : Type u_4} [AddCommMonoid α] [TopologicalSpace α] {β : Type u_5} (f : β → α)
Goal: tsum f = if h : Summable f then if (Function.support f).Finite then finsum f else Exists.choose h else 0
-- tprod_def
@[to_additive "`∑' i, f i` is the sum of `f` it exists, or 0 otherwise."]
noncomputable irreducible_def tprod {β} (f : β → α) 
Arguments: {α : Type u_4} [CommMonoid α] [TopologicalSpace α] {β : Type u_5} (f : β → α)
Goal: tprod f = if h : Multipliable f then if (Function.mulSupport f).Finite then finprod f else Exists.choose h else 1
-- HasProd.multipliable
@[to_additive]
theorem HasProd.multipliable (h : HasProd f a) : Multipliable f 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} (h : HasProd f a)
Goal: Multipliable f
-- HasSum.summable
@[to_additive]
theorem HasProd.multipliable (h : HasProd f a) : Multipliable f 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} (h : HasSum f a)
Goal: Summable f
-- tprod_eq_one_of_not_multipliable
@[to_additive]
theorem tprod_eq_one_of_not_multipliable (h : ¬Multipliable f) : ∏' b, f b = 1 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] {f : β → α} (h : ¬Multipliable f)
Goal: ∏' (b : β), f b = 1
-- tsum_eq_zero_of_not_summable
@[to_additive]
theorem tprod_eq_one_of_not_multipliable (h : ¬Multipliable f) : ∏' b, f b = 1 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} (h : ¬Summable f)
Goal: ∑' (b : β), f b = 0
-- Function.Injective.hasSum_iff
@[to_additive]
theorem Function.Injective.hasProd_iff {g : γ → β} (hg : Injective g)
    (hf : ∀ x, x ∉ Set.range g → f x = 1) : HasProd (f ∘ g) a ↔ HasProd f a 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} {g : γ → β} (hg : Function.Injective g) (hf : ∀ x ∉ Set.range g, f x = 0)
Goal: HasSum (f ∘ g) a ↔ HasSum f a
-- Function.Injective.hasProd_iff
@[to_additive]
theorem Function.Injective.hasProd_iff {g : γ → β} (hg : Injective g)
    (hf : ∀ x, x ∉ Set.range g → f x = 1) : HasProd (f ∘ g) a ↔ HasProd f a 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [CommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} {g : γ → β} (hg : Function.Injective g) (hf : ∀ x ∉ Set.range g, f x = 1)
Goal: HasProd (f ∘ g) a ↔ HasProd f a
-- hasSum_subtype_iff_of_support_subset
@[to_additive]
theorem hasProd_subtype_iff_of_mulSupport_subset {s : Set β} (hf : mulSupport f ⊆ s) :
    HasProd (f ∘ (↑) : s → α) a ↔ HasProd f a 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} {s : Set β} (hf : Function.support f ⊆ s)
Goal: HasSum (f ∘ Subtype.val) a ↔ HasSum f a
-- hasProd_subtype_iff_of_mulSupport_subset
@[to_additive]
theorem hasProd_subtype_iff_of_mulSupport_subset {s : Set β} (hf : mulSupport f ⊆ s) :
    HasProd (f ∘ (↑) : s → α) a ↔ HasProd f a 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} {s : Set β} (hf : Function.mulSupport f ⊆ s)
Goal: HasProd (f ∘ Subtype.val) a ↔ HasProd f a
-- hasSum_fintype
@[to_additive]
theorem hasProd_fintype [Fintype β] (f : β → α) : HasProd f (∏ b, f b) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] [Fintype β] (f : β → α)
Goal: HasSum f (∑ b : β, f b)
-- hasProd_fintype
@[to_additive]
theorem hasProd_fintype [Fintype β] (f : β → α) : HasProd f (∏ b, f b) 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] [Fintype β] (f : β → α)
Goal: HasProd f (∏ b : β, f b)
-- Finset.hasSum
@[to_additive]
protected theorem Finset.hasProd (s : Finset β) (f : β → α) :
    HasProd (f ∘ (↑) : (↑s : Set β) → α) (∏ b ∈ s, f b) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] (s : Finset β) (f : β → α)
Goal: HasSum (f ∘ Subtype.val) (∑ b ∈ s, f b)
-- Finset.hasProd
@[to_additive]
protected theorem Finset.hasProd (s : Finset β) (f : β → α) :
    HasProd (f ∘ (↑) : (↑s : Set β) → α) (∏ b ∈ s, f b) 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] (s : Finset β) (f : β → α)
Goal: HasProd (f ∘ Subtype.val) (∏ b ∈ s, f b)
-- hasSum_sum_of_ne_finset_zero
@[to_additive "If a function `f` vanishes outside of a finite set `s`, then it `HasSum`
`∑ b ∈ s, f b`."]
theorem hasProd_prod_of_ne_finset_one (hf : ∀ b ∉ s, f b = 1) :
    HasProd f (∏ b ∈ s, f b) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {s : Finset β} (hf : ∀ b ∉ s, f b = 0)
Goal: HasSum f (∑ b ∈ s, f b)
-- hasProd_prod_of_ne_finset_one
@[to_additive "If a function `f` vanishes outside of a finite set `s`, then it `HasSum`
`∑ b ∈ s, f b`."]
theorem hasProd_prod_of_ne_finset_one (hf : ∀ b ∉ s, f b = 1) :
    HasProd f (∏ b ∈ s, f b) 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] {f : β → α} {s : Finset β} (hf : ∀ b ∉ s, f b = 1)
Goal: HasProd f (∏ b ∈ s, f b)
-- summable_of_ne_finset_zero
@[to_additive]
theorem multipliable_of_ne_finset_one (hf : ∀ b ∉ s, f b = 1) : Multipliable f 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {s : Finset β} (hf : ∀ b ∉ s, f b = 0)
Goal: Summable f
-- multipliable_of_ne_finset_one
@[to_additive]
theorem multipliable_of_ne_finset_one (hf : ∀ b ∉ s, f b = 1) : Multipliable f 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] {f : β → α} {s : Finset β} (hf : ∀ b ∉ s, f b = 1)
Goal: Multipliable f
-- Summable.hasSum
@[to_additive]
theorem Multipliable.hasProd (ha : Multipliable f) : HasProd f (∏' b, f b) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} (ha : Summable f)
Goal: HasSum f (∑' (b : β), f b)
-- Multipliable.hasProd
@[to_additive]
theorem Multipliable.hasProd (ha : Multipliable f) : HasProd f (∏' b, f b) 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] {f : β → α} (ha : Multipliable f)
Goal: HasProd f (∏' (b : β), f b)
-- HasProd.unique
@[to_additive]
theorem HasProd.unique {a₁ a₂ : α} [T2Space α] : HasProd f a₁ → HasProd f a₂ → a₁ = a₂ 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] {f : β → α} {a₁ a₂ : α} [T2Space α]
Goal: HasProd f a₁ → HasProd f a₂ → a₁ = a₂
-- HasSum.unique
@[to_additive]
theorem HasProd.unique {a₁ a₂ : α} [T2Space α] : HasProd f a₁ → HasProd f a₂ → a₁ = a₂ 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {a₁ a₂ : α} [T2Space α]
Goal: HasSum f a₁ → HasSum f a₂ → a₁ = a₂
-- HasProd.tprod_eq
@[to_additive]
theorem HasProd.tprod_eq (ha : HasProd f a) : ∏' b, f b = a 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} [T2Space α] (ha : HasProd f a)
Goal: ∏' (b : β), f b = a
-- HasSum.tsum_eq
@[to_additive]
theorem HasProd.tprod_eq (ha : HasProd f a) : ∏' b, f b = a 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} [T2Space α] (ha : HasSum f a)
Goal: ∑' (b : β), f b = a
-- Summable.hasSum_iff
@[to_additive]
theorem Multipliable.hasProd_iff (h : Multipliable f) : HasProd f a ↔ ∏' b, f b = a 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} [T2Space α] (h : Summable f)
Goal: HasSum f a ↔ ∑' (b : β), f b = a
-- Multipliable.hasProd_iff
@[to_additive]
theorem Multipliable.hasProd_iff (h : Multipliable f) : HasProd f a ↔ ∏' b, f b = a 
Arguments: {α : Type u_1} {β : Type u_2} [CommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} [T2Space α] (h : Multipliable f)
Goal: HasProd f a ↔ ∏' (b : β), f b = a
-- HasSum.mul_left
theorem HasSum.mul_left (a₂) (h : HasSum f a₁) : HasSum (fun i ↦ a₂ * f i) (a₂ * a₁) 
Arguments: {ι : Type u_1} {α : Type u_4} [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a₁ : α} (a₂ : α) (h : HasSum f a₁)
Goal: HasSum (fun i => a₂ * f i) (a₂ * a₁)
-- HasSum.mul_right
theorem HasSum.mul_right (a₂) (hf : HasSum f a₁) : HasSum (fun i ↦ f i * a₂) (a₁ * a₂) 
Arguments: {ι : Type u_1} {α : Type u_4} [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a₁ : α} (a₂ : α) (hf : HasSum f a₁)
Goal: HasSum (fun i => f i * a₂) (a₁ * a₂)
-- Summable.mul_left
theorem Summable.mul_left (a) (hf : Summable f) : Summable fun i ↦ a * f i 
Arguments: {ι : Type u_1} {α : Type u_4} [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} (a : α) (hf : Summable f)
Goal: Summable fun i => a * f i
-- Summable.mul_right
theorem Summable.mul_right (a) (hf : Summable f) : Summable fun i ↦ f i * a 
Arguments: {ι : Type u_1} {α : Type u_4} [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} (a : α) (hf : Summable f)
Goal: Summable fun i => f i * a
-- Summable.tsum_mul_left
theorem Summable.tsum_mul_left (a) (hf : Summable f) : ∑' i, a * f i = a * ∑' i, f i 
Arguments: {ι : Type u_1} {α : Type u_4} [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} [T2Space α] (a : α) (hf : Summable f)
Goal: ∑' (i : ι), a * f i = a * ∑' (i : ι), f i
-- Summable.tsum_mul_right
theorem Summable.tsum_mul_right (a) (hf : Summable f) : ∑' i, f i * a = (∑' i, f i) * a 
Arguments: {ι : Type u_1} {α : Type u_4} [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} [T2Space α] (a : α) (hf : Summable f)
Goal: ∑' (i : ι), f i * a = (∑' (i : ι), f i) * a
-- Commute.tsum_right
theorem Commute.tsum_right (a) (h : ∀ i, Commute a (f i)) : Commute a (∑' i, f i) 
Arguments: {ι : Type u_1} {α : Type u_4} [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} [T2Space α] (a : α) (h : ∀ (i : ι), Commute a (f i))
Goal: Commute a (∑' (i : ι), f i)
-- Commute.tsum_left
theorem Commute.tsum_left (a) (h : ∀ i, Commute (f i) a) : Commute (∑' i, f i) a 
Arguments: {ι : Type u_1} {α : Type u_4} [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} [T2Space α] (a : α) (h : ∀ (i : ι), Commute (f i) a)
Goal: Commute (∑' (i : ι), f i) a
-- HasSum.div_const
theorem HasSum.div_const (h : HasSum f a) (b : α) : HasSum (fun i ↦ f i / b) (a / b) 
Arguments: {ι : Type u_1} {α : Type u_4} [DivisionSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a : α} (h : HasSum f a) (b : α)
Goal: HasSum (fun i => f i / b) (a / b)
-- Summable.div_const
theorem Summable.div_const (h : Summable f) (b : α) : Summable fun i ↦ f i / b 
Arguments: {ι : Type u_1} {α : Type u_4} [DivisionSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} (h : Summable f) (b : α)
Goal: Summable fun i => f i / b
-- hasSum_mul_left_iff
theorem hasSum_mul_left_iff (h : a₂ ≠ 0) : HasSum (fun i ↦ a₂ * f i) (a₂ * a₁) ↔ HasSum f a₁ 
Arguments: {ι : Type u_1} {α : Type u_4} [DivisionSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a₁ a₂ : α} (h : a₂ ≠ 0)
Goal: HasSum (fun i => a₂ * f i) (a₂ * a₁) ↔ HasSum f a₁
-- hasSum_mul_right_iff
theorem hasSum_mul_right_iff (h : a₂ ≠ 0) : HasSum (fun i ↦ f i * a₂) (a₁ * a₂) ↔ HasSum f a₁ 
Arguments: {ι : Type u_1} {α : Type u_4} [DivisionSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a₁ a₂ : α} (h : a₂ ≠ 0)
Goal: HasSum (fun i => f i * a₂) (a₁ * a₂) ↔ HasSum f a₁
-- hasSum_div_const_iff
theorem hasSum_div_const_iff (h : a₂ ≠ 0) : HasSum (fun i ↦ f i / a₂) (a₁ / a₂) ↔ HasSum f a₁ 
Arguments: {ι : Type u_1} {α : Type u_4} [DivisionSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a₁ a₂ : α} (h : a₂ ≠ 0)
Goal: HasSum (fun i => f i / a₂) (a₁ / a₂) ↔ HasSum f a₁
-- summable_mul_left_iff
theorem summable_mul_left_iff (h : a ≠ 0) : (Summable fun i ↦ a * f i) ↔ Summable f 
Arguments: {ι : Type u_1} {α : Type u_4} [DivisionSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a : α} (h : a ≠ 0)
Goal: (Summable fun i => a * f i) ↔ Summable f
-- summable_mul_right_iff
theorem summable_mul_right_iff (h : a ≠ 0) : (Summable fun i ↦ f i * a) ↔ Summable f 
Arguments: {ι : Type u_1} {α : Type u_4} [DivisionSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a : α} (h : a ≠ 0)
Goal: (Summable fun i => f i * a) ↔ Summable f
-- summable_div_const_iff
theorem summable_div_const_iff (h : a ≠ 0) : (Summable fun i ↦ f i / a) ↔ Summable f 
Arguments: {ι : Type u_1} {α : Type u_4} [DivisionSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a : α} (h : a ≠ 0)
Goal: (Summable fun i => f i / a) ↔ Summable f
-- tsum_mul_left
theorem tsum_mul_left [T2Space α] : ∑' x, a * f x = a * ∑' x, f x 
Arguments: {ι : Type u_1} {α : Type u_4} [DivisionSemiring α] [TopologicalSpace α] [TopologicalSemiring α] {f : ι → α} {a : α} [T2Space α]
Goal: ∑' (x : ι), a * f x = a * ∑' (x : ι), f x