ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- tsum_sigma
@[to_additive]
theorem tprod_sigma {γ : β → Type*} {f : (Σb : β, γ b) → α} (ha : Multipliable f) :
    ∏' p, f p = ∏' (b) (c), f ⟨b, c⟩ 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommGroup α] [UniformSpace α] [UniformAddGroup α] [CompleteSpace α] [T0Space α] {γ : β → Type u_5} {f : (b : β) × γ b → α} (ha : Summable f)
Goal: ∑' (p : (b : β) × γ b), f p = ∑' (b : β) (c : γ b), f ⟨b, c⟩
-- tprod_prod
@[to_additive tsum_prod]
theorem tprod_prod {f : β × γ → α} (h : Multipliable f) :
    ∏' p, f p = ∏' (b) (c), f ⟨b, c⟩ 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [CommGroup α] [UniformSpace α] [UniformGroup α] [CompleteSpace α] [T0Space α] {f : β × γ → α} (h : Multipliable f)
Goal: ∏' (p : β × γ), f p = ∏' (b : β) (c : γ), f (b, c)
-- tsum_prod
@[to_additive tsum_prod]
theorem tprod_prod {f : β × γ → α} (h : Multipliable f) :
    ∏' p, f p = ∏' (b) (c), f ⟨b, c⟩ 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [AddCommGroup α] [UniformSpace α] [UniformAddGroup α] [CompleteSpace α] [T0Space α] {f : β × γ → α} (h : Summable f)
Goal: ∑' (p : β × γ), f p = ∑' (b : β) (c : γ), f (b, c)
-- tprod_comm
@[to_additive]
theorem tprod_comm {f : β → γ → α} (h : Multipliable (Function.uncurry f)) :
    ∏' (c) (b), f b c = ∏' (b) (c), f b c 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [CommGroup α] [UniformSpace α] [UniformGroup α] [CompleteSpace α] [T0Space α] {f : β → γ → α} (h : Multipliable (Function.uncurry f))
Goal: ∏' (c : γ) (b : β), f b c = ∏' (b : β) (c : γ), f b c
-- tsum_comm
@[to_additive]
theorem tprod_comm {f : β → γ → α} (h : Multipliable (Function.uncurry f)) :
    ∏' (c) (b), f b c = ∏' (b) (c), f b c 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [AddCommGroup α] [UniformSpace α] [UniformAddGroup α] [CompleteSpace α] [T0Space α] {f : β → γ → α} (h : Summable (Function.uncurry f))
Goal: ∑' (c : γ) (b : β), f b c = ∑' (b : β) (c : γ), f b c
-- Pi.hasSum
@[to_additive]
theorem Pi.hasProd {f : ι → ∀ x, π x} {g : ∀ x, π x} :
    HasProd f g ↔ ∀ x, HasProd (fun i ↦ f i x) (g x) 
Arguments: {α : Type u_1} {ι : Type u_5} {π : α → Type u_6} [(x : α) → AddCommMonoid (π x)] [(x : α) → TopologicalSpace (π x)] {f : ι → (x : α) → π x} {g : (x : α) → π x}
Goal: HasSum f g ↔ ∀ (x : α), HasSum (fun i => f i x) (g x)
-- Pi.hasProd
@[to_additive]
theorem Pi.hasProd {f : ι → ∀ x, π x} {g : ∀ x, π x} :
    HasProd f g ↔ ∀ x, HasProd (fun i ↦ f i x) (g x) 
Arguments: {α : Type u_1} {ι : Type u_5} {π : α → Type u_6} [(x : α) → CommMonoid (π x)] [(x : α) → TopologicalSpace (π x)] {f : ι → (x : α) → π x} {g : (x : α) → π x}
Goal: HasProd f g ↔ ∀ (x : α), HasProd (fun i => f i x) (g x)
-- Pi.multipliable
@[to_additive]
theorem Pi.multipliable {f : ι → ∀ x, π x} : Multipliable f ↔ ∀ x, Multipliable fun i ↦ f i x 
Arguments: {α : Type u_1} {ι : Type u_5} {π : α → Type u_6} [(x : α) → CommMonoid (π x)] [(x : α) → TopologicalSpace (π x)] {f : ι → (x : α) → π x}
Goal: Multipliable f ↔ ∀ (x : α), Multipliable fun i => f i x
-- Pi.summable
@[to_additive]
theorem Pi.multipliable {f : ι → ∀ x, π x} : Multipliable f ↔ ∀ x, Multipliable fun i ↦ f i x 
Arguments: {α : Type u_1} {ι : Type u_5} {π : α → Type u_6} [(x : α) → AddCommMonoid (π x)] [(x : α) → TopologicalSpace (π x)] {f : ι → (x : α) → π x}
Goal: Summable f ↔ ∀ (x : α), Summable fun i => f i x
-- tsum_apply
@[to_additive]
theorem tprod_apply [∀ x, T2Space (π x)] {f : ι → ∀ x, π x} {x : α} (hf : Multipliable f) :
    (∏' i, f i) x = ∏' i, f i x 
Arguments: {α : Type u_1} {ι : Type u_5} {π : α → Type u_6} [(x : α) → AddCommMonoid (π x)] [(x : α) → TopologicalSpace (π x)] [∀ (x : α), T2Space (π x)] {f : ι → (x : α) → π x} {x : α} (hf : Summable f)
Goal: tsum (fun i => f i) x = ∑' (i : ι), f i x
-- tprod_apply
@[to_additive]
theorem tprod_apply [∀ x, T2Space (π x)] {f : ι → ∀ x, π x} {x : α} (hf : Multipliable f) :
    (∏' i, f i) x = ∏' i, f i x 
Arguments: {α : Type u_1} {ι : Type u_5} {π : α → Type u_6} [(x : α) → CommMonoid (π x)] [(x : α) → TopologicalSpace (π x)] [∀ (x : α), T2Space (π x)] {f : ι → (x : α) → π x} {x : α} (hf : Multipliable f)
Goal: tprod (fun i => f i) x = ∏' (i : ι), f i x
-- HasSum.op
theorem HasSum.op (hf : HasSum f a) : HasSum (fun a ↦ op (f a)) (op a) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {a : α} (hf : HasSum f a)
Goal: HasSum (fun a => MulOpposite.op (f a)) (MulOpposite.op a)
-- Summable.op
theorem Summable.op (hf : Summable f) : Summable (op ∘ f) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} (hf : Summable f)
Goal: Summable (MulOpposite.op ∘ f)
-- HasSum.unop
theorem HasSum.unop {f : β → αᵐᵒᵖ} {a : αᵐᵒᵖ} (hf : HasSum f a) :
    HasSum (fun a ↦ unop (f a)) (unop a) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → αᵐᵒᵖ} {a : αᵐᵒᵖ} (hf : HasSum f a)
Goal: HasSum (fun a => MulOpposite.unop (f a)) (MulOpposite.unop a)
-- Summable.unop
theorem Summable.unop {f : β → αᵐᵒᵖ} (hf : Summable f) : Summable (unop ∘ f) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → αᵐᵒᵖ} (hf : Summable f)
Goal: Summable (MulOpposite.unop ∘ f)
-- hasSum_op
@[simp]
theorem hasSum_op : HasSum (fun a ↦ op (f a)) (op a) ↔ HasSum f a 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} {a : α}
Goal: HasSum (fun a => MulOpposite.op (f a)) (MulOpposite.op a) ↔ HasSum f a
-- hasSum_unop
@[simp]
theorem hasSum_unop {f : β → αᵐᵒᵖ} {a : αᵐᵒᵖ} :
    HasSum (fun a ↦ unop (f a)) (unop a) ↔ HasSum f a 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → αᵐᵒᵖ} {a : αᵐᵒᵖ}
Goal: HasSum (fun a => MulOpposite.unop (f a)) (MulOpposite.unop a) ↔ HasSum f a
-- summable_op
@[simp]
theorem summable_op : (Summable fun a ↦ op (f a)) ↔ Summable f 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α}
Goal: (Summable fun a => MulOpposite.op (f a)) ↔ Summable f
-- summable_unop
@[simp low]
theorem summable_unop {f : β → αᵐᵒᵖ} : (Summable fun a ↦ unop (f a)) ↔ Summable f 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → αᵐᵒᵖ}
Goal: (Summable fun a => MulOpposite.unop (f a)) ↔ Summable f
-- tsum_op
theorem tsum_op [T2Space α] :
    ∑' x, op (f x) = op (∑' x, f x) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : β → α} [T2Space α]
Goal: ∑' (x : β), MulOpposite.op (f x) = MulOpposite.op (∑' (x : β), f x)
-- tsum_unop
theorem tsum_unop [T2Space α] {f : β → αᵐᵒᵖ} :
    ∑' x, unop (f x) = unop (∑' x, f x) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] [T2Space α] {f : β → αᵐᵒᵖ}
Goal: ∑' (x : β), MulOpposite.unop (f x) = MulOpposite.unop (∑' (x : β), f x)
-- HasSum.star
theorem HasSum.star (h : HasSum f a) : HasSum (fun b ↦ star (f b)) (star a) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] [StarAddMonoid α] [ContinuousStar α] {f : β → α} {a : α} (h : HasSum f a)
Goal: HasSum (fun b => star (f b)) (star a)
-- Summable.star
theorem Summable.star (hf : Summable f) : Summable fun b ↦ star (f b) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] [StarAddMonoid α] [ContinuousStar α] {f : β → α} (hf : Summable f)
Goal: Summable fun b => star (f b)
-- Summable.ofStar
theorem Summable.ofStar (hf : Summable fun b ↦ Star.star (f b)) : Summable f 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] [StarAddMonoid α] [ContinuousStar α] {f : β → α} (hf : Summable fun b => star (f b))
Goal: Summable f
-- summable_star_iff
@[simp]
theorem summable_star_iff : (Summable fun b ↦ star (f b)) ↔ Summable f 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] [StarAddMonoid α] [ContinuousStar α] {f : β → α}
Goal: (Summable fun b => star (f b)) ↔ Summable f
-- summable_star_iff'
@[simp]
theorem summable_star_iff' : Summable (star f) ↔ Summable f 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] [StarAddMonoid α] [ContinuousStar α] {f : β → α}
Goal: Summable (star f) ↔ Summable f
-- tsum_star
theorem tsum_star [T2Space α] : star (∑' b, f b) = ∑' b, star (f b) 
Arguments: {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] [StarAddMonoid α] [ContinuousStar α] {f : β → α} [T2Space α]
Goal: star (∑' (b : β), f b) = ∑' (b : β), star (f b)
-- OpenAddSubgroup.isOpen'
structure OpenAddSubgroup (G : Type*) [AddGroup G] [TopologicalSpace G] extends AddSubgroup G where
  isOpen' : IsOpen carrier
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] (self : OpenAddSubgroup G)
Goal: IsOpen (↑self).carrier
-- OpenSubgroup.isOpen'
@[to_additive]
structure OpenSubgroup (G : Type*) [Group G] [TopologicalSpace G] extends Subgroup G where
  isOpen' : IsOpen carrier
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] (self : OpenSubgroup G)
Goal: IsOpen (↑self).carrier
-- OpenSubgroup.toSubgroup_injective
@[to_additive]
theorem toSubgroup_injective : Injective ((↑) : OpenSubgroup G → Subgroup G)
  
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G]
Goal: Function.Injective OpenSubgroup.toSubgroup
-- OpenAddSubgroup.toAddSubgroup_injective
@[to_additive]
theorem toSubgroup_injective : Injective ((↑) : OpenSubgroup G → Subgroup G)
  
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G]
Goal: Function.Injective OpenAddSubgroup.toAddSubgroup
-- OpenAddSubgroup.coe_toOpens
@[to_additive (attr := simp, norm_cast)]
theorem coe_toOpens : ((U : Opens G) : Set G) = U 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U : OpenAddSubgroup G}
Goal: ↑↑U = ↑U
-- OpenSubgroup.coe_toOpens
@[to_additive (attr := simp, norm_cast)]
theorem coe_toOpens : ((U : Opens G) : Set G) = U 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U : OpenSubgroup G}
Goal: ↑↑U = ↑U
-- OpenSubgroup.coe_toSubgroup
@[to_additive (attr := simp, norm_cast)]
theorem coe_toSubgroup : ((U : Subgroup G) : Set G) = U 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U : OpenSubgroup G}
Goal: ↑↑U = ↑U
-- OpenAddSubgroup.coe_toAddSubgroup
@[to_additive (attr := simp, norm_cast)]
theorem coe_toSubgroup : ((U : Subgroup G) : Set G) = U 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U : OpenAddSubgroup G}
Goal: ↑↑U = ↑U
-- OpenAddSubgroup.mem_toOpens
@[to_additive (attr := simp, norm_cast)]
theorem mem_toOpens : g ∈ (U : Opens G) ↔ g ∈ U 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U : OpenAddSubgroup G} {g : G}
Goal: g ∈ ↑U ↔ g ∈ U
-- OpenSubgroup.mem_toOpens
@[to_additive (attr := simp, norm_cast)]
theorem mem_toOpens : g ∈ (U : Opens G) ↔ g ∈ U 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U : OpenSubgroup G} {g : G}
Goal: g ∈ ↑U ↔ g ∈ U
-- OpenAddSubgroup.mem_toAddSubgroup
@[to_additive (attr := simp, norm_cast)]
theorem mem_toSubgroup : g ∈ (U : Subgroup G) ↔ g ∈ U 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U : OpenAddSubgroup G} {g : G}
Goal: g ∈ ↑U ↔ g ∈ U
-- OpenSubgroup.mem_toSubgroup
@[to_additive (attr := simp, norm_cast)]
theorem mem_toSubgroup : g ∈ (U : Subgroup G) ↔ g ∈ U 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U : OpenSubgroup G} {g : G}
Goal: g ∈ ↑U ↔ g ∈ U
-- OpenSubgroup.ext
@[to_additive (attr := ext)]
theorem ext (h : ∀ x, x ∈ U ↔ x ∈ V) : U = V 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U V : OpenSubgroup G} (h : ∀ (x : G), x ∈ U ↔ x ∈ V)
Goal: U = V
-- OpenAddSubgroup.ext
@[to_additive (attr := ext)]
theorem ext (h : ∀ x, x ∈ U ↔ x ∈ V) : U = V 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U V : OpenAddSubgroup G} (h : ∀ (x : G), x ∈ U ↔ x ∈ V)
Goal: U = V
-- OpenAddSubgroup.isOpen
@[to_additive]
protected theorem isOpen : IsOpen (U : Set G) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] (U : OpenAddSubgroup G)
Goal: IsOpen ↑U
-- OpenSubgroup.isOpen
@[to_additive]
protected theorem isOpen : IsOpen (U : Set G) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] (U : OpenSubgroup G)
Goal: IsOpen ↑U
-- OpenSubgroup.mem_nhds_one
@[to_additive]
theorem mem_nhds_one : (U : Set G) ∈ 𝓝 (1 : G) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] (U : OpenSubgroup G)
Goal: ↑U ∈ 𝓝 1
-- OpenAddSubgroup.mem_nhds_zero
@[to_additive]
theorem mem_nhds_one : (U : Set G) ∈ 𝓝 (1 : G) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] (U : OpenAddSubgroup G)
Goal: ↑U ∈ 𝓝 0
-- OpenAddSubgroup.mem_top
@[to_additive (attr := simp)]
theorem mem_top (x : G) : x ∈ (⊤ : OpenSubgroup G) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] (x : G)
Goal: x ∈ ⊤
-- OpenSubgroup.mem_top
@[to_additive (attr := simp)]
theorem mem_top (x : G) : x ∈ (⊤ : OpenSubgroup G) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] (x : G)
Goal: x ∈ ⊤
-- OpenAddSubgroup.coe_top
@[to_additive (attr := simp, norm_cast)]
theorem coe_top : ((⊤ : OpenSubgroup G) : Set G) = Set.univ 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G]
Goal: ↑⊤ = Set.univ
-- OpenSubgroup.coe_top
@[to_additive (attr := simp, norm_cast)]
theorem coe_top : ((⊤ : OpenSubgroup G) : Set G) = Set.univ 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G]
Goal: ↑⊤ = Set.univ
-- OpenSubgroup.toSubgroup_top
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_top : ((⊤ : OpenSubgroup G) : Subgroup G) = ⊤ 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G]
Goal: ↑⊤ = ⊤
-- OpenAddSubgroup.toAddSubgroup_top
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_top : ((⊤ : OpenSubgroup G) : Subgroup G) = ⊤ 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G]
Goal: ↑⊤ = ⊤
-- OpenAddSubgroup.toOpens_top
@[to_additive (attr := simp, norm_cast)]
theorem toOpens_top : ((⊤ : OpenSubgroup G) : Opens G) = ⊤ 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G]
Goal: ↑⊤ = ⊤
-- OpenSubgroup.toOpens_top
@[to_additive (attr := simp, norm_cast)]
theorem toOpens_top : ((⊤ : OpenSubgroup G) : Opens G) = ⊤ 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G]
Goal: ↑⊤ = ⊤
-- OpenSubgroup.isClosed
@[to_additive]
theorem isClosed [ContinuousMul G] (U : OpenSubgroup G) : IsClosed (U : Set G) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [ContinuousMul G] (U : OpenSubgroup G)
Goal: IsClosed ↑U
-- OpenAddSubgroup.isClosed
@[to_additive]
theorem isClosed [ContinuousMul G] (U : OpenSubgroup G) : IsClosed (U : Set G) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [ContinuousAdd G] (U : OpenAddSubgroup G)
Goal: IsClosed ↑U
-- OpenAddSubgroup.isClopen
@[to_additive]
theorem isClopen [ContinuousMul G] (U : OpenSubgroup G) : IsClopen (U : Set G) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [ContinuousAdd G] (U : OpenAddSubgroup G)
Goal: IsClopen ↑U
-- OpenSubgroup.isClopen
@[to_additive]
theorem isClopen [ContinuousMul G] (U : OpenSubgroup G) : IsClopen (U : Set G) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [ContinuousMul G] (U : OpenSubgroup G)
Goal: IsClopen ↑U
-- OpenAddSubgroup.coe_sum
@[to_additive (attr := simp, norm_cast)]
theorem coe_prod (U : OpenSubgroup G) (V : OpenSubgroup H) :
    (U.prod V : Set (G × H)) = (U : Set G) ×ˢ (V : Set H) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {H : Type u_2} [AddGroup H] [TopologicalSpace H] (U : OpenAddSubgroup G) (V : OpenAddSubgroup H)
Goal: ↑(U.sum V) = ↑U ×ˢ ↑V
-- OpenSubgroup.coe_prod
@[to_additive (attr := simp, norm_cast)]
theorem coe_prod (U : OpenSubgroup G) (V : OpenSubgroup H) :
    (U.prod V : Set (G × H)) = (U : Set G) ×ˢ (V : Set H) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {H : Type u_2} [Group H] [TopologicalSpace H] (U : OpenSubgroup G) (V : OpenSubgroup H)
Goal: ↑(U.prod V) = ↑U ×ˢ ↑V
-- OpenSubgroup.toSubgroup_prod
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_prod (U : OpenSubgroup G) (V : OpenSubgroup H) :
    (U.prod V : Subgroup (G × H)) = (U : Subgroup G).prod V 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {H : Type u_2} [Group H] [TopologicalSpace H] (U : OpenSubgroup G) (V : OpenSubgroup H)
Goal: ↑(U.prod V) = (↑U).prod ↑V
-- OpenAddSubgroup.toAddSubgroup_sum
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_prod (U : OpenSubgroup G) (V : OpenSubgroup H) :
    (U.prod V : Subgroup (G × H)) = (U : Subgroup G).prod V 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {H : Type u_2} [AddGroup H] [TopologicalSpace H] (U : OpenAddSubgroup G) (V : OpenAddSubgroup H)
Goal: ↑(U.sum V) = (↑U).prod ↑V
-- OpenSubgroup.coe_inf
@[to_additive (attr := simp, norm_cast)]
theorem coe_inf : (↑(U ⊓ V) : Set G) = (U : Set G) ∩ V 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U V : OpenSubgroup G}
Goal: ↑(U ⊓ V) = ↑U ∩ ↑V
-- OpenAddSubgroup.coe_inf
@[to_additive (attr := simp, norm_cast)]
theorem coe_inf : (↑(U ⊓ V) : Set G) = (U : Set G) ∩ V 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U V : OpenAddSubgroup G}
Goal: ↑(U ⊓ V) = ↑U ∩ ↑V
-- OpenSubgroup.toSubgroup_inf
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_inf : (↑(U ⊓ V) : Subgroup G) = ↑U ⊓ ↑V 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U V : OpenSubgroup G}
Goal: ↑(U ⊓ V) = ↑U ⊓ ↑V
-- OpenAddSubgroup.toAddSubgroup_inf
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_inf : (↑(U ⊓ V) : Subgroup G) = ↑U ⊓ ↑V 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U V : OpenAddSubgroup G}
Goal: ↑(U ⊓ V) = ↑U ⊓ ↑V
-- OpenAddSubgroup.toOpens_inf
@[to_additive (attr := simp, norm_cast)]
theorem toOpens_inf : (↑(U ⊓ V) : Opens G) = ↑U ⊓ ↑V 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U V : OpenAddSubgroup G}
Goal: ↑(U ⊓ V) = ↑U ⊓ ↑V
-- OpenSubgroup.toOpens_inf
@[to_additive (attr := simp, norm_cast)]
theorem toOpens_inf : (↑(U ⊓ V) : Opens G) = ↑U ⊓ ↑V 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U V : OpenSubgroup G}
Goal: ↑(U ⊓ V) = ↑U ⊓ ↑V
-- OpenSubgroup.mem_inf
@[to_additive (attr := simp)]
theorem mem_inf {x} : x ∈ U ⊓ V ↔ x ∈ U ∧ x ∈ V 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U V : OpenSubgroup G} {x : G}
Goal: x ∈ U ⊓ V ↔ x ∈ U ∧ x ∈ V
-- OpenAddSubgroup.mem_inf
@[to_additive (attr := simp)]
theorem mem_inf {x} : x ∈ U ⊓ V ↔ x ∈ U ∧ x ∈ V 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U V : OpenAddSubgroup G} {x : G}
Goal: x ∈ U ⊓ V ↔ x ∈ U ∧ x ∈ V
-- OpenAddSubgroup.toAddSubgroup_le
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_le : (U : Subgroup G) ≤ (V : Subgroup G) ↔ U ≤ V 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {U V : OpenAddSubgroup G}
Goal: ↑U ≤ ↑V ↔ U ≤ V
-- OpenSubgroup.toSubgroup_le
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_le : (U : Subgroup G) ≤ (V : Subgroup G) ↔ U ≤ V 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {U V : OpenSubgroup G}
Goal: ↑U ≤ ↑V ↔ U ≤ V
-- OpenAddSubgroup.coe_comap
@[to_additive (attr := simp, norm_cast)]
theorem coe_comap (H : OpenSubgroup N) (f : G →* N) (hf : Continuous f) :
    (H.comap f hf : Set G) = f ⁻¹' H 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {N : Type u_2} [AddGroup N] [TopologicalSpace N] (H : OpenAddSubgroup N) (f : G →+ N) (hf : Continuous ⇑f)
Goal: ↑(OpenAddSubgroup.comap f hf H) = ⇑f ⁻¹' ↑H
-- OpenSubgroup.coe_comap
@[to_additive (attr := simp, norm_cast)]
theorem coe_comap (H : OpenSubgroup N) (f : G →* N) (hf : Continuous f) :
    (H.comap f hf : Set G) = f ⁻¹' H 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {N : Type u_2} [Group N] [TopologicalSpace N] (H : OpenSubgroup N) (f : G →* N) (hf : Continuous ⇑f)
Goal: ↑(OpenSubgroup.comap f hf H) = ⇑f ⁻¹' ↑H
-- OpenSubgroup.toSubgroup_comap
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_comap (H : OpenSubgroup N) (f : G →* N) (hf : Continuous f) :
    (H.comap f hf : Subgroup G) = (H : Subgroup N).comap f 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {N : Type u_2} [Group N] [TopologicalSpace N] (H : OpenSubgroup N) (f : G →* N) (hf : Continuous ⇑f)
Goal: ↑(OpenSubgroup.comap f hf H) = Subgroup.comap f ↑H
-- OpenAddSubgroup.toAddSubgroup_comap
@[to_additive (attr := simp, norm_cast)]
theorem toSubgroup_comap (H : OpenSubgroup N) (f : G →* N) (hf : Continuous f) :
    (H.comap f hf : Subgroup G) = (H : Subgroup N).comap f 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {N : Type u_2} [AddGroup N] [TopologicalSpace N] (H : OpenAddSubgroup N) (f : G →+ N) (hf : Continuous ⇑f)
Goal: ↑(OpenAddSubgroup.comap f hf H) = AddSubgroup.comap f ↑H
-- OpenAddSubgroup.mem_comap
@[to_additive (attr := simp)]
theorem mem_comap {H : OpenSubgroup N} {f : G →* N} {hf : Continuous f} {x : G} :
    x ∈ H.comap f hf ↔ f x ∈ H 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {N : Type u_2} [AddGroup N] [TopologicalSpace N] {H : OpenAddSubgroup N} {f : G →+ N} {hf : Continuous ⇑f} {x : G}
Goal: x ∈ OpenAddSubgroup.comap f hf H ↔ f x ∈ H
-- OpenSubgroup.mem_comap
@[to_additive (attr := simp)]
theorem mem_comap {H : OpenSubgroup N} {f : G →* N} {hf : Continuous f} {x : G} :
    x ∈ H.comap f hf ↔ f x ∈ H 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {N : Type u_2} [Group N] [TopologicalSpace N] {H : OpenSubgroup N} {f : G →* N} {hf : Continuous ⇑f} {x : G}
Goal: x ∈ OpenSubgroup.comap f hf H ↔ f x ∈ H
-- OpenSubgroup.comap_comap
@[to_additive]
theorem comap_comap {P : Type*} [Group P] [TopologicalSpace P] (K : OpenSubgroup P) (f₂ : N →* P)
    (hf₂ : Continuous f₂) (f₁ : G →* N) (hf₁ : Continuous f₁) :
    (K.comap f₂ hf₂).comap f₁ hf₁ = K.comap (f₂.comp f₁) (hf₂.comp hf₁) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] {N : Type u_2} [Group N] [TopologicalSpace N] {P : Type u_3} [Group P] [TopologicalSpace P] (K : OpenSubgroup P) (f₂ : N →* P) (hf₂ : Continuous ⇑f₂) (f₁ : G →* N) (hf₁ : Continuous ⇑f₁)
Goal: OpenSubgroup.comap f₁ hf₁ (OpenSubgroup.comap f₂ hf₂ K) = OpenSubgroup.comap (f₂.comp f₁) ⋯ K
-- OpenAddSubgroup.comap_comap
@[to_additive]
theorem comap_comap {P : Type*} [Group P] [TopologicalSpace P] (K : OpenSubgroup P) (f₂ : N →* P)
    (hf₂ : Continuous f₂) (f₁ : G →* N) (hf₁ : Continuous f₁) :
    (K.comap f₂ hf₂).comap f₁ hf₁ = K.comap (f₂.comp f₁) (hf₂.comp hf₁) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] {N : Type u_2} [AddGroup N] [TopologicalSpace N] {P : Type u_3} [AddGroup P] [TopologicalSpace P] (K : OpenAddSubgroup P) (f₂ : N →+ P) (hf₂ : Continuous ⇑f₂) (f₁ : G →+ N) (hf₁ : Continuous ⇑f₁)
Goal: OpenAddSubgroup.comap f₁ hf₁ (OpenAddSubgroup.comap f₂ hf₂ K) = OpenAddSubgroup.comap (f₂.comp f₁) ⋯ K
-- AddSubgroup.isOpen_of_mem_nhds
@[to_additive]
theorem isOpen_of_mem_nhds [ContinuousMul G] (H : Subgroup G) {g : G} (hg : (H : Set G) ∈ 𝓝 g) :
    IsOpen (H : Set G) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [ContinuousAdd G] (H : AddSubgroup G) {g : G} (hg : ↑H ∈ 𝓝 g)
Goal: IsOpen ↑H
-- Subgroup.isOpen_of_mem_nhds
@[to_additive]
theorem isOpen_of_mem_nhds [ContinuousMul G] (H : Subgroup G) {g : G} (hg : (H : Set G) ∈ 𝓝 g) :
    IsOpen (H : Set G) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [ContinuousMul G] (H : Subgroup G) {g : G} (hg : ↑H ∈ 𝓝 g)
Goal: IsOpen ↑H
-- Subgroup.isOpen_mono
@[to_additive]
theorem isOpen_mono [ContinuousMul G] {H₁ H₂ : Subgroup G} (h : H₁ ≤ H₂)
    (h₁ : IsOpen (H₁ : Set G)) : IsOpen (H₂ : Set G) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [ContinuousMul G] {H₁ H₂ : Subgroup G} (h : H₁ ≤ H₂) (h₁ : IsOpen ↑H₁)
Goal: IsOpen ↑H₂
-- AddSubgroup.isOpen_mono
@[to_additive]
theorem isOpen_mono [ContinuousMul G] {H₁ H₂ : Subgroup G} (h : H₁ ≤ H₂)
    (h₁ : IsOpen (H₁ : Set G)) : IsOpen (H₂ : Set G) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [ContinuousAdd G] {H₁ H₂ : AddSubgroup G} (h : H₁ ≤ H₂) (h₁ : IsOpen ↑H₁)
Goal: IsOpen ↑H₂
-- Subgroup.isOpen_of_openSubgroup
@[to_additive]
theorem isOpen_of_openSubgroup [ContinuousMul G] (H: Subgroup G) {U : OpenSubgroup G} (h : ↑U ≤ H) :
    IsOpen (H : Set G) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [ContinuousMul G] (H : Subgroup G) {U : OpenSubgroup G} (h : ↑U ≤ H)
Goal: IsOpen ↑H