ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- DenseRange.topologicalClosure_map_addSubgroup
@[to_additive]
theorem DenseRange.topologicalClosure_map_subgroup [Group H] [TopologicalSpace H]
    [TopologicalGroup H] {f : G →* H} (hf : Continuous f) (hf' : DenseRange f) {s : Subgroup G}
    (hs : s.topologicalClosure = ⊤) : (s.map f).topologicalClosure = ⊤ 
Arguments: {G : Type w} {H : Type x} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] [AddGroup H] [TopologicalSpace H] [TopologicalAddGroup H] {f : G →+ H} (hf : Continuous ⇑f) (hf' : DenseRange ⇑f) {s : AddSubgroup G} (hs : s.topologicalClosure = ⊤)
Goal: (AddSubgroup.map f s).topologicalClosure = ⊤
-- DenseRange.topologicalClosure_map_subgroup
@[to_additive]
theorem DenseRange.topologicalClosure_map_subgroup [Group H] [TopologicalSpace H]
    [TopologicalGroup H] {f : G →* H} (hf : Continuous f) (hf' : DenseRange f) {s : Subgroup G}
    (hs : s.topologicalClosure = ⊤) : (s.map f).topologicalClosure = ⊤ 
Arguments: {G : Type w} {H : Type x} [TopologicalSpace G] [Group G] [TopologicalGroup G] [Group H] [TopologicalSpace H] [TopologicalGroup H] {f : G →* H} (hf : Continuous ⇑f) (hf' : DenseRange ⇑f) {s : Subgroup G} (hs : s.topologicalClosure = ⊤)
Goal: (Subgroup.map f s).topologicalClosure = ⊤
-- AddSubgroup.is_normal_topologicalClosure
@[to_additive "The topological closure of a normal additive subgroup is normal."]
theorem Subgroup.is_normal_topologicalClosure {G : Type*} [TopologicalSpace G] [Group G]
    [TopologicalGroup G] (N : Subgroup G) [N.Normal] : (Subgroup.topologicalClosure N).Normal 
Arguments: {G : Type u_1} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] (N : AddSubgroup G) [N.Normal]
Goal: N.topologicalClosure.Normal
-- Subgroup.is_normal_topologicalClosure
@[to_additive "The topological closure of a normal additive subgroup is normal."]
theorem Subgroup.is_normal_topologicalClosure {G : Type*} [TopologicalSpace G] [Group G]
    [TopologicalGroup G] (N : Subgroup G) [N.Normal] : (Subgroup.topologicalClosure N).Normal 
Arguments: {G : Type u_1} [TopologicalSpace G] [Group G] [TopologicalGroup G] (N : Subgroup G) [N.Normal]
Goal: N.topologicalClosure.Normal
-- mul_mem_connectedComponent_one
@[to_additive]
theorem mul_mem_connectedComponent_one {G : Type*} [TopologicalSpace G] [MulOneClass G]
    [ContinuousMul G] {g h : G} (hg : g ∈ connectedComponent (1 : G))
    (hh : h ∈ connectedComponent (1 : G)) : g * h ∈ connectedComponent (1 : G) 
Arguments: {G : Type u_1} [TopologicalSpace G] [MulOneClass G] [ContinuousMul G] {g h : G} (hg : g ∈ connectedComponent 1) (hh : h ∈ connectedComponent 1)
Goal: g * h ∈ connectedComponent 1
-- add_mem_connectedComponent_zero
@[to_additive]
theorem mul_mem_connectedComponent_one {G : Type*} [TopologicalSpace G] [MulOneClass G]
    [ContinuousMul G] {g h : G} (hg : g ∈ connectedComponent (1 : G))
    (hh : h ∈ connectedComponent (1 : G)) : g * h ∈ connectedComponent (1 : G) 
Arguments: {G : Type u_1} [TopologicalSpace G] [AddZeroClass G] [ContinuousAdd G] {g h : G} (hg : g ∈ connectedComponent 0) (hh : h ∈ connectedComponent 0)
Goal: g + h ∈ connectedComponent 0
-- inv_mem_connectedComponent_one
@[to_additive]
theorem inv_mem_connectedComponent_one {G : Type*} [TopologicalSpace G] [Group G]
    [TopologicalGroup G] {g : G} (hg : g ∈ connectedComponent (1 : G)) :
    g⁻¹ ∈ connectedComponent (1 : G) 
Arguments: {G : Type u_1} [TopologicalSpace G] [Group G] [TopologicalGroup G] {g : G} (hg : g ∈ connectedComponent 1)
Goal: g⁻¹ ∈ connectedComponent 1
-- neg_mem_connectedComponent_zero
@[to_additive]
theorem inv_mem_connectedComponent_one {G : Type*} [TopologicalSpace G] [Group G]
    [TopologicalGroup G] {g : G} (hg : g ∈ connectedComponent (1 : G)) :
    g⁻¹ ∈ connectedComponent (1 : G) 
Arguments: {G : Type u_1} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] {g : G} (hg : g ∈ connectedComponent 0)
Goal: -g ∈ connectedComponent 0
-- AddSubgroup.coe_topologicalClosure_bot
@[to_additive]
lemma Subgroup.coe_topologicalClosure_bot :
    ((⊥ : Subgroup G).topologicalClosure : Set G) = _root_.closure ({1} : Set G) 
Arguments: (G : Type w) [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G]
Goal: ↑⊥.topologicalClosure = closure {0}
-- Subgroup.coe_topologicalClosure_bot
@[to_additive]
lemma Subgroup.coe_topologicalClosure_bot :
    ((⊥ : Subgroup G).topologicalClosure : Set G) = _root_.closure ({1} : Set G) 
Arguments: (G : Type w) [TopologicalSpace G] [Group G] [TopologicalGroup G]
Goal: ↑⊥.topologicalClosure = closure {1}
-- exists_nhds_split_inv
@[to_additive exists_nhds_half_neg]
theorem exists_nhds_split_inv {s : Set G} (hs : s ∈ 𝓝 (1 : G)) :
    ∃ V ∈ 𝓝 (1 : G), ∀ v ∈ V, ∀ w ∈ V, v / w ∈ s 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] {s : Set G} (hs : s ∈ 𝓝 1)
Goal: ∃ V ∈ 𝓝 1, ∀ v ∈ V, ∀ w ∈ V, v / w ∈ s
-- exists_nhds_half_neg
@[to_additive exists_nhds_half_neg]
theorem exists_nhds_split_inv {s : Set G} (hs : s ∈ 𝓝 (1 : G)) :
    ∃ V ∈ 𝓝 (1 : G), ∀ v ∈ V, ∀ w ∈ V, v / w ∈ s 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] {s : Set G} (hs : s ∈ 𝓝 0)
Goal: ∃ V ∈ 𝓝 0, ∀ v ∈ V, ∀ w ∈ V, v - w ∈ s
-- nhds_translation_add_neg
@[to_additive]
theorem nhds_translation_mul_inv (x : G) : comap (· * x⁻¹) (𝓝 1) = 𝓝 x 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] (x : G)
Goal: Filter.comap (fun x_1 => x_1 + -x) (𝓝 0) = 𝓝 x
-- nhds_translation_mul_inv
@[to_additive]
theorem nhds_translation_mul_inv (x : G) : comap (· * x⁻¹) (𝓝 1) = 𝓝 x 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] (x : G)
Goal: Filter.comap (fun x_1 => x_1 * x⁻¹) (𝓝 1) = 𝓝 x
-- map_add_left_nhds
@[to_additive (attr := simp)]
theorem map_mul_left_nhds (x y : G) : map (x * ·) (𝓝 y) = 𝓝 (x * y) 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] (x y : G)
Goal: Filter.map (fun x_1 => x + x_1) (𝓝 y) = 𝓝 (x + y)
-- map_mul_left_nhds
@[to_additive (attr := simp)]
theorem map_mul_left_nhds (x y : G) : map (x * ·) (𝓝 y) = 𝓝 (x * y) 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] (x y : G)
Goal: Filter.map (fun x_1 => x * x_1) (𝓝 y) = 𝓝 (x * y)
-- map_mul_left_nhds_one
@[to_additive]
theorem map_mul_left_nhds_one (x : G) : map (x * ·) (𝓝 1) = 𝓝 x 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] (x : G)
Goal: Filter.map (fun x_1 => x * x_1) (𝓝 1) = 𝓝 x
-- map_add_left_nhds_zero
@[to_additive]
theorem map_mul_left_nhds_one (x : G) : map (x * ·) (𝓝 1) = 𝓝 x 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] (x : G)
Goal: Filter.map (fun x_1 => x + x_1) (𝓝 0) = 𝓝 x
-- map_mul_right_nhds
@[to_additive (attr := simp)]
theorem map_mul_right_nhds (x y : G) : map (· * x) (𝓝 y) = 𝓝 (y * x) 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] (x y : G)
Goal: Filter.map (fun x_1 => x_1 * x) (𝓝 y) = 𝓝 (y * x)
-- map_add_right_nhds
@[to_additive (attr := simp)]
theorem map_mul_right_nhds (x y : G) : map (· * x) (𝓝 y) = 𝓝 (y * x) 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] (x y : G)
Goal: Filter.map (fun x_1 => x_1 + x) (𝓝 y) = 𝓝 (y + x)
-- map_mul_right_nhds_one
@[to_additive]
theorem map_mul_right_nhds_one (x : G) : map (· * x) (𝓝 1) = 𝓝 x 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] (x : G)
Goal: Filter.map (fun x_1 => x_1 * x) (𝓝 1) = 𝓝 x
-- map_add_right_nhds_zero
@[to_additive]
theorem map_mul_right_nhds_one (x : G) : map (· * x) (𝓝 1) = 𝓝 x 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] (x : G)
Goal: Filter.map (fun x_1 => x_1 + x) (𝓝 0) = 𝓝 x
-- Filter.HasBasis.nhds_of_one
@[to_additive]
theorem Filter.HasBasis.nhds_of_one {ι : Sort*} {p : ι → Prop} {s : ι → Set G}
    (hb : HasBasis (𝓝 1 : Filter G) p s) (x : G) :
    HasBasis (𝓝 x) p fun i => { y | y / x ∈ s i } 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] {ι : Sort u_1} {p : ι → Prop} {s : ι → Set G} (hb : (𝓝 1).HasBasis p s) (x : G)
Goal: (𝓝 x).HasBasis p fun i => {y | y / x ∈ s i}
-- Filter.HasBasis.nhds_of_zero
@[to_additive]
theorem Filter.HasBasis.nhds_of_one {ι : Sort*} {p : ι → Prop} {s : ι → Set G}
    (hb : HasBasis (𝓝 1 : Filter G) p s) (x : G) :
    HasBasis (𝓝 x) p fun i => { y | y / x ∈ s i } 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] {ι : Sort u_1} {p : ι → Prop} {s : ι → Set G} (hb : (𝓝 0).HasBasis p s) (x : G)
Goal: (𝓝 x).HasBasis p fun i => {y | y - x ∈ s i}
-- mem_closure_iff_nhds_zero
@[to_additive]
theorem mem_closure_iff_nhds_one {x : G} {s : Set G} :
    x ∈ closure s ↔ ∀ U ∈ (𝓝 1 : Filter G), ∃ y ∈ s, y / x ∈ U 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] {x : G} {s : Set G}
Goal: x ∈ closure s ↔ ∀ U ∈ 𝓝 0, ∃ y ∈ s, y - x ∈ U
-- mem_closure_iff_nhds_one
@[to_additive]
theorem mem_closure_iff_nhds_one {x : G} {s : Set G} :
    x ∈ closure s ↔ ∀ U ∈ (𝓝 1 : Filter G), ∃ y ∈ s, y / x ∈ U 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] {x : G} {s : Set G}
Goal: x ∈ closure s ↔ ∀ U ∈ 𝓝 1, ∃ y ∈ s, y / x ∈ U
-- continuous_of_continuousAt_zero
@[to_additive
  "An additive monoid homomorphism (a bundled morphism of a type that implements
  `AddMonoidHomClass`) from an additive topological group to an additive topological monoid is
  continuous provided that it is continuous at zero. See also
  `uniformContinuous_of_continuousAt_zero`."]
theorem continuous_of_continuousAt_one {M hom : Type*} [MulOneClass M] [TopologicalSpace M]
    [ContinuousMul M] [FunLike hom G M] [MonoidHomClass hom G M] (f : hom)
    (hf : ContinuousAt f 1) :
    Continuous f 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] {M : Type u_1} {hom : Type u_2} [AddZeroClass M] [TopologicalSpace M] [ContinuousAdd M] [FunLike hom G M] [AddMonoidHomClass hom G M] (f : hom) (hf : ContinuousAt (⇑f) 0)
Goal: Continuous ⇑f
-- continuous_of_continuousAt_one
@[to_additive
  "An additive monoid homomorphism (a bundled morphism of a type that implements
  `AddMonoidHomClass`) from an additive topological group to an additive topological monoid is
  continuous provided that it is continuous at zero. See also
  `uniformContinuous_of_continuousAt_zero`."]
theorem continuous_of_continuousAt_one {M hom : Type*} [MulOneClass M] [TopologicalSpace M]
    [ContinuousMul M] [FunLike hom G M] [MonoidHomClass hom G M] (f : hom)
    (hf : ContinuousAt f 1) :
    Continuous f 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] {M : Type u_1} {hom : Type u_2} [MulOneClass M] [TopologicalSpace M] [ContinuousMul M] [FunLike hom G M] [MonoidHomClass hom G M] (f : hom) (hf : ContinuousAt (⇑f) 1)
Goal: Continuous ⇑f
-- continuous_of_continuousAt_one₂
@[to_additive continuous_of_continuousAt_zero₂]
theorem continuous_of_continuousAt_one₂ {H M : Type*} [CommMonoid M] [TopologicalSpace M]
    [ContinuousMul M] [Group H] [TopologicalSpace H] [TopologicalGroup H] (f : G →* H →* M)
    (hf : ContinuousAt (fun x : G × H ↦ f x.1 x.2) (1, 1))
    (hl : ∀ x, ContinuousAt (f x) 1) (hr : ∀ y, ContinuousAt (f · y) 1) :
    Continuous (fun x : G × H ↦ f x.1 x.2) 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] {H : Type u_1} {M : Type u_2} [CommMonoid M] [TopologicalSpace M] [ContinuousMul M] [Group H] [TopologicalSpace H] [TopologicalGroup H] (f : G →* H →* M) (hf : ContinuousAt (fun x => (f x.1) x.2) (1, 1)) (hl : ∀ (x : G), ContinuousAt (⇑(f x)) 1) (hr : ∀ (y : H), ContinuousAt (fun x => (f x) y) 1)
Goal: Continuous fun x => (f x.1) x.2
-- continuous_of_continuousAt_zero₂
@[to_additive continuous_of_continuousAt_zero₂]
theorem continuous_of_continuousAt_one₂ {H M : Type*} [CommMonoid M] [TopologicalSpace M]
    [ContinuousMul M] [Group H] [TopologicalSpace H] [TopologicalGroup H] (f : G →* H →* M)
    (hf : ContinuousAt (fun x : G × H ↦ f x.1 x.2) (1, 1))
    (hl : ∀ x, ContinuousAt (f x) 1) (hr : ∀ y, ContinuousAt (f · y) 1) :
    Continuous (fun x : G × H ↦ f x.1 x.2) 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] {H : Type u_1} {M : Type u_2} [AddCommMonoid M] [TopologicalSpace M] [ContinuousAdd M] [AddGroup H] [TopologicalSpace H] [TopologicalAddGroup H] (f : G →+ H →+ M) (hf : ContinuousAt (fun x => (f x.1) x.2) (0, 0)) (hl : ∀ (x : G), ContinuousAt (⇑(f x)) 0) (hr : ∀ (y : H), ContinuousAt (fun x => (f x) y) 0)
Goal: Continuous fun x => (f x.1) x.2
-- TopologicalGroup.ext
@[to_additive]
theorem TopologicalGroup.ext {G : Type*} [Group G] {t t' : TopologicalSpace G}
    (tg : @TopologicalGroup G t _) (tg' : @TopologicalGroup G t' _)
    (h : @nhds G t 1 = @nhds G t' 1) : t = t' 
Arguments: {G : Type u_1} [Group G] {t t' : TopologicalSpace G} (tg : TopologicalGroup G) (tg' : TopologicalGroup G) (h : 𝓝 1 = 𝓝 1)
Goal: t = t'
-- TopologicalAddGroup.ext
@[to_additive]
theorem TopologicalGroup.ext {G : Type*} [Group G] {t t' : TopologicalSpace G}
    (tg : @TopologicalGroup G t _) (tg' : @TopologicalGroup G t' _)
    (h : @nhds G t 1 = @nhds G t' 1) : t = t' 
Arguments: {G : Type u_1} [AddGroup G] {t t' : TopologicalSpace G} (tg : TopologicalAddGroup G) (tg' : TopologicalAddGroup G) (h : 𝓝 0 = 𝓝 0)
Goal: t = t'
-- TopologicalAddGroup.ext_iff
@[to_additive]
theorem TopologicalGroup.ext_iff {G : Type*} [Group G] {t t' : TopologicalSpace G}
    (tg : @TopologicalGroup G t _) (tg' : @TopologicalGroup G t' _) :
    t = t' ↔ @nhds G t 1 = @nhds G t' 1 
Arguments: {G : Type u_1} [AddGroup G] {t t' : TopologicalSpace G} (tg : TopologicalAddGroup G) (tg' : TopologicalAddGroup G)
Goal: t = t' ↔ 𝓝 0 = 𝓝 0
-- TopologicalGroup.ext_iff
@[to_additive]
theorem TopologicalGroup.ext_iff {G : Type*} [Group G] {t t' : TopologicalSpace G}
    (tg : @TopologicalGroup G t _) (tg' : @TopologicalGroup G t' _) :
    t = t' ↔ @nhds G t 1 = @nhds G t' 1 
Arguments: {G : Type u_1} [Group G] {t t' : TopologicalSpace G} (tg : TopologicalGroup G) (tg' : TopologicalGroup G)
Goal: t = t' ↔ 𝓝 1 = 𝓝 1
-- ContinuousNeg.of_nhds_zero
@[to_additive]
theorem ContinuousInv.of_nhds_one {G : Type*} [Group G] [TopologicalSpace G]
    (hinv : Tendsto (fun x : G => x⁻¹) (𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : G, 𝓝 x₀ = map (fun x : G => x₀ * x) (𝓝 1))
    (hconj : ∀ x₀ : G, Tendsto (fun x : G => x₀ * x * x₀⁻¹) (𝓝 1) (𝓝 1)) : ContinuousInv G 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] (hinv : Filter.Tendsto (fun x => -x) (𝓝 0) (𝓝 0)) (hleft : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x₀ + x) (𝓝 0)) (hconj : ∀ (x₀ : G), Filter.Tendsto (fun x => x₀ + x + -x₀) (𝓝 0) (𝓝 0))
Goal: ContinuousNeg G
-- ContinuousInv.of_nhds_one
@[to_additive]
theorem ContinuousInv.of_nhds_one {G : Type*} [Group G] [TopologicalSpace G]
    (hinv : Tendsto (fun x : G => x⁻¹) (𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : G, 𝓝 x₀ = map (fun x : G => x₀ * x) (𝓝 1))
    (hconj : ∀ x₀ : G, Tendsto (fun x : G => x₀ * x * x₀⁻¹) (𝓝 1) (𝓝 1)) : ContinuousInv G 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] (hinv : Filter.Tendsto (fun x => x⁻¹) (𝓝 1) (𝓝 1)) (hleft : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x₀ * x) (𝓝 1)) (hconj : ∀ (x₀ : G), Filter.Tendsto (fun x => x₀ * x * x₀⁻¹) (𝓝 1) (𝓝 1))
Goal: ContinuousInv G
-- TopologicalAddGroup.of_nhds_zero'
@[to_additive]
theorem TopologicalGroup.of_nhds_one' {G : Type u} [Group G] [TopologicalSpace G]
    (hmul : Tendsto (uncurry ((· * ·) : G → G → G)) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1))
    (hinv : Tendsto (fun x : G => x⁻¹) (𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : G, 𝓝 x₀ = map (fun x => x₀ * x) (𝓝 1))
    (hright : ∀ x₀ : G, 𝓝 x₀ = map (fun x => x * x₀) (𝓝 1)) : TopologicalGroup G 
Arguments: {G : Type u} [AddGroup G] [TopologicalSpace G] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x + x_1) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)) (hinv : Filter.Tendsto (fun x => -x) (𝓝 0) (𝓝 0)) (hleft : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x₀ + x) (𝓝 0)) (hright : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x + x₀) (𝓝 0))
Goal: TopologicalAddGroup G
-- TopologicalGroup.of_nhds_one'
@[to_additive]
theorem TopologicalGroup.of_nhds_one' {G : Type u} [Group G] [TopologicalSpace G]
    (hmul : Tendsto (uncurry ((· * ·) : G → G → G)) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1))
    (hinv : Tendsto (fun x : G => x⁻¹) (𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : G, 𝓝 x₀ = map (fun x => x₀ * x) (𝓝 1))
    (hright : ∀ x₀ : G, 𝓝 x₀ = map (fun x => x * x₀) (𝓝 1)) : TopologicalGroup G 
Arguments: {G : Type u} [Group G] [TopologicalSpace G] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x * x_1) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1)) (hinv : Filter.Tendsto (fun x => x⁻¹) (𝓝 1) (𝓝 1)) (hleft : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x₀ * x) (𝓝 1)) (hright : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x * x₀) (𝓝 1))
Goal: TopologicalGroup G
-- TopologicalGroup.of_nhds_one
@[to_additive]
theorem TopologicalGroup.of_nhds_one {G : Type u} [Group G] [TopologicalSpace G]
    (hmul : Tendsto (uncurry ((· * ·) : G → G → G)) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1))
    (hinv : Tendsto (fun x : G => x⁻¹) (𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : G, 𝓝 x₀ = map (x₀ * ·) (𝓝 1))
    (hconj : ∀ x₀ : G, Tendsto (x₀ * · * x₀⁻¹) (𝓝 1) (𝓝 1)) : TopologicalGroup G 
Arguments: {G : Type u} [Group G] [TopologicalSpace G] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x * x_1) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1)) (hinv : Filter.Tendsto (fun x => x⁻¹) (𝓝 1) (𝓝 1)) (hleft : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x₀ * x) (𝓝 1)) (hconj : ∀ (x₀ : G), Filter.Tendsto (fun x => x₀ * x * x₀⁻¹) (𝓝 1) (𝓝 1))
Goal: TopologicalGroup G
-- TopologicalAddGroup.of_nhds_zero
@[to_additive]
theorem TopologicalGroup.of_nhds_one {G : Type u} [Group G] [TopologicalSpace G]
    (hmul : Tendsto (uncurry ((· * ·) : G → G → G)) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1))
    (hinv : Tendsto (fun x : G => x⁻¹) (𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : G, 𝓝 x₀ = map (x₀ * ·) (𝓝 1))
    (hconj : ∀ x₀ : G, Tendsto (x₀ * · * x₀⁻¹) (𝓝 1) (𝓝 1)) : TopologicalGroup G 
Arguments: {G : Type u} [AddGroup G] [TopologicalSpace G] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x + x_1) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)) (hinv : Filter.Tendsto (fun x => -x) (𝓝 0) (𝓝 0)) (hleft : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x₀ + x) (𝓝 0)) (hconj : ∀ (x₀ : G), Filter.Tendsto (fun x => x₀ + x + -x₀) (𝓝 0) (𝓝 0))
Goal: TopologicalAddGroup G
-- TopologicalGroup.of_comm_of_nhds_one
@[to_additive]
theorem TopologicalGroup.of_comm_of_nhds_one {G : Type u} [CommGroup G] [TopologicalSpace G]
    (hmul : Tendsto (uncurry ((· * ·) : G → G → G)) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1))
    (hinv : Tendsto (fun x : G => x⁻¹) (𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : G, 𝓝 x₀ = map (x₀ * ·) (𝓝 1)) : TopologicalGroup G 
Arguments: {G : Type u} [CommGroup G] [TopologicalSpace G] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x * x_1) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1)) (hinv : Filter.Tendsto (fun x => x⁻¹) (𝓝 1) (𝓝 1)) (hleft : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x₀ * x) (𝓝 1))
Goal: TopologicalGroup G
-- TopologicalAddGroup.of_comm_of_nhds_zero
@[to_additive]
theorem TopologicalGroup.of_comm_of_nhds_one {G : Type u} [CommGroup G] [TopologicalSpace G]
    (hmul : Tendsto (uncurry ((· * ·) : G → G → G)) (𝓝 1 ×ˢ 𝓝 1) (𝓝 1))
    (hinv : Tendsto (fun x : G => x⁻¹) (𝓝 1) (𝓝 1))
    (hleft : ∀ x₀ : G, 𝓝 x₀ = map (x₀ * ·) (𝓝 1)) : TopologicalGroup G 
Arguments: {G : Type u} [AddCommGroup G] [TopologicalSpace G] (hmul : Filter.Tendsto (Function.uncurry fun x x_1 => x + x_1) (𝓝 0 ×ˢ 𝓝 0) (𝓝 0)) (hinv : Filter.Tendsto (fun x => -x) (𝓝 0) (𝓝 0)) (hleft : ∀ (x₀ : G), 𝓝 x₀ = Filter.map (fun x => x₀ + x) (𝓝 0))
Goal: TopologicalAddGroup G
-- QuotientAddGroup.isOpenMap_coe
@[to_additive]
theorem QuotientGroup.isOpenMap_coe : IsOpenMap ((↑) : G → G ⧸ N) 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] (N : AddSubgroup G)
Goal: IsOpenMap QuotientAddGroup.mk
-- QuotientGroup.isOpenMap_coe
@[to_additive]
theorem QuotientGroup.isOpenMap_coe : IsOpenMap ((↑) : G → G ⧸ N) 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] (N : Subgroup G)
Goal: IsOpenMap QuotientGroup.mk
-- QuotientGroup.nhds_eq
@[to_additive
  "Neighborhoods in the quotient are precisely the map of neighborhoods in the prequotient."]
theorem QuotientGroup.nhds_eq (x : G) : 𝓝 (x : G ⧸ N) = Filter.map (↑) (𝓝 x) 
Arguments: {G : Type w} [TopologicalSpace G] [Group G] [TopologicalGroup G] (N : Subgroup G) (x : G)
Goal: 𝓝 ↑x = Filter.map QuotientGroup.mk (𝓝 x)
-- QuotientAddGroup.nhds_eq
@[to_additive
  "Neighborhoods in the quotient are precisely the map of neighborhoods in the prequotient."]
theorem QuotientGroup.nhds_eq (x : G) : 𝓝 (x : G ⧸ N) = Filter.map (↑) (𝓝 x) 
Arguments: {G : Type w} [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] (N : AddSubgroup G) (x : G)
Goal: 𝓝 ↑x = Filter.map QuotientAddGroup.mk (𝓝 x)
-- TopologicalAddGroup.exists_antitone_basis_nhds_zero
@[to_additive
  "Any first countable topological additive group has an antitone neighborhood basis
  `u : ℕ → set G` for which `u (n + 1) + u (n + 1) ⊆ u n`.
  The existence of such a neighborhood basis is a key tool for `QuotientAddGroup.completeSpace`"]
theorem TopologicalGroup.exists_antitone_basis_nhds_one :
    ∃ u : ℕ → Set G, (𝓝 1).HasAntitoneBasis u ∧ ∀ n, u (n + 1) * u (n + 1) ⊆ u n 
Arguments: (G : Type w) [TopologicalSpace G] [AddGroup G] [TopologicalAddGroup G] [FirstCountableTopology G]
Goal: ∃ u, (𝓝 0).HasAntitoneBasis u ∧ ∀ (n : ℕ), u (n + 1) + u (n + 1) ⊆ u n
-- TopologicalGroup.exists_antitone_basis_nhds_one
@[to_additive
  "Any first countable topological additive group has an antitone neighborhood basis
  `u : ℕ → set G` for which `u (n + 1) + u (n + 1) ⊆ u n`.
  The existence of such a neighborhood basis is a key tool for `QuotientAddGroup.completeSpace`"]
theorem TopologicalGroup.exists_antitone_basis_nhds_one :
    ∃ u : ℕ → Set G, (𝓝 1).HasAntitoneBasis u ∧ ∀ n, u (n + 1) * u (n + 1) ⊆ u n 
Arguments: (G : Type w) [TopologicalSpace G] [Group G] [TopologicalGroup G] [FirstCountableTopology G]
Goal: ∃ u, (𝓝 1).HasAntitoneBasis u ∧ ∀ (n : ℕ), u (n + 1) * u (n + 1) ⊆ u n
-- ContinuousSub.continuous_sub
class ContinuousSub (G : Type*) [TopologicalSpace G] [Sub G] : Prop where
  continuous_sub : Continuous fun p : G × G => p.1 - p.2
Arguments: {G : Type u_1} [TopologicalSpace G] [Sub G] [self : ContinuousSub G]
Goal: Continuous fun p => p.1 - p.2
-- ContinuousDiv.continuous_div'
@[to_additive existing]
class ContinuousDiv (G : Type*) [TopologicalSpace G] [Div G] : Prop where
  continuous_div' : Continuous fun p : G × G => p.1 / p.2
Arguments: {G : Type u_1} [TopologicalSpace G] [Div G] [self : ContinuousDiv G]
Goal: Continuous fun p => p.1 / p.2
-- Filter.Tendsto.div'
@[to_additive sub]
theorem Filter.Tendsto.div' {f g : α → G} {l : Filter α} {a b : G} (hf : Tendsto f l (𝓝 a))
    (hg : Tendsto g l (𝓝 b)) : Tendsto (fun x => f x / g x) l (𝓝 (a / b)) 
Arguments: {G : Type w} {α : Type u} [TopologicalSpace G] [Div G] [ContinuousDiv G] {f g : α → G} {l : Filter α} {a b : G} (hf : Filter.Tendsto f l (𝓝 a)) (hg : Filter.Tendsto g l (𝓝 b))
Goal: Filter.Tendsto (fun x => f x / g x) l (𝓝 (a / b))
-- Filter.Tendsto.sub
@[to_additive sub]
theorem Filter.Tendsto.div' {f g : α → G} {l : Filter α} {a b : G} (hf : Tendsto f l (𝓝 a))
    (hg : Tendsto g l (𝓝 b)) : Tendsto (fun x => f x / g x) l (𝓝 (a / b)) 
Arguments: {G : Type w} {α : Type u} [TopologicalSpace G] [Sub G] [ContinuousSub G] {f g : α → G} {l : Filter α} {a b : G} (hf : Filter.Tendsto f l (𝓝 a)) (hg : Filter.Tendsto g l (𝓝 b))
Goal: Filter.Tendsto (fun x => f x - g x) l (𝓝 (a - b))
-- Filter.Tendsto.const_div'
@[to_additive const_sub]
theorem Filter.Tendsto.const_div' (b : G) {c : G} {f : α → G} {l : Filter α}
    (h : Tendsto f l (𝓝 c)) : Tendsto (fun k : α => b / f k) l (𝓝 (b / c)) 
Arguments: {G : Type w} {α : Type u} [TopologicalSpace G] [Div G] [ContinuousDiv G] (b : G) {c : G} {f : α → G} {l : Filter α} (h : Filter.Tendsto f l (𝓝 c))
Goal: Filter.Tendsto (fun k => b / f k) l (𝓝 (b / c))
-- Filter.Tendsto.const_sub
@[to_additive const_sub]
theorem Filter.Tendsto.const_div' (b : G) {c : G} {f : α → G} {l : Filter α}
    (h : Tendsto f l (𝓝 c)) : Tendsto (fun k : α => b / f k) l (𝓝 (b / c)) 
Arguments: {G : Type w} {α : Type u} [TopologicalSpace G] [Sub G] [ContinuousSub G] (b : G) {c : G} {f : α → G} {l : Filter α} (h : Filter.Tendsto f l (𝓝 c))
Goal: Filter.Tendsto (fun k => b - f k) l (𝓝 (b - c))