ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- tendsto_add
@[to_additive]
theorem tendsto_mul {a b : M} : Tendsto (fun p : M × M => p.fst * p.snd) (𝓝 (a, b)) (𝓝 (a * b)) 
Arguments: {M : Type u_3} [TopologicalSpace M] [Add M] [ContinuousAdd M] {a b : M}
Goal: Filter.Tendsto (fun p => p.1 + p.2) (𝓝 (a, b)) (𝓝 (a + b))
-- Filter.Tendsto.mul
@[to_additive]
theorem Filter.Tendsto.mul {f g : α → M} {x : Filter α} {a b : M} (hf : Tendsto f x (𝓝 a))
    (hg : Tendsto g x (𝓝 b)) : Tendsto (fun x => f x * g x) x (𝓝 (a * b)) 
Arguments: {α : Type u_2} {M : Type u_3} [TopologicalSpace M] [Mul M] [ContinuousMul M] {f g : α → M} {x : Filter α} {a b : M} (hf : Filter.Tendsto f x (𝓝 a)) (hg : Filter.Tendsto g x (𝓝 b))
Goal: Filter.Tendsto (fun x => f x * g x) x (𝓝 (a * b))
-- Filter.Tendsto.add
@[to_additive]
theorem Filter.Tendsto.mul {f g : α → M} {x : Filter α} {a b : M} (hf : Tendsto f x (𝓝 a))
    (hg : Tendsto g x (𝓝 b)) : Tendsto (fun x => f x * g x) x (𝓝 (a * b)) 
Arguments: {α : Type u_2} {M : Type u_3} [TopologicalSpace M] [Add M] [ContinuousAdd M] {f g : α → M} {x : Filter α} {a b : M} (hf : Filter.Tendsto f x (𝓝 a)) (hg : Filter.Tendsto g x (𝓝 b))
Goal: Filter.Tendsto (fun x => f x + g x) x (𝓝 (a + b))
-- Filter.Tendsto.const_mul
@[to_additive]
theorem Filter.Tendsto.const_mul (b : M) {c : M} {f : α → M} {l : Filter α}
    (h : Tendsto (fun k : α => f k) l (𝓝 c)) : Tendsto (fun k : α => b * f k) l (𝓝 (b * c)) 
Arguments: {α : Type u_2} {M : Type u_3} [TopologicalSpace M] [Mul M] [ContinuousMul M] (b : M) {c : M} {f : α → M} {l : Filter α} (h : Filter.Tendsto (fun k => f k) l (𝓝 c))
Goal: Filter.Tendsto (fun k => b * f k) l (𝓝 (b * c))
-- Filter.Tendsto.const_add
@[to_additive]
theorem Filter.Tendsto.const_mul (b : M) {c : M} {f : α → M} {l : Filter α}
    (h : Tendsto (fun k : α => f k) l (𝓝 c)) : Tendsto (fun k : α => b * f k) l (𝓝 (b * c)) 
Arguments: {α : Type u_2} {M : Type u_3} [TopologicalSpace M] [Add M] [ContinuousAdd M] (b : M) {c : M} {f : α → M} {l : Filter α} (h : Filter.Tendsto (fun k => f k) l (𝓝 c))
Goal: Filter.Tendsto (fun k => b + f k) l (𝓝 (b + c))
-- Filter.Tendsto.mul_const
@[to_additive]
theorem Filter.Tendsto.mul_const (b : M) {c : M} {f : α → M} {l : Filter α}
    (h : Tendsto (fun k : α => f k) l (𝓝 c)) : Tendsto (fun k : α => f k * b) l (𝓝 (c * b)) 
Arguments: {α : Type u_2} {M : Type u_3} [TopologicalSpace M] [Mul M] [ContinuousMul M] (b : M) {c : M} {f : α → M} {l : Filter α} (h : Filter.Tendsto (fun k => f k) l (𝓝 c))
Goal: Filter.Tendsto (fun k => f k * b) l (𝓝 (c * b))
-- Filter.Tendsto.add_const
@[to_additive]
theorem Filter.Tendsto.mul_const (b : M) {c : M} {f : α → M} {l : Filter α}
    (h : Tendsto (fun k : α => f k) l (𝓝 c)) : Tendsto (fun k : α => f k * b) l (𝓝 (c * b)) 
Arguments: {α : Type u_2} {M : Type u_3} [TopologicalSpace M] [Add M] [ContinuousAdd M] (b : M) {c : M} {f : α → M} {l : Filter α} (h : Filter.Tendsto (fun k => f k) l (𝓝 c))
Goal: Filter.Tendsto (fun k => f k + b) l (𝓝 (c + b))
-- le_nhds_mul
@[to_additive]
theorem le_nhds_mul (a b : M) : 𝓝 a * 𝓝 b ≤ 𝓝 (a * b) 
Arguments: {M : Type u_3} [TopologicalSpace M] [Mul M] [ContinuousMul M] (a b : M)
Goal: 𝓝 a * 𝓝 b ≤ 𝓝 (a * b)
-- le_nhds_add
@[to_additive]
theorem le_nhds_mul (a b : M) : 𝓝 a * 𝓝 b ≤ 𝓝 (a * b) 
Arguments: {M : Type u_3} [TopologicalSpace M] [Add M] [ContinuousAdd M] (a b : M)
Goal: 𝓝 a + 𝓝 b ≤ 𝓝 (a + b)
-- nhds_zero_add_nhds
@[to_additive (attr := simp)]
theorem nhds_one_mul_nhds {M} [MulOneClass M] [TopologicalSpace M] [ContinuousMul M] (a : M) :
    𝓝 (1 : M) * 𝓝 a = 𝓝 a 
Arguments: {M : Type u_6} [AddZeroClass M] [TopologicalSpace M] [ContinuousAdd M] (a : M)
Goal: 𝓝 0 + 𝓝 a = 𝓝 a
-- nhds_one_mul_nhds
@[to_additive (attr := simp)]
theorem nhds_one_mul_nhds {M} [MulOneClass M] [TopologicalSpace M] [ContinuousMul M] (a : M) :
    𝓝 (1 : M) * 𝓝 a = 𝓝 a 
Arguments: {M : Type u_6} [MulOneClass M] [TopologicalSpace M] [ContinuousMul M] (a : M)
Goal: 𝓝 1 * 𝓝 a = 𝓝 a
-- nhds_mul_nhds_one
@[to_additive (attr := simp)]
theorem nhds_mul_nhds_one {M} [MulOneClass M] [TopologicalSpace M] [ContinuousMul M] (a : M) :
    𝓝 a * 𝓝 1 = 𝓝 a 
Arguments: {M : Type u_6} [MulOneClass M] [TopologicalSpace M] [ContinuousMul M] (a : M)
Goal: 𝓝 a * 𝓝 1 = 𝓝 a
-- nhds_add_nhds_zero
@[to_additive (attr := simp)]
theorem nhds_mul_nhds_one {M} [MulOneClass M] [TopologicalSpace M] [ContinuousMul M] (a : M) :
    𝓝 a * 𝓝 1 = 𝓝 a 
Arguments: {M : Type u_6} [AddZeroClass M] [TopologicalSpace M] [ContinuousAdd M] (a : M)
Goal: 𝓝 a + 𝓝 0 = 𝓝 a
-- Filter.TendstoNhdsWithinIoi.const_mul
theorem Filter.TendstoNhdsWithinIoi.const_mul [PosMulStrictMono 𝕜] [PosMulReflectLT 𝕜]
    (h : Tendsto f l (𝓝[>] c)) : Tendsto (fun a => b * f a) l (𝓝[>] (b * c)) 
Arguments: {α : Type u_2} {𝕜 : Type u_6} [Preorder 𝕜] [Zero 𝕜] [Mul 𝕜] [TopologicalSpace 𝕜] [ContinuousMul 𝕜] {l : Filter α} {f : α → 𝕜} {b c : 𝕜} (hb : 0 < b) [PosMulStrictMono 𝕜] [PosMulReflectLT 𝕜] (h : Filter.Tendsto f l (𝓝[>] c))
Goal: Filter.Tendsto (fun a => b * f a) l (𝓝[>] (b * c))
-- Filter.TendstoNhdsWithinIio.const_mul
theorem Filter.TendstoNhdsWithinIio.const_mul [PosMulStrictMono 𝕜] [PosMulReflectLT 𝕜]
    (h : Tendsto f l (𝓝[<] c)) : Tendsto (fun a => b * f a) l (𝓝[<] (b * c)) 
Arguments: {α : Type u_2} {𝕜 : Type u_6} [Preorder 𝕜] [Zero 𝕜] [Mul 𝕜] [TopologicalSpace 𝕜] [ContinuousMul 𝕜] {l : Filter α} {f : α → 𝕜} {b c : 𝕜} (hb : 0 < b) [PosMulStrictMono 𝕜] [PosMulReflectLT 𝕜] (h : Filter.Tendsto f l (𝓝[<] c))
Goal: Filter.Tendsto (fun a => b * f a) l (𝓝[<] (b * c))
-- Filter.TendstoNhdsWithinIoi.mul_const
theorem Filter.TendstoNhdsWithinIoi.mul_const [MulPosStrictMono 𝕜] [MulPosReflectLT 𝕜]
    (h : Tendsto f l (𝓝[>] c)) : Tendsto (fun a => f a * b) l (𝓝[>] (c * b)) 
Arguments: {α : Type u_2} {𝕜 : Type u_6} [Preorder 𝕜] [Zero 𝕜] [Mul 𝕜] [TopologicalSpace 𝕜] [ContinuousMul 𝕜] {l : Filter α} {f : α → 𝕜} {b c : 𝕜} (hb : 0 < b) [MulPosStrictMono 𝕜] [MulPosReflectLT 𝕜] (h : Filter.Tendsto f l (𝓝[>] c))
Goal: Filter.Tendsto (fun a => f a * b) l (𝓝[>] (c * b))
-- Filter.TendstoNhdsWithinIio.mul_const
theorem Filter.TendstoNhdsWithinIio.mul_const [MulPosStrictMono 𝕜] [MulPosReflectLT 𝕜]
    (h : Tendsto f l (𝓝[<] c)) : Tendsto (fun a => f a * b) l (𝓝[<] (c * b)) 
Arguments: {α : Type u_2} {𝕜 : Type u_6} [Preorder 𝕜] [Zero 𝕜] [Mul 𝕜] [TopologicalSpace 𝕜] [ContinuousMul 𝕜] {l : Filter α} {f : α → 𝕜} {b c : 𝕜} (hb : 0 < b) [MulPosStrictMono 𝕜] [MulPosReflectLT 𝕜] (h : Filter.Tendsto f l (𝓝[<] c))
Goal: Filter.Tendsto (fun a => f a * b) l (𝓝[<] (c * b))
-- Specializes.mul
@[to_additive]
protected theorem Specializes.mul {a b c d : M} (hab : a ⤳ b) (hcd : c ⤳ d) : (a * c) ⤳ (b * d) 
Arguments: {M : Type u_3} [TopologicalSpace M] [Mul M] [ContinuousMul M] {a b c d : M} (hab : a ⤳ b) (hcd : c ⤳ d)
Goal: (a * c) ⤳ (b * d)
-- Specializes.add
@[to_additive]
protected theorem Specializes.mul {a b c d : M} (hab : a ⤳ b) (hcd : c ⤳ d) : (a * c) ⤳ (b * d) 
Arguments: {M : Type u_3} [TopologicalSpace M] [Add M] [ContinuousAdd M] {a b c d : M} (hab : a ⤳ b) (hcd : c ⤳ d)
Goal: (a + c) ⤳ (b + d)
-- Inseparable.add
@[to_additive]
protected theorem Inseparable.mul {a b c d : M} (hab : Inseparable a b) (hcd : Inseparable c d) :
    Inseparable (a * c) (b * d) 
Arguments: {M : Type u_3} [TopologicalSpace M] [Add M] [ContinuousAdd M] {a b c d : M} (hab : Inseparable a b) (hcd : Inseparable c d)
Goal: Inseparable (a + c) (b + d)
-- Inseparable.mul
@[to_additive]
protected theorem Inseparable.mul {a b c d : M} (hab : Inseparable a b) (hcd : Inseparable c d) :
    Inseparable (a * c) (b * d) 
Arguments: {M : Type u_3} [TopologicalSpace M] [Mul M] [ContinuousMul M] {a b c d : M} (hab : Inseparable a b) (hcd : Inseparable c d)
Goal: Inseparable (a * c) (b * d)
-- Specializes.pow
@[to_additive]
protected theorem Specializes.pow {M : Type*} [Monoid M] [TopologicalSpace M] [ContinuousMul M]
    {a b : M} (h : a ⤳ b) (n : ℕ) : (a ^ n) ⤳ (b ^ n) 
Arguments: {M : Type u_6} [Monoid M] [TopologicalSpace M] [ContinuousMul M] {a b : M} (h : a ⤳ b) (n : ℕ)
Goal: (a ^ n) ⤳ (b ^ n)
-- Specializes.nsmul
@[to_additive]
protected theorem Specializes.pow {M : Type*} [Monoid M] [TopologicalSpace M] [ContinuousMul M]
    {a b : M} (h : a ⤳ b) (n : ℕ) : (a ^ n) ⤳ (b ^ n) 
Arguments: {M : Type u_6} [AddMonoid M] [TopologicalSpace M] [ContinuousAdd M] {a b : M} (h : a ⤳ b) (n : ℕ)
Goal: (n • a) ⤳ (n • b)
-- Inseparable.pow
@[to_additive]
protected theorem Inseparable.pow {M : Type*} [Monoid M] [TopologicalSpace M] [ContinuousMul M]
    {a b : M} (h : Inseparable a b) (n : ℕ) : Inseparable (a ^ n) (b ^ n) 
Arguments: {M : Type u_6} [Monoid M] [TopologicalSpace M] [ContinuousMul M] {a b : M} (h : Inseparable a b) (n : ℕ)
Goal: Inseparable (a ^ n) (b ^ n)
-- Inseparable.nsmul
@[to_additive]
protected theorem Inseparable.pow {M : Type*} [Monoid M] [TopologicalSpace M] [ContinuousMul M]
    {a b : M} (h : Inseparable a b) (n : ℕ) : Inseparable (a ^ n) (b ^ n) 
Arguments: {M : Type u_6} [AddMonoid M] [TopologicalSpace M] [ContinuousAdd M] {a b : M} (h : Inseparable a b) (n : ℕ)
Goal: Inseparable (n • a) (n • b)
-- Filter.Tendsto.val_addUnits
@[to_additive (attr := simps)
  "Construct an additive unit from limits of additive units and their negatives."]
def Filter.Tendsto.units [TopologicalSpace N] [Monoid N] [ContinuousMul N] [T2Space N]
    {f : ι → Nˣ} {r₁ r₂ : N} {l : Filter ι} [l.NeBot] (h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁))
    (h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)) : Nˣ 
Arguments: {ι : Type u_1} {N : Type u_4} [TopologicalSpace N] [AddMonoid N] [ContinuousAdd N] [T2Space N] {f : ι → AddUnits N} {r₁ r₂ : N} {l : Filter ι} [l.NeBot] (h₁ : Filter.Tendsto (fun x => ↑(f x)) l (𝓝 r₁)) (h₂ : Filter.Tendsto (fun x => ↑(-f x)) l (𝓝 r₂))
Goal: ↑(h₁.addUnits h₂) = r₁
-- Filter.Tendsto.val_neg_addUnits
@[to_additive (attr := simps)
  "Construct an additive unit from limits of additive units and their negatives."]
def Filter.Tendsto.units [TopologicalSpace N] [Monoid N] [ContinuousMul N] [T2Space N]
    {f : ι → Nˣ} {r₁ r₂ : N} {l : Filter ι} [l.NeBot] (h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁))
    (h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)) : Nˣ 
Arguments: {ι : Type u_1} {N : Type u_4} [TopologicalSpace N] [AddMonoid N] [ContinuousAdd N] [T2Space N] {f : ι → AddUnits N} {r₁ r₂ : N} {l : Filter ι} [l.NeBot] (h₁ : Filter.Tendsto (fun x => ↑(f x)) l (𝓝 r₁)) (h₂ : Filter.Tendsto (fun x => ↑(-f x)) l (𝓝 r₂))
Goal: ↑(-h₁.addUnits h₂) = r₂
-- Filter.Tendsto.val_inv_units
@[to_additive (attr := simps)
  "Construct an additive unit from limits of additive units and their negatives."]
def Filter.Tendsto.units [TopologicalSpace N] [Monoid N] [ContinuousMul N] [T2Space N]
    {f : ι → Nˣ} {r₁ r₂ : N} {l : Filter ι} [l.NeBot] (h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁))
    (h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)) : Nˣ 
Arguments: {ι : Type u_1} {N : Type u_4} [TopologicalSpace N] [Monoid N] [ContinuousMul N] [T2Space N] {f : ι → Nˣ} {r₁ r₂ : N} {l : Filter ι} [l.NeBot] (h₁ : Filter.Tendsto (fun x => ↑(f x)) l (𝓝 r₁)) (h₂ : Filter.Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂))
Goal: ↑(h₁.units h₂)⁻¹ = r₂
-- Filter.Tendsto.val_units
@[to_additive (attr := simps)
  "Construct an additive unit from limits of additive units and their negatives."]
def Filter.Tendsto.units [TopologicalSpace N] [Monoid N] [ContinuousMul N] [T2Space N]
    {f : ι → Nˣ} {r₁ r₂ : N} {l : Filter ι} [l.NeBot] (h₁ : Tendsto (fun x => ↑(f x)) l (𝓝 r₁))
    (h₂ : Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂)) : Nˣ 
Arguments: {ι : Type u_1} {N : Type u_4} [TopologicalSpace N] [Monoid N] [ContinuousMul N] [T2Space N] {f : ι → Nˣ} {r₁ r₂ : N} {l : Filter ι} [l.NeBot] (h₁ : Filter.Tendsto (fun x => ↑(f x)) l (𝓝 r₁)) (h₂ : Filter.Tendsto (fun x => ↑(f x)⁻¹) l (𝓝 r₂))
Goal: ↑(h₁.units h₂) = r₁
-- ContinuousAt.add
@[to_additive (attr := fun_prop)]
theorem ContinuousAt.mul {f g : X → M} {x : X} (hf : ContinuousAt f x) (hg : ContinuousAt g x) :
    ContinuousAt (fun x => f x * g x) x 
Arguments: {M : Type u_3} {X : Type u_5} [TopologicalSpace X] [TopologicalSpace M] [Add M] [ContinuousAdd M] {f g : X → M} {x : X} (hf : ContinuousAt f x) (hg : ContinuousAt g x)
Goal: ContinuousAt (fun x => f x + g x) x
-- ContinuousAt.mul
@[to_additive (attr := fun_prop)]
theorem ContinuousAt.mul {f g : X → M} {x : X} (hf : ContinuousAt f x) (hg : ContinuousAt g x) :
    ContinuousAt (fun x => f x * g x) x 
Arguments: {M : Type u_3} {X : Type u_5} [TopologicalSpace X] [TopologicalSpace M] [Mul M] [ContinuousMul M] {f g : X → M} {x : X} (hf : ContinuousAt f x) (hg : ContinuousAt g x)
Goal: ContinuousAt (fun x => f x * g x) x
-- ContinuousWithinAt.add
@[to_additive]
theorem ContinuousWithinAt.mul {f g : X → M} {s : Set X} {x : X} (hf : ContinuousWithinAt f s x)
    (hg : ContinuousWithinAt g s x) : ContinuousWithinAt (fun x => f x * g x) s x 
Arguments: {M : Type u_3} {X : Type u_5} [TopologicalSpace X] [TopologicalSpace M] [Add M] [ContinuousAdd M] {f g : X → M} {s : Set X} {x : X} (hf : ContinuousWithinAt f s x) (hg : ContinuousWithinAt g s x)
Goal: ContinuousWithinAt (fun x => f x + g x) s x
-- ContinuousWithinAt.mul
@[to_additive]
theorem ContinuousWithinAt.mul {f g : X → M} {s : Set X} {x : X} (hf : ContinuousWithinAt f s x)
    (hg : ContinuousWithinAt g s x) : ContinuousWithinAt (fun x => f x * g x) s x 
Arguments: {M : Type u_3} {X : Type u_5} [TopologicalSpace X] [TopologicalSpace M] [Mul M] [ContinuousMul M] {f g : X → M} {s : Set X} {x : X} (hf : ContinuousWithinAt f s x) (hg : ContinuousWithinAt g s x)
Goal: ContinuousWithinAt (fun x => f x * g x) s x
-- ContinuousAdd.of_nhds_zero
@[to_additive]
theorem ContinuousMul.of_nhds_one {M : Type u} [Monoid M] [TopologicalSpace M]
    (hmul : Tendsto (uncurry ((· * ·) : M → M → M)) (𝓝 1 ×ˢ 𝓝 1) <| 𝓝 1)
    (hleft : ∀ x₀ : M, 𝓝 x₀ = map (fun x => x₀ * x) (𝓝 1))
    (hright : ∀ x₀ : M, 𝓝 x₀ = map (fun x => x * x₀) (𝓝 1)) : ContinuousMul M 
Arguments: {M : Type u} [AddMonoid M] [TopologicalSpace M] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x + x_1) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)) (hleft : ∀ (x₀ : M), 𝓝 x₀ = Filter.map (fun x => x₀ + x) (𝓝 0)) (hright : ∀ (x₀ : M), 𝓝 x₀ = Filter.map (fun x => x + x₀) (𝓝 0))
Goal: ContinuousAdd M
-- ContinuousMul.of_nhds_one
@[to_additive]
theorem ContinuousMul.of_nhds_one {M : Type u} [Monoid M] [TopologicalSpace M]
    (hmul : Tendsto (uncurry ((· * ·) : M → M → M)) (𝓝 1 ×ˢ 𝓝 1) <| 𝓝 1)
    (hleft : ∀ x₀ : M, 𝓝 x₀ = map (fun x => x₀ * x) (𝓝 1))
    (hright : ∀ x₀ : M, 𝓝 x₀ = map (fun x => x * x₀) (𝓝 1)) : ContinuousMul M 
Arguments: {M : Type u} [Monoid M] [TopologicalSpace M] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x * x_1) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1)) (hleft : ∀ (x₀ : M), 𝓝 x₀ = Filter.map (fun x => x₀ * x) (𝓝 1)) (hright : ∀ (x₀ : M), 𝓝 x₀ = Filter.map (fun x => x * x₀) (𝓝 1))
Goal: ContinuousMul M
-- continuousAdd_of_comm_of_nhds_zero
@[to_additive]
theorem continuousMul_of_comm_of_nhds_one (M : Type u) [CommMonoid M] [TopologicalSpace M]
    (hmul : Tendsto (uncurry ((· * ·) : M → M → M)) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : M, 𝓝 x₀ = map (fun x => x₀ * x) (𝓝 1)) : ContinuousMul M 
Arguments: (M : Type u) [AddCommMonoid M] [TopologicalSpace M] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x + x_1) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)) (hleft : ∀ (x₀ : M), 𝓝 x₀ = Filter.map (fun x => x₀ + x) (𝓝 0))
Goal: ContinuousAdd M
-- continuousMul_of_comm_of_nhds_one
@[to_additive]
theorem continuousMul_of_comm_of_nhds_one (M : Type u) [CommMonoid M] [TopologicalSpace M]
    (hmul : Tendsto (uncurry ((· * ·) : M → M → M)) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : M, 𝓝 x₀ = map (fun x => x₀ * x) (𝓝 1)) : ContinuousMul M 
Arguments: (M : Type u) [CommMonoid M] [TopologicalSpace M] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x * x_1) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1)) (hleft : ∀ (x₀ : M), 𝓝 x₀ = Filter.map (fun x => x₀ * x) (𝓝 1))
Goal: ContinuousMul M
-- isClosed_setOf_map_one
@[to_additive]
theorem isClosed_setOf_map_one [One M₁] [One M₂] : IsClosed { f : M₁ → M₂ | f 1 = 1 } 
Arguments: (M₁ : Type u_6) (M₂ : Type u_7) [TopologicalSpace M₂] [T2Space M₂] [One M₁] [One M₂]
Goal: IsClosed {f | f 1 = 1}
-- isClosed_setOf_map_zero
@[to_additive]
theorem isClosed_setOf_map_one [One M₁] [One M₂] : IsClosed { f : M₁ → M₂ | f 1 = 1 } 
Arguments: (M₁ : Type u_6) (M₂ : Type u_7) [TopologicalSpace M₂] [T2Space M₂] [Zero M₁] [Zero M₂]
Goal: IsClosed {f | f 0 = 0}
-- isClosed_setOf_map_mul
@[to_additive]
theorem isClosed_setOf_map_mul [Mul M₁] [Mul M₂] [ContinuousMul M₂] :
    IsClosed { f : M₁ → M₂ | ∀ x y, f (x * y) = f x * f y } 
Arguments: (M₁ : Type u_6) (M₂ : Type u_7) [TopologicalSpace M₂] [T2Space M₂] [Mul M₁] [Mul M₂] [ContinuousMul M₂]
Goal: IsClosed {f | ∀ (x y : M₁), f (x * y) = f x * f y}
-- isClosed_setOf_map_add
@[to_additive]
theorem isClosed_setOf_map_mul [Mul M₁] [Mul M₂] [ContinuousMul M₂] :
    IsClosed { f : M₁ → M₂ | ∀ x y, f (x * y) = f x * f y } 
Arguments: (M₁ : Type u_6) (M₂ : Type u_7) [TopologicalSpace M₂] [T2Space M₂] [Add M₁] [Add M₂] [ContinuousAdd M₂]
Goal: IsClosed {f | ∀ (x y : M₁), f (x + y) = f x + f y}
-- addMonoidHomOfMemClosureRangeCoe_apply
@[to_additive (attr := simps (config := .asFn))
  "Construct a bundled additive monoid homomorphism `M₁ →+ M₂` from a function `f`
and a proof that it belongs to the closure of the range of the coercion from `M₁ →+ M₂` (or another
type of bundled homomorphisms that has an `AddMonoidHomClass` instance) to `M₁ → M₂`."]
def monoidHomOfMemClosureRangeCoe (f : M₁ → M₂)
    (hf : f ∈ closure (range fun (f : F) (x : M₁) => f x)) : M₁ →* M₂ 
Arguments: {M₁ : Type u_6} {M₂ : Type u_7} [TopologicalSpace M₂] [T2Space M₂] [AddZeroClass M₁] [AddZeroClass M₂] [ContinuousAdd M₂] {F : Type u_8} [FunLike F M₁ M₂] [AddMonoidHomClass F M₁ M₂] (f : M₁ → M₂) (hf : f ∈ closure (Set.range fun f x => f x))
Goal: ⇑(addMonoidHomOfMemClosureRangeCoe f hf) = f
-- monoidHomOfMemClosureRangeCoe_apply
@[to_additive (attr := simps (config := .asFn))
  "Construct a bundled additive monoid homomorphism `M₁ →+ M₂` from a function `f`
and a proof that it belongs to the closure of the range of the coercion from `M₁ →+ M₂` (or another
type of bundled homomorphisms that has an `AddMonoidHomClass` instance) to `M₁ → M₂`."]
def monoidHomOfMemClosureRangeCoe (f : M₁ → M₂)
    (hf : f ∈ closure (range fun (f : F) (x : M₁) => f x)) : M₁ →* M₂ 
Arguments: {M₁ : Type u_6} {M₂ : Type u_7} [TopologicalSpace M₂] [T2Space M₂] [MulOneClass M₁] [MulOneClass M₂] [ContinuousMul M₂] {F : Type u_8} [FunLike F M₁ M₂] [MonoidHomClass F M₁ M₂] (f : M₁ → M₂) (hf : f ∈ closure (Set.range fun f x => f x))
Goal: ⇑(monoidHomOfMemClosureRangeCoe f hf) = f
-- addMonoidHomOfTendsto_apply
@[to_additive (attr := simps! (config := .asFn))
  "Construct a bundled additive monoid homomorphism from a pointwise limit of additive
monoid homomorphisms"]
def monoidHomOfTendsto (f : M₁ → M₂) (g : α → F) [l.NeBot]
    (h : Tendsto (fun a x => g a x) l (𝓝 f)) : M₁ →* M₂ 
Arguments: {α : Type u_2} {M₁ : Type u_6} {M₂ : Type u_7} [TopologicalSpace M₂] [T2Space M₂] [AddZeroClass M₁] [AddZeroClass M₂] [ContinuousAdd M₂] {F : Type u_8} [FunLike F M₁ M₂] [AddMonoidHomClass F M₁ M₂] {l : Filter α} (f : M₁ → M₂) (g : α → F) [l.NeBot] (h : Filter.Tendsto (fun a x => (g a) x) l (𝓝 f))
Goal: ⇑(addMonoidHomOfTendsto f g h) = f
-- monoidHomOfTendsto_apply
@[to_additive (attr := simps! (config := .asFn))
  "Construct a bundled additive monoid homomorphism from a pointwise limit of additive
monoid homomorphisms"]
def monoidHomOfTendsto (f : M₁ → M₂) (g : α → F) [l.NeBot]
    (h : Tendsto (fun a x => g a x) l (𝓝 f)) : M₁ →* M₂ 
Arguments: {α : Type u_2} {M₁ : Type u_6} {M₂ : Type u_7} [TopologicalSpace M₂] [T2Space M₂] [MulOneClass M₁] [MulOneClass M₂] [ContinuousMul M₂] {F : Type u_8} [FunLike F M₁ M₂] [MonoidHomClass F M₁ M₂] {l : Filter α} (f : M₁ → M₂) (g : α → F) [l.NeBot] (h : Filter.Tendsto (fun a x => (g a) x) l (𝓝 f))
Goal: ⇑(monoidHomOfTendsto f g h) = f
-- AddMonoidHom.isClosed_range_coe
@[to_additive]
theorem MonoidHom.isClosed_range_coe : IsClosed (Set.range ((↑) : (M₁ →* M₂) → M₁ → M₂)) 
Arguments: (M₁ : Type u_6) (M₂ : Type u_7) [TopologicalSpace M₂] [T2Space M₂] [AddZeroClass M₁] [AddZeroClass M₂] [ContinuousAdd M₂]
Goal: IsClosed (Set.range DFunLike.coe)
-- MonoidHom.isClosed_range_coe
@[to_additive]
theorem MonoidHom.isClosed_range_coe : IsClosed (Set.range ((↑) : (M₁ →* M₂) → M₁ → M₂)) 
Arguments: (M₁ : Type u_6) (M₂ : Type u_7) [TopologicalSpace M₂] [T2Space M₂] [MulOneClass M₁] [MulOneClass M₂] [ContinuousMul M₂]
Goal: IsClosed (Set.range DFunLike.coe)
-- Inducing.continuousMul
@[to_additive]
theorem Inducing.continuousMul {M N F : Type*} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N]
    [TopologicalSpace M] [TopologicalSpace N] [ContinuousMul N] (f : F) (hf : Inducing f) :
    ContinuousMul M 
Arguments: {M : Type u_6} {N : Type u_7} {F : Type u_8} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N] [TopologicalSpace M] [TopologicalSpace N] [ContinuousMul N] (f : F) (hf : Inducing ⇑f)
Goal: ContinuousMul M
-- Inducing.continuousAdd
@[to_additive]
theorem Inducing.continuousMul {M N F : Type*} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N]
    [TopologicalSpace M] [TopologicalSpace N] [ContinuousMul N] (f : F) (hf : Inducing f) :
    ContinuousMul M 
Arguments: {M : Type u_6} {N : Type u_7} {F : Type u_8} [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] [TopologicalSpace M] [TopologicalSpace N] [ContinuousAdd N] (f : F) (hf : Inducing ⇑f)
Goal: ContinuousAdd M
-- continuousMul_induced
@[to_additive]
theorem continuousMul_induced {M N F : Type*} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N]
    [TopologicalSpace N] [ContinuousMul N] (f : F) : @ContinuousMul M (induced f ‹_›) _ 
Arguments: {M : Type u_6} {N : Type u_7} {F : Type u_8} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N] [TopologicalSpace N] [ContinuousMul N] (f : F)
Goal: ContinuousMul M
-- continuousAdd_induced
@[to_additive]
theorem continuousMul_induced {M N F : Type*} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N]
    [TopologicalSpace N] [ContinuousMul N] (f : F) : @ContinuousMul M (induced f ‹_›) _ 
Arguments: {M : Type u_6} {N : Type u_7} {F : Type u_8} [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] [TopologicalSpace N] [ContinuousAdd N] (f : F)
Goal: ContinuousAdd M
-- exists_open_nhds_one_split
@[to_additive exists_open_nhds_zero_half]
theorem exists_open_nhds_one_split {s : Set M} (hs : s ∈ 𝓝 (1 : M)) :
    ∃ V : Set M, IsOpen V ∧ (1 : M) ∈ V ∧ ∀ v ∈ V, ∀ w ∈ V, v * w ∈ s 
Arguments: {M : Type u_3} [TopologicalSpace M] [MulOneClass M] [ContinuousMul M] {s : Set M} (hs : s ∈ 𝓝 1)
Goal: ∃ V, IsOpen V ∧ 1 ∈ V ∧ ∀ v ∈ V, ∀ w ∈ V, v * w ∈ s
-- exists_open_nhds_zero_half
@[to_additive exists_open_nhds_zero_half]
theorem exists_open_nhds_one_split {s : Set M} (hs : s ∈ 𝓝 (1 : M)) :
    ∃ V : Set M, IsOpen V ∧ (1 : M) ∈ V ∧ ∀ v ∈ V, ∀ w ∈ V, v * w ∈ s 
Arguments: {M : Type u_3} [TopologicalSpace M] [AddZeroClass M] [ContinuousAdd M] {s : Set M} (hs : s ∈ 𝓝 0)
Goal: ∃ V, IsOpen V ∧ 0 ∈ V ∧ ∀ v ∈ V, ∀ w ∈ V, v + w ∈ s
-- exists_nhds_one_split
@[to_additive exists_nhds_zero_half]
theorem exists_nhds_one_split {s : Set M} (hs : s ∈ 𝓝 (1 : M)) :
    ∃ V ∈ 𝓝 (1 : M), ∀ v ∈ V, ∀ w ∈ V, v * w ∈ s 
Arguments: {M : Type u_3} [TopologicalSpace M] [MulOneClass M] [ContinuousMul M] {s : Set M} (hs : s ∈ 𝓝 1)
Goal: ∃ V ∈ 𝓝 1, ∀ v ∈ V, ∀ w ∈ V, v * w ∈ s
-- exists_nhds_zero_half
@[to_additive exists_nhds_zero_half]
theorem exists_nhds_one_split {s : Set M} (hs : s ∈ 𝓝 (1 : M)) :
    ∃ V ∈ 𝓝 (1 : M), ∀ v ∈ V, ∀ w ∈ V, v * w ∈ s 
Arguments: {M : Type u_3} [TopologicalSpace M] [AddZeroClass M] [ContinuousAdd M] {s : Set M} (hs : s ∈ 𝓝 0)
Goal: ∃ V ∈ 𝓝 0, ∀ v ∈ V, ∀ w ∈ V, v + w ∈ s
-- exists_open_nhds_zero_add_subset
@[to_additive "Given an open neighborhood `U` of `0` there is an open neighborhood `V` of `0`
  such that `V + V ⊆ U`."]
theorem exists_open_nhds_one_mul_subset {U : Set M} (hU : U ∈ 𝓝 (1 : M)) :
    ∃ V : Set M, IsOpen V ∧ (1 : M) ∈ V ∧ V * V ⊆ U 
Arguments: {M : Type u_3} [TopologicalSpace M] [AddZeroClass M] [ContinuousAdd M] {U : Set M} (hU : U ∈ 𝓝 0)
Goal: ∃ V, IsOpen V ∧ 0 ∈ V ∧ V + V ⊆ U