ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Homeomorph.comp_continuousAt_iff'
theorem comp_continuousAt_iff' (h : X ≃ₜ Y) (f : Y → Z) (x : X) :
    ContinuousAt (f ∘ h) x ↔ ContinuousAt f (h x) 
Arguments: {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (h : X ≃ₜ Y) (f : Y → Z) (x : X)
Goal: ContinuousAt (f ∘ ⇑h) x ↔ ContinuousAt f (h x)
-- Homeomorph.comp_continuousWithinAt_iff
theorem comp_continuousWithinAt_iff (h : X ≃ₜ Y) (f : Z → X) (s : Set Z) (z : Z) :
    ContinuousWithinAt f s z ↔ ContinuousWithinAt (h ∘ f) s z 
Arguments: {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (h : X ≃ₜ Y) (f : Z → X) (s : Set Z) (z : Z)
Goal: ContinuousWithinAt f s z ↔ ContinuousWithinAt (⇑h ∘ f) s z
-- Homeomorph.comp_isOpenMap_iff
@[simp]
theorem comp_isOpenMap_iff (h : X ≃ₜ Y) {f : Z → X} : IsOpenMap (h ∘ f) ↔ IsOpenMap f 
Arguments: {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (h : X ≃ₜ Y) {f : Z → X}
Goal: IsOpenMap (⇑h ∘ f) ↔ IsOpenMap f
-- Homeomorph.comp_isOpenMap_iff'
@[simp]
theorem comp_isOpenMap_iff' (h : X ≃ₜ Y) {f : Y → Z} : IsOpenMap (f ∘ h) ↔ IsOpenMap f 
Arguments: {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (h : X ≃ₜ Y) {f : Y → Z}
Goal: IsOpenMap (f ∘ ⇑h) ↔ IsOpenMap f
-- Homeomorph.subtype_symm_apply_coe
@[simps!]
def subtype {p : X → Prop} {q : Y → Prop} (h : X ≃ₜ Y) (h_iff : ∀ x, p x ↔ q (h x)) :
    {x // p x} ≃ₜ {y // q y} 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {p : X → Prop} {q : Y → Prop} (h : X ≃ₜ Y) (h_iff : ∀ (x : X), p x ↔ q (h x)) (b : { b // q b })
Goal: ↑((h.subtype h_iff).symm b) = h.symm ↑b
-- Homeomorph.subtype_apply_coe
@[simps!]
def subtype {p : X → Prop} {q : Y → Prop} (h : X ≃ₜ Y) (h_iff : ∀ x, p x ↔ q (h x)) :
    {x // p x} ≃ₜ {y // q y} 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {p : X → Prop} {q : Y → Prop} (h : X ≃ₜ Y) (h_iff : ∀ (x : X), p x ↔ q (h x)) (a : { a // p a })
Goal: ↑((h.subtype h_iff) a) = h ↑a
-- Homeomorph.subtype_toEquiv
@[simp]
lemma subtype_toEquiv {p : X → Prop} {q : Y → Prop} (h : X ≃ₜ Y) (h_iff : ∀ x, p x ↔ q (h x)) :
    (h.subtype h_iff).toEquiv = h.toEquiv.subtypeEquiv h_iff 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {p : X → Prop} {q : Y → Prop} (h : X ≃ₜ Y) (h_iff : ∀ (x : X), p x ↔ q (h x))
Goal: (h.subtype h_iff).toEquiv = h.subtypeEquiv h_iff
-- Homeomorph.prodCongr_symm
@[simp]
theorem prodCongr_symm (h₁ : X ≃ₜ X') (h₂ : Y ≃ₜ Y') :
    (h₁.prodCongr h₂).symm = h₁.symm.prodCongr h₂.symm 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {X' : Type u_4} {Y' : Type u_5} [TopologicalSpace X'] [TopologicalSpace Y'] (h₁ : X ≃ₜ X') (h₂ : Y ≃ₜ Y')
Goal: (h₁.prodCongr h₂).symm = h₁.symm.prodCongr h₂.symm
-- Homeomorph.coe_prodCongr
@[simp]
theorem coe_prodCongr (h₁ : X ≃ₜ X') (h₂ : Y ≃ₜ Y') : ⇑(h₁.prodCongr h₂) = Prod.map h₁ h₂ 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {X' : Type u_4} {Y' : Type u_5} [TopologicalSpace X'] [TopologicalSpace Y'] (h₁ : X ≃ₜ X') (h₂ : Y ≃ₜ Y')
Goal: ⇑(h₁.prodCongr h₂) = Prod.map ⇑h₁ ⇑h₂
-- Homeomorph.prodComm_symm
@[simp]
theorem prodComm_symm : (prodComm X Y).symm = prodComm Y X 
Arguments: (X : Type u_1) (Y : Type u_2) [TopologicalSpace X] [TopologicalSpace Y]
Goal: (Homeomorph.prodComm X Y).symm = Homeomorph.prodComm Y X
-- Homeomorph.coe_prodComm
@[simp]
theorem coe_prodComm : ⇑(prodComm X Y) = Prod.swap 
Arguments: (X : Type u_1) (Y : Type u_2) [TopologicalSpace X] [TopologicalSpace Y]
Goal: ⇑(Homeomorph.prodComm X Y) = Prod.swap
-- Homeomorph.prodPUnit_apply
@[simps! (config := .asFn) apply]
def prodPUnit : X × PUnit ≃ₜ X 
Arguments: (X : Type u_1) [TopologicalSpace X]
Goal: ⇑(Homeomorph.prodPUnit X) = fun p => p.1
-- Homeomorph.coe_punitProd
@[simp] theorem coe_punitProd : ⇑(punitProd X) = Prod.snd 
Arguments: (X : Type u_1) [TopologicalSpace X]
Goal: ⇑(Homeomorph.punitProd X) = Prod.snd
-- Homeomorph.homeomorphOfUnique_apply
@[simps!]
def homeomorphOfUnique [Unique X] [Unique Y] : X ≃ₜ Y 
Arguments: (X : Type u_1) (Y : Type u_2) [TopologicalSpace X] [TopologicalSpace Y] [Unique X] [Unique Y]
Goal: ∀ (a : X), (Homeomorph.homeomorphOfUnique X Y) a = default
-- Homeomorph.homeomorphOfUnique_symm_apply
@[simps!]
def homeomorphOfUnique [Unique X] [Unique Y] : X ≃ₜ Y 
Arguments: (X : Type u_1) (Y : Type u_2) [TopologicalSpace X] [TopologicalSpace Y] [Unique X] [Unique Y]
Goal: ∀ (a : Y), (Homeomorph.homeomorphOfUnique X Y).symm a = default
-- Homeomorph.piCongrLeft_toEquiv
@[simps! apply toEquiv]
def piCongrLeft {ι ι' : Type*} {Y : ι' → Type*} [∀ j, TopologicalSpace (Y j)]
    (e : ι ≃ ι') : (∀ i, Y (e i)) ≃ₜ ∀ j, Y j 
Arguments: {ι : Type u_6} {ι' : Type u_7} {Y : ι' → Type u_8} [(j : ι') → TopologicalSpace (Y j)] (e : ι ≃ ι')
Goal: (Homeomorph.piCongrLeft e).toEquiv = Equiv.piCongrLeft Y e
-- Homeomorph.piCongrLeft_apply
@[simps! apply toEquiv]
def piCongrLeft {ι ι' : Type*} {Y : ι' → Type*} [∀ j, TopologicalSpace (Y j)]
    (e : ι ≃ ι') : (∀ i, Y (e i)) ≃ₜ ∀ j, Y j 
Arguments: {ι : Type u_6} {ι' : Type u_7} {Y : ι' → Type u_8} [(j : ι') → TopologicalSpace (Y j)] (e : ι ≃ ι')
Goal: ∀ (a : (b : ι) → Y (e.symm.symm b)) (a_1 : ι'),
  (Homeomorph.piCongrLeft e) a a_1 = (Equiv.piCongrLeft' Y e.symm).symm a a_1
-- Homeomorph.piCongrRight_apply
@[simps! apply toEquiv]
def piCongrRight {ι : Type*} {Y₁ Y₂ : ι → Type*} [∀ i, TopologicalSpace (Y₁ i)]
    [∀ i, TopologicalSpace (Y₂ i)] (F : ∀ i, Y₁ i ≃ₜ Y₂ i) : (∀ i, Y₁ i) ≃ₜ ∀ i, Y₂ i 
Arguments: {ι : Type u_6} {Y₁ : ι → Type u_7} {Y₂ : ι → Type u_8} [(i : ι) → TopologicalSpace (Y₁ i)] [(i : ι) → TopologicalSpace (Y₂ i)] (F : (i : ι) → Y₁ i ≃ₜ Y₂ i) (H : (a : ι) → Y₁ a) (a : ι)
Goal: (Homeomorph.piCongrRight F) H a = (F a) (H a)
-- Homeomorph.piCongrRight_toEquiv
@[simps! apply toEquiv]
def piCongrRight {ι : Type*} {Y₁ Y₂ : ι → Type*} [∀ i, TopologicalSpace (Y₁ i)]
    [∀ i, TopologicalSpace (Y₂ i)] (F : ∀ i, Y₁ i ≃ₜ Y₂ i) : (∀ i, Y₁ i) ≃ₜ ∀ i, Y₂ i 
Arguments: {ι : Type u_6} {Y₁ : ι → Type u_7} {Y₂ : ι → Type u_8} [(i : ι) → TopologicalSpace (Y₁ i)] [(i : ι) → TopologicalSpace (Y₂ i)] (F : (i : ι) → Y₁ i ≃ₜ Y₂ i)
Goal: (Homeomorph.piCongrRight F).toEquiv = Equiv.piCongrRight fun i => (F i).toEquiv
-- Homeomorph.piCongrRight_symm
@[simp]
theorem piCongrRight_symm {ι : Type*} {Y₁ Y₂ : ι → Type*} [∀ i, TopologicalSpace (Y₁ i)]
    [∀ i, TopologicalSpace (Y₂ i)] (F : ∀ i, Y₁ i ≃ₜ Y₂ i) :
    (piCongrRight F).symm = piCongrRight fun i => (F i).symm 
Arguments: {ι : Type u_6} {Y₁ : ι → Type u_7} {Y₂ : ι → Type u_8} [(i : ι) → TopologicalSpace (Y₁ i)] [(i : ι) → TopologicalSpace (Y₂ i)] (F : (i : ι) → Y₁ i ≃ₜ Y₂ i)
Goal: (Homeomorph.piCongrRight F).symm = Homeomorph.piCongrRight fun i => (F i).symm
-- Homeomorph.piCongr_apply
@[simps! apply toEquiv]
def piCongr {ι₁ ι₂ : Type*} {Y₁ : ι₁ → Type*} {Y₂ : ι₂ → Type*}
    [∀ i₁, TopologicalSpace (Y₁ i₁)] [∀ i₂, TopologicalSpace (Y₂ i₂)]
    (e : ι₁ ≃ ι₂) (F : ∀ i₁, Y₁ i₁ ≃ₜ Y₂ (e i₁)) : (∀ i₁, Y₁ i₁) ≃ₜ ∀ i₂, Y₂ i₂ 
Arguments: {ι₁ : Type u_6} {ι₂ : Type u_7} {Y₁ : ι₁ → Type u_8} {Y₂ : ι₂ → Type u_9} [(i₁ : ι₁) → TopologicalSpace (Y₁ i₁)] [(i₂ : ι₂) → TopologicalSpace (Y₂ i₂)] (e : ι₁ ≃ ι₂) (F : (i₁ : ι₁) → Y₁ i₁ ≃ₜ Y₂ (e i₁))
Goal: ∀ (a : (i : ι₁) → Y₁ i) (i₂ : ι₂),
  (Homeomorph.piCongr e F) a i₂ = ⋯ ▸ (Equiv.piCongrRight fun i => (F i).toEquiv) a (e.symm i₂)
-- Homeomorph.piCongr_toEquiv
@[simps! apply toEquiv]
def piCongr {ι₁ ι₂ : Type*} {Y₁ : ι₁ → Type*} {Y₂ : ι₂ → Type*}
    [∀ i₁, TopologicalSpace (Y₁ i₁)] [∀ i₂, TopologicalSpace (Y₂ i₂)]
    (e : ι₁ ≃ ι₂) (F : ∀ i₁, Y₁ i₁ ≃ₜ Y₂ (e i₁)) : (∀ i₁, Y₁ i₁) ≃ₜ ∀ i₂, Y₂ i₂ 
Arguments: {ι₁ : Type u_6} {ι₂ : Type u_7} {Y₁ : ι₁ → Type u_8} {Y₂ : ι₂ → Type u_9} [(i₁ : ι₁) → TopologicalSpace (Y₁ i₁)] [(i₂ : ι₂) → TopologicalSpace (Y₂ i₂)] (e : ι₁ ≃ ι₂) (F : (i₁ : ι₁) → Y₁ i₁ ≃ₜ Y₂ (e i₁))
Goal: (Homeomorph.piCongr e F).toEquiv = (Equiv.piCongrRight fun i => (F i).toEquiv).trans (Equiv.piCongrLeft Y₂ e)
-- Homeomorph.funUnique_symm_apply
@[simps! (config := .asFn)]
def funUnique (ι X : Type*) [Unique ι] [TopologicalSpace X] : (ι → X) ≃ₜ X 
Arguments: (ι : Type u_6) (X : Type u_7) [Unique ι] [TopologicalSpace X]
Goal: ⇑(Homeomorph.funUnique ι X).symm = uniqueElim
-- Homeomorph.funUnique_apply
@[simps! (config := .asFn)]
def funUnique (ι X : Type*) [Unique ι] [TopologicalSpace X] : (ι → X) ≃ₜ X 
Arguments: (ι : Type u_6) (X : Type u_7) [Unique ι] [TopologicalSpace X]
Goal: ⇑(Homeomorph.funUnique ι X) = fun f => f default
-- Homeomorph.piFinTwo_apply
@[simps! (config := .asFn)]
def piFinTwo.{u} (X : Fin 2 → Type u) [∀ i, TopologicalSpace (X i)] : (∀ i, X i) ≃ₜ X 0 × X 1 
Arguments: (X : Fin 2 → Type u) [(i : Fin 2) → TopologicalSpace (X i)]
Goal: ⇑(Homeomorph.piFinTwo X) = fun f => (f 0, f 1)
-- Homeomorph.piFinTwo_symm_apply
@[simps! (config := .asFn)]
def piFinTwo.{u} (X : Fin 2 → Type u) [∀ i, TopologicalSpace (X i)] : (∀ i, X i) ≃ₜ X 0 × X 1 
Arguments: (X : Fin 2 → Type u) [(i : Fin 2) → TopologicalSpace (X i)]
Goal: ⇑(Homeomorph.piFinTwo X).symm = fun p => Fin.cons p.1 (Fin.cons p.2 finZeroElim)
-- Homeomorph.finTwoArrow_apply
@[simps! (config := .asFn)]
def finTwoArrow : (Fin 2 → X) ≃ₜ X × X 
Arguments: {X : Type u_1} [TopologicalSpace X]
Goal: ⇑Homeomorph.finTwoArrow = fun f => (f 0, f 1)
-- Homeomorph.finTwoArrow_symm_apply
@[simps! (config := .asFn)]
def finTwoArrow : (Fin 2 → X) ≃ₜ X × X 
Arguments: {X : Type u_1} [TopologicalSpace X]
Goal: ⇑Homeomorph.finTwoArrow.symm = fun x => ![x.1, x.2]
-- Homeomorph.image_apply_coe
@[simps!]
def image (e : X ≃ₜ Y) (s : Set X) : s ≃ₜ e '' s 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (e : X ≃ₜ Y) (s : Set X) (x : ↑s)
Goal: ↑((e.image s) x) = e ↑x
-- Homeomorph.image_symm_apply_coe
@[simps!]
def image (e : X ≃ₜ Y) (s : Set X) : s ≃ₜ e '' s 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (e : X ≃ₜ Y) (s : Set X) (y : ↑(⇑e.toEquiv '' s))
Goal: ↑((e.image s).symm y) = e.symm ↑y
-- Homeomorph.Set.univ_symm_apply_coe
@[simps! (config := .asFn)]
def Set.univ (X : Type*) [TopologicalSpace X] : (univ : Set X) ≃ₜ X 
Arguments: (X : Type u_6) [TopologicalSpace X] (a : X)
Goal: ↑((Homeomorph.Set.univ X).symm a) = a
-- Homeomorph.Set.univ_apply
@[simps! (config := .asFn)]
def Set.univ (X : Type*) [TopologicalSpace X] : (univ : Set X) ≃ₜ X 
Arguments: (X : Type u_6) [TopologicalSpace X]
Goal: ⇑(Homeomorph.Set.univ X) = Subtype.val
-- Homeomorph.Set.prod_symm_apply_coe
@[simps!]
def Set.prod (s : Set X) (t : Set Y) : ↥(s ×ˢ t) ≃ₜ s × t 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (s : Set X) (t : Set Y) (x : { a // s a } × { b // t b })
Goal: ↑((Homeomorph.Set.prod s t).symm x) = (↑x.1, ↑x.2)
-- Homeomorph.Set.prod_apply
@[simps!]
def Set.prod (s : Set X) (t : Set Y) : ↥(s ×ˢ t) ≃ₜ s × t 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (s : Set X) (t : Set Y) (x : { c // s c.1 ∧ t c.2 })
Goal: (Homeomorph.Set.prod s t) x = (⟨(↑x).1, ⋯⟩, ⟨(↑x).2, ⋯⟩)
-- Homeomorph.piEquivPiSubtypeProd_apply
@[simps!]
def piEquivPiSubtypeProd (p : ι → Prop) (Y : ι → Type*) [∀ i, TopologicalSpace (Y i)]
    [DecidablePred p] : (∀ i, Y i) ≃ₜ (∀ i : { x // p x }, Y i) × ∀ i : { x // ¬p x }, Y i 
Arguments: {ι : Type u_6} (p : ι → Prop) (Y : ι → Type u_7) [(i : ι) → TopologicalSpace (Y i)] [DecidablePred p] (f : (i : ι) → Y i)
Goal: (Homeomorph.piEquivPiSubtypeProd p Y) f = (fun x => f ↑x, fun x => f ↑x)
-- Homeomorph.piEquivPiSubtypeProd_symm_apply
@[simps!]
def piEquivPiSubtypeProd (p : ι → Prop) (Y : ι → Type*) [∀ i, TopologicalSpace (Y i)]
    [DecidablePred p] : (∀ i, Y i) ≃ₜ (∀ i : { x // p x }, Y i) × ∀ i : { x // ¬p x }, Y i 
Arguments: {ι : Type u_6} (p : ι → Prop) (Y : ι → Type u_7) [(i : ι) → TopologicalSpace (Y i)] [DecidablePred p] (f : ((i : { x // p x }) → Y ↑i) × ((i : { x // ¬p x }) → Y ↑i)) (x : ι)
Goal: (Homeomorph.piEquivPiSubtypeProd p Y).symm f x = if h : p x then f.1 ⟨x, h⟩ else f.2 ⟨x, h⟩
-- Homeomorph.piSplitAt_symm_apply
@[simps!]
def piSplitAt (Y : ι → Type*) [∀ j, TopologicalSpace (Y j)] :
    (∀ j, Y j) ≃ₜ Y i × ∀ j : { j // j ≠ i }, Y j 
Arguments: {ι : Type u_6} [DecidableEq ι] (i : ι) (Y : ι → Type u_7) [(j : ι) → TopologicalSpace (Y j)] (f : Y i × ((j : { j // j ≠ i }) → Y ↑j)) (j : ι)
Goal: (Homeomorph.piSplitAt i Y).symm f j = if h : j = i then ⋯ ▸ f.1 else f.2 ⟨j, h⟩
-- Homeomorph.piSplitAt_apply
@[simps!]
def piSplitAt (Y : ι → Type*) [∀ j, TopologicalSpace (Y j)] :
    (∀ j, Y j) ≃ₜ Y i × ∀ j : { j // j ≠ i }, Y j 
Arguments: {ι : Type u_6} [DecidableEq ι] (i : ι) (Y : ι → Type u_7) [(j : ι) → TopologicalSpace (Y j)] (f : (j : ι) → Y j)
Goal: (Homeomorph.piSplitAt i Y) f = (f i, fun j => f ↑j)
-- Homeomorph.funSplitAt_apply
@[simps!]
def funSplitAt : (ι → Y) ≃ₜ Y × ({ j // j ≠ i } → Y) 
Arguments: (Y : Type u_2) [TopologicalSpace Y] {ι : Type u_6} [DecidableEq ι] (i : ι) (f : (j : ι) → (fun a => Y) j)
Goal: (Homeomorph.funSplitAt Y i) f = (f i, fun j => f ↑j)
-- Homeomorph.funSplitAt_symm_apply
@[simps!]
def funSplitAt : (ι → Y) ≃ₜ Y × ({ j // j ≠ i } → Y) 
Arguments: (Y : Type u_2) [TopologicalSpace Y] {ι : Type u_6} [DecidableEq ι] (i : ι) (f : (fun a => Y) i × ((j : { j // j ≠ i }) → (fun a => Y) ↑j)) (j : ι)
Goal: (Homeomorph.funSplitAt Y i).symm f j = if h : j = i then f.1 else f.2 ⟨j, ⋯⟩
-- Equiv.toHomeomorph_toEquiv
@[simps toEquiv]
def toHomeomorph (e : X ≃ Y) (he : ∀ s, IsOpen (e ⁻¹' s) ↔ IsOpen s) : X ≃ₜ Y 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (e : X ≃ Y) (he : ∀ (s : Set Y), IsOpen (⇑e ⁻¹' s) ↔ IsOpen s)
Goal: (e.toHomeomorph he).toEquiv = e
-- Equiv.coe_toHomeomorph
@[simp] lemma coe_toHomeomorph (e : X ≃ Y) (he) : ⇑(e.toHomeomorph he) = e 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (e : X ≃ Y) (he : ∀ (s : Set Y), IsOpen (⇑e ⁻¹' s) ↔ IsOpen s)
Goal: ⇑(e.toHomeomorph he) = ⇑e
-- Equiv.toHomeomorph_apply
lemma toHomeomorph_apply (e : X ≃ Y) (he) (x : X) : e.toHomeomorph he x = e x 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (e : X ≃ Y) (he : ∀ (s : Set Y), IsOpen (⇑e ⁻¹' s) ↔ IsOpen s) (x : X)
Goal: (e.toHomeomorph he) x = e x
-- Equiv.toHomeomorph_refl
@[simp] lemma toHomeomorph_refl :
  (Equiv.refl X).toHomeomorph (fun _s ↦ Iff.rfl) = Homeomorph.refl _ 
Arguments: {X : Type u_1} [TopologicalSpace X]
Goal: (Equiv.refl X).toHomeomorph ⋯ = Homeomorph.refl X
-- Equiv.toHomeomorph_symm
@[simp] lemma toHomeomorph_symm (e : X ≃ Y) (he) :
  (e.toHomeomorph he).symm = e.symm.toHomeomorph fun s ↦ by convert (he _).symm; simp 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (e : X ≃ Y) (he : ∀ (s : Set Y), IsOpen (⇑e ⁻¹' s) ↔ IsOpen s)
Goal: (e.toHomeomorph he).symm = e.symm.toHomeomorph ⋯
-- Equiv.toHomeomorph_trans
lemma toHomeomorph_trans (e : X ≃ Y) (f : Y ≃ Z) (he hf) :
    (e.trans f).toHomeomorph (fun _s ↦ (he _).trans (hf _)) =
    (e.toHomeomorph he).trans (f.toHomeomorph hf) 
Arguments: {X : Type u_1} {Y : Type u_2} {Z : Type u_4} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (e : X ≃ Y) (f : Y ≃ Z) (he : ∀ (s : Set Y), IsOpen (⇑e ⁻¹' s) ↔ IsOpen s) (hf : ∀ (s : Set Z), IsOpen (⇑f ⁻¹' s) ↔ IsOpen s)
Goal: (e.trans f).toHomeomorph ⋯ = (e.toHomeomorph he).trans (f.toHomeomorph hf)
-- Equiv.toHomeomorphOfInducing_toEquiv
@[simps toEquiv] -- Porting note (#11215): TODO: was `@[simps]`
def toHomeomorphOfInducing (f : X ≃ Y) (hf : Inducing f) : X ≃ₜ Y 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (f : X ≃ Y) (hf : Inducing ⇑f)
Goal: (f.toHomeomorphOfInducing hf).toEquiv = f
-- Continuous.continuous_symm_of_equiv_compact_to_t2
theorem continuous_symm_of_equiv_compact_to_t2 [CompactSpace X] [T2Space Y] {f : X ≃ Y}
    (hf : Continuous f) : Continuous f.symm 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] [CompactSpace X] [T2Space Y] {f : X ≃ Y} (hf : Continuous ⇑f)
Goal: Continuous ⇑f.symm
-- Continuous.homeoOfEquivCompactToT2_toEquiv
@[simps toEquiv] -- Porting note: was `@[simps]`
def homeoOfEquivCompactToT2 [CompactSpace X] [T2Space Y] {f : X ≃ Y} (hf : Continuous f) : X ≃ₜ Y 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] [CompactSpace X] [T2Space Y] {f : X ≃ Y} (hf : Continuous ⇑f)
Goal: hf.homeoOfEquivCompactToT2.toEquiv = f
-- ManifoldWithCorners.metrizableSpace
theorem ManifoldWithCorners.metrizableSpace {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
    [FiniteDimensional ℝ E] {H : Type*} [TopologicalSpace H] (I : ModelWithCorners ℝ E H)
    (M : Type*) [TopologicalSpace M] [ChartedSpace H M] [SigmaCompactSpace M] [T2Space M] :
    MetrizableSpace M 
Arguments: {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {H : Type u_2} [TopologicalSpace H] (I : ModelWithCorners ℝ E H) (M : Type u_3) [TopologicalSpace M] [ChartedSpace H M] [SigmaCompactSpace M] [T2Space M]
Goal: TopologicalSpace.MetrizableSpace M
-- TopologicalSpace.Clopens.exists_prod_subset
theorem TopologicalSpace.Clopens.exists_prod_subset (W : Clopens (X × Y)) {a : X × Y} (h : a ∈ W) :
    ∃ U : Clopens X, a.1 ∈ U ∧ ∃ V : Clopens Y, a.2 ∈ V ∧ U ×ˢ V ≤ W 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] [CompactSpace Y] (W : TopologicalSpace.Clopens (X × Y)) {a : X × Y} (h : a ∈ W)
Goal: ∃ U, a.1 ∈ U ∧ ∃ V, a.2 ∈ V ∧ U ×ˢ V ≤ W
-- TopologicalSpace.Clopens.exists_finset_eq_sup_prod
theorem TopologicalSpace.Clopens.exists_finset_eq_sup_prod (W : Clopens (X × Y)) :
    ∃ (I : Finset (Clopens X × Clopens Y)), W = I.sup fun i ↦ i.1 ×ˢ i.2 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] [CompactSpace Y] [CompactSpace X] (W : TopologicalSpace.Clopens (X × Y))
Goal: ∃ I, W = I.sup fun i => i.1 ×ˢ i.2
-- TopologicalSpace.Clopens.surjective_finset_sup_prod
lemma TopologicalSpace.Clopens.surjective_finset_sup_prod :
    Surjective fun I : Finset (Clopens X × Clopens Y) ↦ I.sup fun i ↦ i.1 ×ˢ i.2 
Arguments: {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] [CompactSpace Y] [CompactSpace X]
Goal: Function.Surjective fun I => I.sup fun i => i.1 ×ˢ i.2
-- TopologicalSpace.Clopens.countable_iff_second_countable
lemma TopologicalSpace.Clopens.countable_iff_second_countable [T2Space X]
    [TotallyDisconnectedSpace X] : Countable (Clopens X) ↔ SecondCountableTopology X 
Arguments: {X : Type u_1} [TopologicalSpace X] [CompactSpace X] [T2Space X] [TotallyDisconnectedSpace X]
Goal: Countable (TopologicalSpace.Clopens X) ↔ SecondCountableTopology X
-- ContinuousAddMonoidHom.continuous_toFun
structure ContinuousAddMonoidHom (A B : Type*) [AddMonoid A] [AddMonoid B] [TopologicalSpace A]
  [TopologicalSpace B] extends A →+ B where
    continuous_toFun : @Continuous A B _ _ toFun
Arguments: {A : Type u_7} {B : Type u_8} [AddMonoid A] [AddMonoid B] [TopologicalSpace A] [TopologicalSpace B] (self : ContinuousAddMonoidHom A B)
Goal: Continuous (↑self.toAddMonoidHom).toFun
-- ContinuousMonoidHom.continuous_toFun
@[to_additive "The type of continuous additive monoid homomorphisms from `A` to `B`."]
structure ContinuousMonoidHom extends A →* B where
    continuous_toFun : @Continuous A B _ _ toFun
Arguments: {A : Type u_2} {B : Type u_3} [Monoid A] [Monoid B] [TopologicalSpace A] [TopologicalSpace B] (self : ContinuousMonoidHom A B)
Goal: Continuous (↑self.toMonoidHom).toFun
-- ContinuousAddMonoidHomClass.map_continuous
-- Porting note: Changed A B to outParam to help synthesizing order
class ContinuousAddMonoidHomClass (A B : outParam Type*) [AddMonoid A] [AddMonoid B]
    [TopologicalSpace A] [TopologicalSpace B] [FunLike F A B]
    extends AddMonoidHomClass F A B : Prop where
    map_continuous (f : F) : Continuous f
Arguments: {F : Type u_1} {A : outParam (Type u_7)} {B : outParam (Type u_8)} [AddMonoid A] [AddMonoid B] [TopologicalSpace A] [TopologicalSpace B] [FunLike F A B] [self : ContinuousAddMonoidHomClass F A B] (f : F)
Goal: Continuous ⇑f
-- ContinuousMonoidHomClass.map_continuous
-- Porting note: Changed A B to outParam to help synthesizing order
@[to_additive]
class ContinuousMonoidHomClass (A B : outParam Type*) [Monoid A] [Monoid B]
    [TopologicalSpace A] [TopologicalSpace B] [FunLike F A B]
    extends MonoidHomClass F A B : Prop where
    map_continuous (f : F) : Continuous f
Arguments: {F : Type u_1} {A : outParam (Type u_7)} {B : outParam (Type u_8)} [Monoid A] [Monoid B] [TopologicalSpace A] [TopologicalSpace B] [FunLike F A B] [self : ContinuousMonoidHomClass F A B] (f : F)
Goal: Continuous ⇑f
-- ContinuousAddMonoidHom.ext
@[to_additive (attr := ext)]
theorem ext {f g : ContinuousMonoidHom A B} (h : ∀ x, f x = g x) : f = g 
Arguments: {A : Type u_2} {B : Type u_3} [AddMonoid A] [AddMonoid B] [TopologicalSpace A] [TopologicalSpace B] {f g : ContinuousAddMonoidHom A B} (h : ∀ (x : A), f x = g x)
Goal: f = g
-- ContinuousMonoidHom.ext
@[to_additive (attr := ext)]
theorem ext {f g : ContinuousMonoidHom A B} (h : ∀ x, f x = g x) : f = g 
Arguments: {A : Type u_2} {B : Type u_3} [Monoid A] [Monoid B] [TopologicalSpace A] [TopologicalSpace B] {f g : ContinuousMonoidHom A B} (h : ∀ (x : A), f x = g x)
Goal: f = g
-- ContinuousAddMonoidHom.toContinuousMap_injective
@[to_additive]
theorem toContinuousMap_injective : Injective (toContinuousMap : _ → C(A, B)) 
Arguments: {A : Type u_2} {B : Type u_3} [AddMonoid A] [AddMonoid B] [TopologicalSpace A] [TopologicalSpace B]
Goal: Function.Injective ContinuousAddMonoidHom.toContinuousMap
-- ContinuousMonoidHom.toContinuousMap_injective
@[to_additive]
theorem toContinuousMap_injective : Injective (toContinuousMap : _ → C(A, B)) 
Arguments: {A : Type u_2} {B : Type u_3} [Monoid A] [Monoid B] [TopologicalSpace A] [TopologicalSpace B]
Goal: Function.Injective ContinuousMonoidHom.toContinuousMap
-- ContinuousAddMonoidHom.comp_toFun
@[to_additive (attr := simps!) "Composition of two continuous homomorphisms."]
def comp (g : ContinuousMonoidHom B C) (f : ContinuousMonoidHom A B) : ContinuousMonoidHom A C 
Arguments: {A : Type u_2} {B : Type u_3} {C : Type u_4} [AddMonoid A] [AddMonoid B] [AddMonoid C] [TopologicalSpace A] [TopologicalSpace B] [TopologicalSpace C] (g : ContinuousAddMonoidHom B C) (f : ContinuousAddMonoidHom A B)
Goal: ∀ (a : A), (g.comp f) a = g.toAddMonoidHom (f.toAddMonoidHom a)
-- ContinuousMonoidHom.comp_toFun
@[to_additive (attr := simps!) "Composition of two continuous homomorphisms."]
def comp (g : ContinuousMonoidHom B C) (f : ContinuousMonoidHom A B) : ContinuousMonoidHom A C 
Arguments: {A : Type u_2} {B : Type u_3} {C : Type u_4} [Monoid A] [Monoid B] [Monoid C] [TopologicalSpace A] [TopologicalSpace B] [TopologicalSpace C] (g : ContinuousMonoidHom B C) (f : ContinuousMonoidHom A B)
Goal: ∀ (a : A), (g.comp f) a = g.toMonoidHom (f.toMonoidHom a)
-- ContinuousMonoidHom.prod_toFun
@[to_additive (attr := simps!) "Product of two continuous homomorphisms on the same space."]
def prod (f : ContinuousMonoidHom A B) (g : ContinuousMonoidHom A C) :
    ContinuousMonoidHom A (B × C) 
Arguments: {A : Type u_2} {B : Type u_3} {C : Type u_4} [Monoid A] [Monoid B] [Monoid C] [TopologicalSpace A] [TopologicalSpace B] [TopologicalSpace C] (f : ContinuousMonoidHom A B) (g : ContinuousMonoidHom A C) (i : A)
Goal: (f.prod g) i = (f.toMonoidHom i, g.toMonoidHom i)
-- ContinuousAddMonoidHom.sum_toFun
@[to_additive (attr := simps!) "Product of two continuous homomorphisms on the same space."]
def prod (f : ContinuousMonoidHom A B) (g : ContinuousMonoidHom A C) :
    ContinuousMonoidHom A (B × C) 
Arguments: {A : Type u_2} {B : Type u_3} {C : Type u_4} [AddMonoid A] [AddMonoid B] [AddMonoid C] [TopologicalSpace A] [TopologicalSpace B] [TopologicalSpace C] (f : ContinuousAddMonoidHom A B) (g : ContinuousAddMonoidHom A C) (i : A)
Goal: (f.sum g) i = (f.toAddMonoidHom i, g.toAddMonoidHom i)