ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- UniformOnFun.hasBasis_nhds_zero_of_basis
@[to_additive]
protected theorem UniformOnFun.hasBasis_nhds_one_of_basis (𝔖 : Set <| Set α) (h𝔖₁ : 𝔖.Nonempty)
    (h𝔖₂ : DirectedOn (· ⊆ ·) 𝔖) {p : ι → Prop} {b : ι → Set G}
    (h : (𝓝 1 : Filter G).HasBasis p b) :
    (𝓝 1 : Filter (α →ᵤ[𝔖] G)).HasBasis (fun Si : Set α × ι => Si.1 ∈ 𝔖 ∧ p Si.2) fun Si =>
      { f : α →ᵤ[𝔖] G | ∀ x ∈ Si.1, toFun 𝔖 f x ∈ b Si.2 } 
Arguments: {α : Type u_1} {G : Type u_2} {ι : Type u_3} [AddGroup G] [UniformSpace G] [UniformAddGroup G] (𝔖 : Set (Set α)) (h𝔖₁ : 𝔖.Nonempty) (h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖) {p : ι → Prop} {b : ι → Set G} (h : (𝓝 0).HasBasis p b)
Goal: (𝓝 0).HasBasis (fun Si => Si.1 ∈ 𝔖 ∧ p Si.2) fun Si => {f | ∀ x ∈ Si.1, (UniformOnFun.toFun 𝔖) f x ∈ b Si.2}
-- UniformOnFun.hasBasis_nhds_one_of_basis
@[to_additive]
protected theorem UniformOnFun.hasBasis_nhds_one_of_basis (𝔖 : Set <| Set α) (h𝔖₁ : 𝔖.Nonempty)
    (h𝔖₂ : DirectedOn (· ⊆ ·) 𝔖) {p : ι → Prop} {b : ι → Set G}
    (h : (𝓝 1 : Filter G).HasBasis p b) :
    (𝓝 1 : Filter (α →ᵤ[𝔖] G)).HasBasis (fun Si : Set α × ι => Si.1 ∈ 𝔖 ∧ p Si.2) fun Si =>
      { f : α →ᵤ[𝔖] G | ∀ x ∈ Si.1, toFun 𝔖 f x ∈ b Si.2 } 
Arguments: {α : Type u_1} {G : Type u_2} {ι : Type u_3} [Group G] [UniformSpace G] [UniformGroup G] (𝔖 : Set (Set α)) (h𝔖₁ : 𝔖.Nonempty) (h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖) {p : ι → Prop} {b : ι → Set G} (h : (𝓝 1).HasBasis p b)
Goal: (𝓝 1).HasBasis (fun Si => Si.1 ∈ 𝔖 ∧ p Si.2) fun Si => {f | ∀ x ∈ Si.1, (UniformOnFun.toFun 𝔖) f x ∈ b Si.2}
-- UniformOnFun.hasBasis_nhds_one
@[to_additive]
protected theorem UniformOnFun.hasBasis_nhds_one (𝔖 : Set <| Set α) (h𝔖₁ : 𝔖.Nonempty)
    (h𝔖₂ : DirectedOn (· ⊆ ·) 𝔖) :
    (𝓝 1 : Filter (α →ᵤ[𝔖] G)).HasBasis
      (fun SV : Set α × Set G => SV.1 ∈ 𝔖 ∧ SV.2 ∈ (𝓝 1 : Filter G)) fun SV =>
      { f : α →ᵤ[𝔖] G | ∀ x ∈ SV.1, f x ∈ SV.2 } 
Arguments: {α : Type u_1} {G : Type u_2} [Group G] [UniformSpace G] [UniformGroup G] (𝔖 : Set (Set α)) (h𝔖₁ : 𝔖.Nonempty) (h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖)
Goal: (𝓝 1).HasBasis (fun SV => SV.1 ∈ 𝔖 ∧ SV.2 ∈ 𝓝 1) fun SV => {f | ∀ x ∈ SV.1, f x ∈ SV.2}
-- UniformOnFun.hasBasis_nhds_zero
@[to_additive]
protected theorem UniformOnFun.hasBasis_nhds_one (𝔖 : Set <| Set α) (h𝔖₁ : 𝔖.Nonempty)
    (h𝔖₂ : DirectedOn (· ⊆ ·) 𝔖) :
    (𝓝 1 : Filter (α →ᵤ[𝔖] G)).HasBasis
      (fun SV : Set α × Set G => SV.1 ∈ 𝔖 ∧ SV.2 ∈ (𝓝 1 : Filter G)) fun SV =>
      { f : α →ᵤ[𝔖] G | ∀ x ∈ SV.1, f x ∈ SV.2 } 
Arguments: {α : Type u_1} {G : Type u_2} [AddGroup G] [UniformSpace G] [UniformAddGroup G] (𝔖 : Set (Set α)) (h𝔖₁ : 𝔖.Nonempty) (h𝔖₂ : DirectedOn (fun x x_1 => x ⊆ x_1) 𝔖)
Goal: (𝓝 0).HasBasis (fun SV => SV.1 ∈ 𝔖 ∧ SV.2 ∈ 𝓝 0) fun SV => {f | ∀ x ∈ SV.1, f x ∈ SV.2}
-- HasProd.tendsto_prod_nat
@[to_additive "If `f : ℕ → M` has sum `m`, then the partial sums `∑ i ∈ range n, f i` converge
to `m`."]
theorem tendsto_prod_nat {f : ℕ → M} (h : HasProd f m) :
    Tendsto (fun n ↦ ∏ i ∈ range n, f i) atTop (𝓝 m) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {m : M} {f : ℕ → M} (h : HasProd f m)
Goal: Filter.Tendsto (fun n => ∏ i ∈ Finset.range n, f i) Filter.atTop (𝓝 m)
-- HasSum.tendsto_sum_nat
@[to_additive "If `f : ℕ → M` has sum `m`, then the partial sums `∑ i ∈ range n, f i` converge
to `m`."]
theorem tendsto_prod_nat {f : ℕ → M} (h : HasProd f m) :
    Tendsto (fun n ↦ ∏ i ∈ range n, f i) atTop (𝓝 m) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {m : M} {f : ℕ → M} (h : HasSum f m)
Goal: Filter.Tendsto (fun n => ∑ i ∈ Finset.range n, f i) Filter.atTop (𝓝 m)
-- HasProd.Multipliable.tendsto_prod_tprod_nat
@[to_additive "If `f : ℕ → M` is summable, then the partial sums `∑ i ∈ range n, f i` converge
to `∑' i, f i`."]
theorem Multipliable.tendsto_prod_tprod_nat {f : ℕ → M} (h : Multipliable f) :
    Tendsto (fun n ↦ ∏ i ∈ range n, f i) atTop (𝓝 (∏' i, f i)) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {f : ℕ → M} (h : Multipliable f)
Goal: Filter.Tendsto (fun n => ∏ i ∈ Finset.range n, f i) Filter.atTop (𝓝 (∏' (i : ℕ), f i))
-- HasSum.Multipliable.tendsto_sum_tsum_nat
@[to_additive "If `f : ℕ → M` is summable, then the partial sums `∑ i ∈ range n, f i` converge
to `∑' i, f i`."]
theorem Multipliable.tendsto_prod_tprod_nat {f : ℕ → M} (h : Multipliable f) :
    Tendsto (fun n ↦ ∏ i ∈ range n, f i) atTop (𝓝 (∏' i, f i)) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {f : ℕ → M} (h : Summable f)
Goal: Filter.Tendsto (fun n => ∑ i ∈ Finset.range n, f i) Filter.atTop (𝓝 (∑' (i : ℕ), f i))
-- HasSum.sum_range_add
@[to_additive]
theorem prod_range_mul {f : ℕ → M} {k : ℕ} (h : HasProd (fun n ↦ f (n + k)) m) :
    HasProd f ((∏ i ∈ range k, f i) * m) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {m : M} [ContinuousAdd M] {f : ℕ → M} {k : ℕ} (h : HasSum (fun n => f (n + k)) m)
Goal: HasSum f (∑ i ∈ Finset.range k, f i + m)
-- HasProd.prod_range_mul
@[to_additive]
theorem prod_range_mul {f : ℕ → M} {k : ℕ} (h : HasProd (fun n ↦ f (n + k)) m) :
    HasProd f ((∏ i ∈ range k, f i) * m) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {m : M} [ContinuousMul M] {f : ℕ → M} {k : ℕ} (h : HasProd (fun n => f (n + k)) m)
Goal: HasProd f ((∏ i ∈ Finset.range k, f i) * m)
-- HasProd.zero_mul
@[to_additive]
theorem zero_mul {f : ℕ → M} (h : HasProd (fun n ↦ f (n + 1)) m) :
    HasProd f (f 0 * m) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {m : M} [ContinuousMul M] {f : ℕ → M} (h : HasProd (fun n => f (n + 1)) m)
Goal: HasProd f (f 0 * m)
-- HasSum.zero_add
@[to_additive]
theorem zero_mul {f : ℕ → M} (h : HasProd (fun n ↦ f (n + 1)) m) :
    HasProd f (f 0 * m) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {m : M} [ContinuousAdd M] {f : ℕ → M} (h : HasSum (fun n => f (n + 1)) m)
Goal: HasSum f (f 0 + m)
-- HasSum.even_add_odd
@[to_additive]
theorem even_mul_odd {f : ℕ → M} (he : HasProd (fun k ↦ f (2 * k)) m)
    (ho : HasProd (fun k ↦ f (2 * k + 1)) m') : HasProd f (m * m') 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {m m' : M} [ContinuousAdd M] {f : ℕ → M} (he : HasSum (fun k => f (2 * k)) m) (ho : HasSum (fun k => f (2 * k + 1)) m')
Goal: HasSum f (m + m')
-- HasProd.even_mul_odd
@[to_additive]
theorem even_mul_odd {f : ℕ → M} (he : HasProd (fun k ↦ f (2 * k)) m)
    (ho : HasProd (fun k ↦ f (2 * k + 1)) m') : HasProd f (m * m') 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {m m' : M} [ContinuousMul M] {f : ℕ → M} (he : HasProd (fun k => f (2 * k)) m) (ho : HasProd (fun k => f (2 * k + 1)) m')
Goal: HasProd f (m * m')
-- Multipliable.hasProd_iff_tendsto_nat
@[to_additive]
theorem hasProd_iff_tendsto_nat [T2Space M] {f : ℕ → M} (hf : Multipliable f) :
    HasProd f m ↔ Tendsto (fun n : ℕ ↦ ∏ i ∈ range n, f i) atTop (𝓝 m) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {m : M} [T2Space M] {f : ℕ → M} (hf : Multipliable f)
Goal: HasProd f m ↔ Filter.Tendsto (fun n => ∏ i ∈ Finset.range n, f i) Filter.atTop (𝓝 m)
-- Summable.hasSum_iff_tendsto_nat
@[to_additive]
theorem hasProd_iff_tendsto_nat [T2Space M] {f : ℕ → M} (hf : Multipliable f) :
    HasProd f m ↔ Tendsto (fun n : ℕ ↦ ∏ i ∈ range n, f i) atTop (𝓝 m) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {m : M} [T2Space M] {f : ℕ → M} (hf : Summable f)
Goal: HasSum f m ↔ Filter.Tendsto (fun n => ∑ i ∈ Finset.range n, f i) Filter.atTop (𝓝 m)
-- Summable.comp_nat_add
@[to_additive]
theorem comp_nat_add {f : ℕ → M} {k : ℕ} (h : Multipliable fun n ↦ f (n + k)) : Multipliable f 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] [ContinuousAdd M] {f : ℕ → M} {k : ℕ} (h : Summable fun n => f (n + k))
Goal: Summable f
-- Multipliable.comp_nat_add
@[to_additive]
theorem comp_nat_add {f : ℕ → M} {k : ℕ} (h : Multipliable fun n ↦ f (n + k)) : Multipliable f 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] [ContinuousMul M] {f : ℕ → M} {k : ℕ} (h : Multipliable fun n => f (n + k))
Goal: Multipliable f
-- Multipliable.even_mul_odd
@[to_additive]
theorem even_mul_odd {f : ℕ → M} (he : Multipliable fun k ↦ f (2 * k))
    (ho : Multipliable fun k ↦ f (2 * k + 1)) : Multipliable f 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] [ContinuousMul M] {f : ℕ → M} (he : Multipliable fun k => f (2 * k)) (ho : Multipliable fun k => f (2 * k + 1))
Goal: Multipliable f
-- Summable.even_add_odd
@[to_additive]
theorem even_mul_odd {f : ℕ → M} (he : Multipliable fun k ↦ f (2 * k))
    (ho : Multipliable fun k ↦ f (2 * k + 1)) : Multipliable f 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] [ContinuousAdd M] {f : ℕ → M} (he : Summable fun k => f (2 * k)) (ho : Summable fun k => f (2 * k + 1))
Goal: Summable f
-- tsum_iSup_decode₂
@[to_additive "You can compute a sum over an encodable type by summing over the natural numbers and
  taking a supremum. This is useful for outer measures."]
theorem tprod_iSup_decode₂ [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (s : β → α) :
    ∏' i : ℕ, m (⨆ b ∈ decode₂ β i, s b) = ∏' b : β, m (s b) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {α : Type u_3} {β : Type u_4} [Encodable β] [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 0) (s : β → α)
Goal: ∑' (i : ℕ), m (⨆ b ∈ Encodable.decode₂ β i, s b) = ∑' (b : β), m (s b)
-- tprod_iSup_decode₂
@[to_additive "You can compute a sum over an encodable type by summing over the natural numbers and
  taking a supremum. This is useful for outer measures."]
theorem tprod_iSup_decode₂ [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (s : β → α) :
    ∏' i : ℕ, m (⨆ b ∈ decode₂ β i, s b) = ∏' b : β, m (s b) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {α : Type u_3} {β : Type u_4} [Encodable β] [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (s : β → α)
Goal: ∏' (i : ℕ), m (⨆ b ∈ Encodable.decode₂ β i, s b) = ∏' (b : β), m (s b)
-- tprod_iUnion_decode₂
@[to_additive "`tsum_iSup_decode₂` specialized to the complete lattice of sets."]
theorem tprod_iUnion_decode₂ (m : Set α → M) (m0 : m ∅ = 1) (s : β → Set α) :
    ∏' i, m (⋃ b ∈ decode₂ β i, s b) = ∏' b, m (s b) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {α : Type u_3} {β : Type u_4} [Encodable β] (m : Set α → M) (m0 : m ∅ = 1) (s : β → Set α)
Goal: ∏' (i : ℕ), m (⋃ b ∈ Encodable.decode₂ β i, s b) = ∏' (b : β), m (s b)
-- tsum_iUnion_decode₂
@[to_additive "`tsum_iSup_decode₂` specialized to the complete lattice of sets."]
theorem tprod_iUnion_decode₂ (m : Set α → M) (m0 : m ∅ = 1) (s : β → Set α) :
    ∏' i, m (⋃ b ∈ decode₂ β i, s b) = ∏' b, m (s b) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {α : Type u_3} {β : Type u_4} [Encodable β] (m : Set α → M) (m0 : m ∅ = 0) (s : β → Set α)
Goal: ∑' (i : ℕ), m (⋃ b ∈ Encodable.decode₂ β i, s b) = ∑' (b : β), m (s b)
-- rel_iSup_tprod
@[to_additive "If a function is countably sub-additive then it is sub-additive on countable types"]
theorem rel_iSup_tprod [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (R : M → M → Prop)
    (m_iSup : ∀ s : ℕ → α, R (m (⨆ i, s i)) (∏' i, m (s i))) (s : β → α) :
    R (m (⨆ b : β, s b)) (∏' b : β, m (s b)) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {α : Type u_3} {β : Type u_4} [Countable β] [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (R : M → M → Prop) (m_iSup : ∀ (s : ℕ → α), R (m (⨆ i, s i)) (∏' (i : ℕ), m (s i))) (s : β → α)
Goal: R (m (⨆ b, s b)) (∏' (b : β), m (s b))
-- rel_iSup_tsum
@[to_additive "If a function is countably sub-additive then it is sub-additive on countable types"]
theorem rel_iSup_tprod [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (R : M → M → Prop)
    (m_iSup : ∀ s : ℕ → α, R (m (⨆ i, s i)) (∏' i, m (s i))) (s : β → α) :
    R (m (⨆ b : β, s b)) (∏' b : β, m (s b)) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {α : Type u_3} {β : Type u_4} [Countable β] [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 0) (R : M → M → Prop) (m_iSup : ∀ (s : ℕ → α), R (m (⨆ i, s i)) (∑' (i : ℕ), m (s i))) (s : β → α)
Goal: R (m (⨆ b, s b)) (∑' (b : β), m (s b))
-- rel_iSup_sum
@[to_additive "If a function is countably sub-additive then it is sub-additive on finite sets"]
theorem rel_iSup_prod [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (R : M → M → Prop)
    (m_iSup : ∀ s : ℕ → α, R (m (⨆ i, s i)) (∏' i, m (s i))) (s : γ → α) (t : Finset γ) :
    R (m (⨆ d ∈ t, s d)) (∏ d ∈ t, m (s d)) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {α : Type u_3} {γ : Type u_5} [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 0) (R : M → M → Prop) (m_iSup : ∀ (s : ℕ → α), R (m (⨆ i, s i)) (∑' (i : ℕ), m (s i))) (s : γ → α) (t : Finset γ)
Goal: R (m (⨆ d ∈ t, s d)) (∑ d ∈ t, m (s d))
-- rel_iSup_prod
@[to_additive "If a function is countably sub-additive then it is sub-additive on finite sets"]
theorem rel_iSup_prod [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (R : M → M → Prop)
    (m_iSup : ∀ s : ℕ → α, R (m (⨆ i, s i)) (∏' i, m (s i))) (s : γ → α) (t : Finset γ) :
    R (m (⨆ d ∈ t, s d)) (∏ d ∈ t, m (s d)) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {α : Type u_3} {γ : Type u_5} [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (R : M → M → Prop) (m_iSup : ∀ (s : ℕ → α), R (m (⨆ i, s i)) (∏' (i : ℕ), m (s i))) (s : γ → α) (t : Finset γ)
Goal: R (m (⨆ d ∈ t, s d)) (∏ d ∈ t, m (s d))
-- rel_sup_add
@[to_additive "If a function is countably sub-additive then it is binary sub-additive"]
theorem rel_sup_mul [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (R : M → M → Prop)
    (m_iSup : ∀ s : ℕ → α, R (m (⨆ i, s i)) (∏' i, m (s i))) (s₁ s₂ : α) :
    R (m (s₁ ⊔ s₂)) (m s₁ * m s₂) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] {α : Type u_3} [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 0) (R : M → M → Prop) (m_iSup : ∀ (s : ℕ → α), R (m (⨆ i, s i)) (∑' (i : ℕ), m (s i))) (s₁ s₂ : α)
Goal: R (m (s₁ ⊔ s₂)) (m s₁ + m s₂)
-- rel_sup_mul
@[to_additive "If a function is countably sub-additive then it is binary sub-additive"]
theorem rel_sup_mul [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (R : M → M → Prop)
    (m_iSup : ∀ s : ℕ → α, R (m (⨆ i, s i)) (∏' i, m (s i))) (s₁ s₂ : α) :
    R (m (s₁ ⊔ s₂)) (m s₁ * m s₂) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] {α : Type u_3} [CompleteLattice α] (m : α → M) (m0 : m ⊥ = 1) (R : M → M → Prop) (m_iSup : ∀ (s : ℕ → α), R (m (⨆ i, s i)) (∏' (i : ℕ), m (s i))) (s₁ s₂ : α)
Goal: R (m (s₁ ⊔ s₂)) (m s₁ * m s₂)
-- prod_mul_tprod_nat_mul'
@[to_additive]
theorem prod_mul_tprod_nat_mul'
    {f : ℕ → M} {k : ℕ} (h : Multipliable (fun n ↦ f (n + k))) :
    ((∏ i ∈ range k, f i) * ∏' i, f (i + k)) = ∏' i, f i 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] [T2Space M] [ContinuousMul M] {f : ℕ → M} {k : ℕ} (h : Multipliable fun n => f (n + k))
Goal: (∏ i ∈ Finset.range k, f i) * ∏' (i : ℕ), f (i + k) = ∏' (i : ℕ), f i
-- sum_add_tsum_nat_add'
@[to_additive]
theorem prod_mul_tprod_nat_mul'
    {f : ℕ → M} {k : ℕ} (h : Multipliable (fun n ↦ f (n + k))) :
    ((∏ i ∈ range k, f i) * ∏' i, f (i + k)) = ∏' i, f i 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] [T2Space M] [ContinuousAdd M] {f : ℕ → M} {k : ℕ} (h : Summable fun n => f (n + k))
Goal: ∑ i ∈ Finset.range k, f i + ∑' (i : ℕ), f (i + k) = ∑' (i : ℕ), f i
-- tprod_eq_zero_mul'
@[to_additive]
theorem tprod_eq_zero_mul'
    {f : ℕ → M} (hf : Multipliable (fun n ↦ f (n + 1))) :
    ∏' b, f b = f 0 * ∏' b, f (b + 1) 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] [T2Space M] [ContinuousMul M] {f : ℕ → M} (hf : Multipliable fun n => f (n + 1))
Goal: ∏' (b : ℕ), f b = f 0 * ∏' (b : ℕ), f (b + 1)
-- tsum_eq_zero_add'
@[to_additive]
theorem tprod_eq_zero_mul'
    {f : ℕ → M} (hf : Multipliable (fun n ↦ f (n + 1))) :
    ∏' b, f b = f 0 * ∏' b, f (b + 1) 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] [T2Space M] [ContinuousAdd M] {f : ℕ → M} (hf : Summable fun n => f (n + 1))
Goal: ∑' (b : ℕ), f b = f 0 + ∑' (b : ℕ), f (b + 1)
-- tprod_even_mul_odd
@[to_additive]
theorem tprod_even_mul_odd {f : ℕ → M} (he : Multipliable fun k ↦ f (2 * k))
    (ho : Multipliable fun k ↦ f (2 * k + 1)) :
    (∏' k, f (2 * k)) * ∏' k, f (2 * k + 1) = ∏' k, f k 
Arguments: {M : Type u_1} [CommMonoid M] [TopologicalSpace M] [T2Space M] [ContinuousMul M] {f : ℕ → M} (he : Multipliable fun k => f (2 * k)) (ho : Multipliable fun k => f (2 * k + 1))
Goal: (∏' (k : ℕ), f (2 * k)) * ∏' (k : ℕ), f (2 * k + 1) = ∏' (k : ℕ), f k
-- tsum_even_add_odd
@[to_additive]
theorem tprod_even_mul_odd {f : ℕ → M} (he : Multipliable fun k ↦ f (2 * k))
    (ho : Multipliable fun k ↦ f (2 * k + 1)) :
    (∏' k, f (2 * k)) * ∏' k, f (2 * k + 1) = ∏' k, f k 
Arguments: {M : Type u_1} [AddCommMonoid M] [TopologicalSpace M] [T2Space M] [ContinuousAdd M] {f : ℕ → M} (he : Summable fun k => f (2 * k)) (ho : Summable fun k => f (2 * k + 1))
Goal: ∑' (k : ℕ), f (2 * k) + ∑' (k : ℕ), f (2 * k + 1) = ∑' (k : ℕ), f k
-- hasSum_nat_add_iff
@[to_additive]
theorem hasProd_nat_add_iff {f : ℕ → G} (k : ℕ) :
    HasProd (fun n ↦ f (n + k)) g ↔ HasProd f (g * ∏ i ∈ range k, f i) 
Arguments: {G : Type u_2} [AddCommGroup G] {g : G} [TopologicalSpace G] [TopologicalAddGroup G] {f : ℕ → G} (k : ℕ)
Goal: HasSum (fun n => f (n + k)) g ↔ HasSum f (g + ∑ i ∈ Finset.range k, f i)
-- hasProd_nat_add_iff
@[to_additive]
theorem hasProd_nat_add_iff {f : ℕ → G} (k : ℕ) :
    HasProd (fun n ↦ f (n + k)) g ↔ HasProd f (g * ∏ i ∈ range k, f i) 
Arguments: {G : Type u_2} [CommGroup G] {g : G} [TopologicalSpace G] [TopologicalGroup G] {f : ℕ → G} (k : ℕ)
Goal: HasProd (fun n => f (n + k)) g ↔ HasProd f (g * ∏ i ∈ Finset.range k, f i)
-- multipliable_nat_add_iff
@[to_additive]
theorem multipliable_nat_add_iff {f : ℕ → G} (k : ℕ) :
    (Multipliable fun n ↦ f (n + k)) ↔ Multipliable f 
Arguments: {G : Type u_2} [CommGroup G] [TopologicalSpace G] [TopologicalGroup G] {f : ℕ → G} (k : ℕ)
Goal: (Multipliable fun n => f (n + k)) ↔ Multipliable f
-- summable_nat_add_iff
@[to_additive]
theorem multipliable_nat_add_iff {f : ℕ → G} (k : ℕ) :
    (Multipliable fun n ↦ f (n + k)) ↔ Multipliable f 
Arguments: {G : Type u_2} [AddCommGroup G] [TopologicalSpace G] [TopologicalAddGroup G] {f : ℕ → G} (k : ℕ)
Goal: (Summable fun n => f (n + k)) ↔ Summable f
-- hasProd_nat_add_iff'
@[to_additive]
theorem hasProd_nat_add_iff' {f : ℕ → G} (k : ℕ) :
    HasProd (fun n ↦ f (n + k)) (g / ∏ i ∈ range k, f i) ↔ HasProd f g 
Arguments: {G : Type u_2} [CommGroup G] {g : G} [TopologicalSpace G] [TopologicalGroup G] {f : ℕ → G} (k : ℕ)
Goal: HasProd (fun n => f (n + k)) (g / ∏ i ∈ Finset.range k, f i) ↔ HasProd f g
-- hasSum_nat_add_iff'
@[to_additive]
theorem hasProd_nat_add_iff' {f : ℕ → G} (k : ℕ) :
    HasProd (fun n ↦ f (n + k)) (g / ∏ i ∈ range k, f i) ↔ HasProd f g 
Arguments: {G : Type u_2} [AddCommGroup G] {g : G} [TopologicalSpace G] [TopologicalAddGroup G] {f : ℕ → G} (k : ℕ)
Goal: HasSum (fun n => f (n + k)) (g - ∑ i ∈ Finset.range k, f i) ↔ HasSum f g
-- sum_add_tsum_nat_add
@[to_additive]
theorem prod_mul_tprod_nat_add [T2Space G] {f : ℕ → G} (k : ℕ) (h : Multipliable f) :
    ((∏ i ∈ range k, f i) * ∏' i, f (i + k)) = ∏' i, f i 
Arguments: {G : Type u_2} [AddCommGroup G] [TopologicalSpace G] [TopologicalAddGroup G] [T2Space G] {f : ℕ → G} (k : ℕ) (h : Summable f)
Goal: ∑ i ∈ Finset.range k, f i + ∑' (i : ℕ), f (i + k) = ∑' (i : ℕ), f i
-- prod_mul_tprod_nat_add
@[to_additive]
theorem prod_mul_tprod_nat_add [T2Space G] {f : ℕ → G} (k : ℕ) (h : Multipliable f) :
    ((∏ i ∈ range k, f i) * ∏' i, f (i + k)) = ∏' i, f i 
Arguments: {G : Type u_2} [CommGroup G] [TopologicalSpace G] [TopologicalGroup G] [T2Space G] {f : ℕ → G} (k : ℕ) (h : Multipliable f)
Goal: (∏ i ∈ Finset.range k, f i) * ∏' (i : ℕ), f (i + k) = ∏' (i : ℕ), f i
-- tsum_eq_zero_add
@[to_additive]
theorem tprod_eq_zero_mul [T2Space G] {f : ℕ → G} (hf : Multipliable f) :
    ∏' b, f b = f 0 * ∏' b, f (b + 1) 
Arguments: {G : Type u_2} [AddCommGroup G] [TopologicalSpace G] [TopologicalAddGroup G] [T2Space G] {f : ℕ → G} (hf : Summable f)
Goal: ∑' (b : ℕ), f b = f 0 + ∑' (b : ℕ), f (b + 1)
-- tprod_eq_zero_mul
@[to_additive]
theorem tprod_eq_zero_mul [T2Space G] {f : ℕ → G} (hf : Multipliable f) :
    ∏' b, f b = f 0 * ∏' b, f (b + 1) 
Arguments: {G : Type u_2} [CommGroup G] [TopologicalSpace G] [TopologicalGroup G] [T2Space G] {f : ℕ → G} (hf : Multipliable f)
Goal: ∏' (b : ℕ), f b = f 0 * ∏' (b : ℕ), f (b + 1)
-- tendsto_prod_nat_add
@[to_additive "For `f : ℕ → G`, the sum `∑' k, f (k + i)` tends to zero. This does not require a
summability assumption on `f`, as otherwise all such sums are zero."]
theorem tendsto_prod_nat_add [T2Space G] (f : ℕ → G) :
    Tendsto (fun i ↦ ∏' k, f (k + i)) atTop (𝓝 1) 
Arguments: {G : Type u_2} [CommGroup G] [TopologicalSpace G] [TopologicalGroup G] [T2Space G] (f : ℕ → G)
Goal: Filter.Tendsto (fun i => ∏' (k : ℕ), f (k + i)) Filter.atTop (𝓝 1)
-- tendsto_sum_nat_add
@[to_additive "For `f : ℕ → G`, the sum `∑' k, f (k + i)` tends to zero. This does not require a
summability assumption on `f`, as otherwise all such sums are zero."]
theorem tendsto_prod_nat_add [T2Space G] (f : ℕ → G) :
    Tendsto (fun i ↦ ∏' k, f (k + i)) atTop (𝓝 1) 
Arguments: {G : Type u_2} [AddCommGroup G] [TopologicalSpace G] [TopologicalAddGroup G] [T2Space G] (f : ℕ → G)
Goal: Filter.Tendsto (fun i => ∑' (k : ℕ), f (k + i)) Filter.atTop (𝓝 0)
-- cauchySeq_finset_iff_nat_tprod_vanishing
@[to_additive]
theorem cauchySeq_finset_iff_nat_tprod_vanishing {f : ℕ → G} :
    (CauchySeq fun s : Finset ℕ ↦ ∏ n ∈ s, f n) ↔
      ∀ e ∈ 𝓝 (1 : G), ∃ N : ℕ, ∀ t ⊆ {n | N ≤ n}, (∏' n : t, f n) ∈ e 
Arguments: {G : Type u_2} [CommGroup G] [UniformSpace G] [UniformGroup G] {f : ℕ → G}
Goal: (CauchySeq fun s => ∏ n ∈ s, f n) ↔ ∀ e ∈ 𝓝 1, ∃ N, ∀ t ⊆ {n | N ≤ n}, ∏' (n : ↑t), f ↑n ∈ e
-- cauchySeq_finset_iff_nat_tsum_vanishing
@[to_additive]
theorem cauchySeq_finset_iff_nat_tprod_vanishing {f : ℕ → G} :
    (CauchySeq fun s : Finset ℕ ↦ ∏ n ∈ s, f n) ↔
      ∀ e ∈ 𝓝 (1 : G), ∃ N : ℕ, ∀ t ⊆ {n | N ≤ n}, (∏' n : t, f n) ∈ e 
Arguments: {G : Type u_2} [AddCommGroup G] [UniformSpace G] [UniformAddGroup G] {f : ℕ → G}
Goal: (CauchySeq fun s => ∑ n ∈ s, f n) ↔ ∀ e ∈ 𝓝 0, ∃ N, ∀ t ⊆ {n | N ≤ n}, ∑' (n : ↑t), f ↑n ∈ e
-- summable_iff_nat_tsum_vanishing
@[to_additive]
theorem multipliable_iff_nat_tprod_vanishing {f : ℕ → G} : Multipliable f ↔
    ∀ e ∈ 𝓝 1, ∃ N : ℕ, ∀ t ⊆ {n | N ≤ n}, (∏' n : t, f n) ∈ e 
Arguments: {G : Type u_2} [AddCommGroup G] [UniformSpace G] [UniformAddGroup G] [CompleteSpace G] {f : ℕ → G}
Goal: Summable f ↔ ∀ e ∈ 𝓝 0, ∃ N, ∀ t ⊆ {n | N ≤ n}, ∑' (n : ↑t), f ↑n ∈ e
-- multipliable_iff_nat_tprod_vanishing
@[to_additive]
theorem multipliable_iff_nat_tprod_vanishing {f : ℕ → G} : Multipliable f ↔
    ∀ e ∈ 𝓝 1, ∃ N : ℕ, ∀ t ⊆ {n | N ≤ n}, (∏' n : t, f n) ∈ e 
Arguments: {G : Type u_2} [CommGroup G] [UniformSpace G] [UniformGroup G] [CompleteSpace G] {f : ℕ → G}
Goal: Multipliable f ↔ ∀ e ∈ 𝓝 1, ∃ N, ∀ t ⊆ {n | N ≤ n}, ∏' (n : ↑t), f ↑n ∈ e
-- Summable.nat_tsum_vanishing
@[to_additive]
theorem Multipliable.nat_tprod_vanishing {f : ℕ → G} (hf : Multipliable f) ⦃e : Set G⦄
    (he : e ∈ 𝓝 1) : ∃ N : ℕ, ∀ t ⊆ {n | N ≤ n}, (∏' n : t, f n) ∈ e 
Arguments: {G : Type u_2} [AddCommGroup G] [TopologicalSpace G] [TopologicalAddGroup G] {f : ℕ → G} (hf : Summable f) ⦃e : Set G⦄ (he : e ∈ 𝓝 0)
Goal: ∃ N, ∀ t ⊆ {n | N ≤ n}, ∑' (n : ↑t), f ↑n ∈ e
-- Multipliable.nat_tprod_vanishing
@[to_additive]
theorem Multipliable.nat_tprod_vanishing {f : ℕ → G} (hf : Multipliable f) ⦃e : Set G⦄
    (he : e ∈ 𝓝 1) : ∃ N : ℕ, ∀ t ⊆ {n | N ≤ n}, (∏' n : t, f n) ∈ e 
Arguments: {G : Type u_2} [CommGroup G] [TopologicalSpace G] [TopologicalGroup G] {f : ℕ → G} (hf : Multipliable f) ⦃e : Set G⦄ (he : e ∈ 𝓝 1)
Goal: ∃ N, ∀ t ⊆ {n | N ≤ n}, ∏' (n : ↑t), f ↑n ∈ e
-- Summable.tendsto_atTop_zero
@[to_additive]
theorem Multipliable.tendsto_atTop_one {f : ℕ → G} (hf : Multipliable f) :
    Tendsto f atTop (𝓝 1) 
Arguments: {G : Type u_2} [AddCommGroup G] [TopologicalSpace G] [TopologicalAddGroup G] {f : ℕ → G} (hf : Summable f)
Goal: Filter.Tendsto f Filter.atTop (𝓝 0)
-- Multipliable.tendsto_atTop_one
@[to_additive]
theorem Multipliable.tendsto_atTop_one {f : ℕ → G} (hf : Multipliable f) :
    Tendsto f atTop (𝓝 1) 
Arguments: {G : Type u_2} [CommGroup G] [TopologicalSpace G] [TopologicalGroup G] {f : ℕ → G} (hf : Multipliable f)
Goal: Filter.Tendsto f Filter.atTop (𝓝 1)