ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- UniformCauchySeqOn.div
@[to_additive]
theorem UniformCauchySeqOn.div (hf : UniformCauchySeqOn f l s) (hf' : UniformCauchySeqOn f' l s) :
    UniformCauchySeqOn (f / f') l s 
Arguments: {α : Type u_1} {β : Type u_2} [UniformSpace α] [Group α] [UniformGroup α] {ι : Type u_3} {l : Filter ι} {f f' : ι → β → α} {s : Set β} (hf : UniformCauchySeqOn f l s) (hf' : UniformCauchySeqOn f' l s)
Goal: UniformCauchySeqOn (f / f') l s
-- uniformity_eq_comap_nhds_zero'
@[to_additive]
theorem uniformity_eq_comap_nhds_one' : 𝓤 G = comap (fun p : G × G => p.2 / p.1) (𝓝 (1 : G)) 
Arguments: (G : Type u_1) [AddGroup G] [TopologicalSpace G] [TopologicalAddGroup G]
Goal: 𝓤 G = Filter.comap (fun p => p.2 - p.1) (𝓝 0)
-- uniformity_eq_comap_nhds_one'
@[to_additive]
theorem uniformity_eq_comap_nhds_one' : 𝓤 G = comap (fun p : G × G => p.2 / p.1) (𝓝 (1 : G)) 
Arguments: (G : Type u_1) [Group G] [TopologicalSpace G] [TopologicalGroup G]
Goal: 𝓤 G = Filter.comap (fun p => p.2 / p.1) (𝓝 1)
-- topologicalAddGroup_is_uniform_of_compactSpace
@[to_additive]
theorem topologicalGroup_is_uniform_of_compactSpace [CompactSpace G] : UniformGroup G 
Arguments: (G : Type u_1) [AddGroup G] [TopologicalSpace G] [TopologicalAddGroup G] [CompactSpace G]
Goal: UniformAddGroup G
-- topologicalGroup_is_uniform_of_compactSpace
@[to_additive]
theorem topologicalGroup_is_uniform_of_compactSpace [CompactSpace G] : UniformGroup G 
Arguments: (G : Type u_1) [Group G] [TopologicalSpace G] [TopologicalGroup G] [CompactSpace G]
Goal: UniformGroup G
-- AddSubgroup.tendsto_coe_cofinite_of_discrete
@[to_additive]
lemma Subgroup.tendsto_coe_cofinite_of_discrete [T2Space G] (H : Subgroup G) [DiscreteTopology H] :
    Tendsto ((↑) : H → G) cofinite (cocompact _) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [TopologicalAddGroup G] [T2Space G] (H : AddSubgroup G) [DiscreteTopology ↥H]
Goal: Filter.Tendsto Subtype.val Filter.cofinite (Filter.cocompact G)
-- Subgroup.tendsto_coe_cofinite_of_discrete
@[to_additive]
lemma Subgroup.tendsto_coe_cofinite_of_discrete [T2Space G] (H : Subgroup G) [DiscreteTopology H] :
    Tendsto ((↑) : H → G) cofinite (cocompact _) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [TopologicalGroup G] [T2Space G] (H : Subgroup G) [DiscreteTopology ↥H]
Goal: Filter.Tendsto Subtype.val Filter.cofinite (Filter.cocompact G)
-- MonoidHom.tendsto_coe_cofinite_of_discrete
@[to_additive]
lemma MonoidHom.tendsto_coe_cofinite_of_discrete [T2Space G] {H : Type*} [Group H] {f : H →* G}
    (hf : Function.Injective f) (hf' : DiscreteTopology f.range) :
    Tendsto f cofinite (cocompact _) 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [TopologicalGroup G] [T2Space G] {H : Type u_2} [Group H] {f : H →* G} (hf : Function.Injective ⇑f) (hf' : DiscreteTopology ↥f.range)
Goal: Filter.Tendsto (⇑f) Filter.cofinite (Filter.cocompact G)
-- AddMonoidHom.tendsto_coe_cofinite_of_discrete
@[to_additive]
lemma MonoidHom.tendsto_coe_cofinite_of_discrete [T2Space G] {H : Type*} [Group H] {f : H →* G}
    (hf : Function.Injective f) (hf' : DiscreteTopology f.range) :
    Tendsto f cofinite (cocompact _) 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [TopologicalAddGroup G] [T2Space G] {H : Type u_2} [AddGroup H] {f : H →+ G} (hf : Function.Injective ⇑f) (hf' : DiscreteTopology ↥f.range)
Goal: Filter.Tendsto (⇑f) Filter.cofinite (Filter.cocompact G)
-- TopologicalGroup.tendstoUniformly_iff
@[to_additive]
theorem TopologicalGroup.tendstoUniformly_iff {ι α : Type*} (F : ι → α → G) (f : α → G)
    (p : Filter ι) :
    @TendstoUniformly α G ι (TopologicalGroup.toUniformSpace G) F f p ↔
      ∀ u ∈ 𝓝 (1 : G), ∀ᶠ i in p, ∀ a, F i a / f a ∈ u 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [TopologicalGroup G] {ι : Type u_2} {α : Type u_3} (F : ι → α → G) (f : α → G) (p : Filter ι)
Goal: TendstoUniformly F f p ↔ ∀ u ∈ 𝓝 1, ∀ᶠ (i : ι) in p, ∀ (a : α), F i a / f a ∈ u
-- TopologicalAddGroup.tendstoUniformly_iff
@[to_additive]
theorem TopologicalGroup.tendstoUniformly_iff {ι α : Type*} (F : ι → α → G) (f : α → G)
    (p : Filter ι) :
    @TendstoUniformly α G ι (TopologicalGroup.toUniformSpace G) F f p ↔
      ∀ u ∈ 𝓝 (1 : G), ∀ᶠ i in p, ∀ a, F i a / f a ∈ u 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [TopologicalAddGroup G] {ι : Type u_2} {α : Type u_3} (F : ι → α → G) (f : α → G) (p : Filter ι)
Goal: TendstoUniformly F f p ↔ ∀ u ∈ 𝓝 0, ∀ᶠ (i : ι) in p, ∀ (a : α), F i a - f a ∈ u
-- TopologicalGroup.tendstoUniformlyOn_iff
@[to_additive]
theorem TopologicalGroup.tendstoUniformlyOn_iff {ι α : Type*} (F : ι → α → G) (f : α → G)
    (p : Filter ι) (s : Set α) :
    @TendstoUniformlyOn α G ι (TopologicalGroup.toUniformSpace G) F f p s ↔
      ∀ u ∈ 𝓝 (1 : G), ∀ᶠ i in p, ∀ a ∈ s, F i a / f a ∈ u 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [TopologicalGroup G] {ι : Type u_2} {α : Type u_3} (F : ι → α → G) (f : α → G) (p : Filter ι) (s : Set α)
Goal: TendstoUniformlyOn F f p s ↔ ∀ u ∈ 𝓝 1, ∀ᶠ (i : ι) in p, ∀ a ∈ s, F i a / f a ∈ u
-- TopologicalAddGroup.tendstoUniformlyOn_iff
@[to_additive]
theorem TopologicalGroup.tendstoUniformlyOn_iff {ι α : Type*} (F : ι → α → G) (f : α → G)
    (p : Filter ι) (s : Set α) :
    @TendstoUniformlyOn α G ι (TopologicalGroup.toUniformSpace G) F f p s ↔
      ∀ u ∈ 𝓝 (1 : G), ∀ᶠ i in p, ∀ a ∈ s, F i a / f a ∈ u 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [TopologicalAddGroup G] {ι : Type u_2} {α : Type u_3} (F : ι → α → G) (f : α → G) (p : Filter ι) (s : Set α)
Goal: TendstoUniformlyOn F f p s ↔ ∀ u ∈ 𝓝 0, ∀ᶠ (i : ι) in p, ∀ a ∈ s, F i a - f a ∈ u
-- TopologicalGroup.tendstoLocallyUniformly_iff
@[to_additive]
theorem TopologicalGroup.tendstoLocallyUniformly_iff {ι α : Type*} [TopologicalSpace α]
    (F : ι → α → G) (f : α → G) (p : Filter ι) :
    @TendstoLocallyUniformly α G ι (TopologicalGroup.toUniformSpace G) _ F f p ↔
      ∀ u ∈ 𝓝 (1 : G), ∀ (x : α), ∃ t ∈ 𝓝 x, ∀ᶠ i in p, ∀ a ∈ t, F i a / f a ∈ u 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [TopologicalGroup G] {ι : Type u_2} {α : Type u_3} [TopologicalSpace α] (F : ι → α → G) (f : α → G) (p : Filter ι)
Goal: TendstoLocallyUniformly F f p ↔ ∀ u ∈ 𝓝 1, ∀ (x : α), ∃ t ∈ 𝓝 x, ∀ᶠ (i : ι) in p, ∀ a ∈ t, F i a / f a ∈ u
-- TopologicalAddGroup.tendstoLocallyUniformly_iff
@[to_additive]
theorem TopologicalGroup.tendstoLocallyUniformly_iff {ι α : Type*} [TopologicalSpace α]
    (F : ι → α → G) (f : α → G) (p : Filter ι) :
    @TendstoLocallyUniformly α G ι (TopologicalGroup.toUniformSpace G) _ F f p ↔
      ∀ u ∈ 𝓝 (1 : G), ∀ (x : α), ∃ t ∈ 𝓝 x, ∀ᶠ i in p, ∀ a ∈ t, F i a / f a ∈ u 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [TopologicalAddGroup G] {ι : Type u_2} {α : Type u_3} [TopologicalSpace α] (F : ι → α → G) (f : α → G) (p : Filter ι)
Goal: TendstoLocallyUniformly F f p ↔ ∀ u ∈ 𝓝 0, ∀ (x : α), ∃ t ∈ 𝓝 x, ∀ᶠ (i : ι) in p, ∀ a ∈ t, F i a - f a ∈ u
-- TopologicalGroup.tendstoLocallyUniformlyOn_iff
@[to_additive]
theorem TopologicalGroup.tendstoLocallyUniformlyOn_iff {ι α : Type*} [TopologicalSpace α]
    (F : ι → α → G) (f : α → G) (p : Filter ι) (s : Set α) :
    @TendstoLocallyUniformlyOn α G ι (TopologicalGroup.toUniformSpace G) _ F f p s ↔
      ∀ u ∈ 𝓝 (1 : G), ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, ∀ᶠ i in p, ∀ a ∈ t, F i a / f a ∈ u 
Arguments: {G : Type u_1} [Group G] [TopologicalSpace G] [TopologicalGroup G] {ι : Type u_2} {α : Type u_3} [TopologicalSpace α] (F : ι → α → G) (f : α → G) (p : Filter ι) (s : Set α)
Goal: TendstoLocallyUniformlyOn F f p s ↔ ∀ u ∈ 𝓝 1, ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, ∀ᶠ (i : ι) in p, ∀ a ∈ t, F i a / f a ∈ u
-- TopologicalAddGroup.tendstoLocallyUniformlyOn_iff
@[to_additive]
theorem TopologicalGroup.tendstoLocallyUniformlyOn_iff {ι α : Type*} [TopologicalSpace α]
    (F : ι → α → G) (f : α → G) (p : Filter ι) (s : Set α) :
    @TendstoLocallyUniformlyOn α G ι (TopologicalGroup.toUniformSpace G) _ F f p s ↔
      ∀ u ∈ 𝓝 (1 : G), ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, ∀ᶠ i in p, ∀ a ∈ t, F i a / f a ∈ u 
Arguments: {G : Type u_1} [AddGroup G] [TopologicalSpace G] [TopologicalAddGroup G] {ι : Type u_2} {α : Type u_3} [TopologicalSpace α] (F : ι → α → G) (f : α → G) (p : Filter ι) (s : Set α)
Goal: TendstoLocallyUniformlyOn F f p s ↔ ∀ u ∈ 𝓝 0, ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, ∀ᶠ (i : ι) in p, ∀ a ∈ t, F i a - f a ∈ u
-- comm_topologicalGroup_is_uniform
@[to_additive]
-- Porting note: renamed theorem to conform to naming convention
theorem comm_topologicalGroup_is_uniform : UniformGroup G 
Arguments: {G : Type u_1} [CommGroup G] [TopologicalSpace G] [TopologicalGroup G]
Goal: UniformGroup G
-- comm_topologicalAddGroup_is_uniform
@[to_additive]
-- Porting note: renamed theorem to conform to naming convention
theorem comm_topologicalGroup_is_uniform : UniformGroup G 
Arguments: {G : Type u_1} [AddCommGroup G] [TopologicalSpace G] [TopologicalAddGroup G]
Goal: UniformAddGroup G
-- UniformAddGroup.toUniformSpace_eq
@[to_additive]
theorem UniformGroup.toUniformSpace_eq {G : Type*} [u : UniformSpace G] [Group G]
    [UniformGroup G] : TopologicalGroup.toUniformSpace G = u 
Arguments: {G : Type u_2} [u : UniformSpace G] [AddGroup G] [UniformAddGroup G]
Goal: TopologicalAddGroup.toUniformSpace G = u
-- UniformGroup.toUniformSpace_eq
@[to_additive]
theorem UniformGroup.toUniformSpace_eq {G : Type*} [u : UniformSpace G] [Group G]
    [UniformGroup G] : TopologicalGroup.toUniformSpace G = u 
Arguments: {G : Type u_2} [u : UniformSpace G] [Group G] [UniformGroup G]
Goal: TopologicalGroup.toUniformSpace G = u
-- tendsto_sub_comap_self
@[to_additive]
theorem tendsto_div_comap_self (x₀ : α) :
    Tendsto (fun t : β × β => t.2 / t.1) ((comap fun p : β × β => (e p.1, e p.2)) <| 𝓝 (x₀, x₀))
      (𝓝 1) 
Arguments: {α : Type u_1} {β : Type u_2} {hom : Type u_3} [TopologicalSpace α] [AddGroup α] [TopologicalAddGroup α] [TopologicalSpace β] [AddGroup β] [FunLike hom β α] [AddMonoidHomClass hom β α] {e : hom} (de : DenseInducing ⇑e) (x₀ : α)
Goal: Filter.Tendsto (fun t => t.2 - t.1) (Filter.comap (fun p => (e p.1, e p.2)) (𝓝 (x₀, x₀))) (𝓝 0)
-- tendsto_div_comap_self
@[to_additive]
theorem tendsto_div_comap_self (x₀ : α) :
    Tendsto (fun t : β × β => t.2 / t.1) ((comap fun p : β × β => (e p.1, e p.2)) <| 𝓝 (x₀, x₀))
      (𝓝 1) 
Arguments: {α : Type u_1} {β : Type u_2} {hom : Type u_3} [TopologicalSpace α] [Group α] [TopologicalGroup α] [TopologicalSpace β] [Group β] [FunLike hom β α] [MonoidHomClass hom β α] {e : hom} (de : DenseInducing ⇑e) (x₀ : α)
Goal: Filter.Tendsto (fun t => t.2 / t.1) (Filter.comap (fun p => (e p.1, e p.2)) (𝓝 (x₀, x₀))) (𝓝 1)
-- _private.Mathlib.Topology.Algebra.UniformGroup.0.DenseInducing.extend_Z_bilin_aux
private theorem extend_Z_bilin_aux (x₀ : α) (y₁ : δ) : ∃ U₂ ∈ comap e (𝓝 x₀), ∀ x ∈ U₂, ∀ x' ∈ U₂,
    (fun p : β × δ => φ p.1 p.2) (x' - x, y₁) ∈ W' 
Arguments: {α : Type u_1} {β : Type u_2} {δ : Type u_4} {G : Type u_5} [TopologicalSpace α] [AddCommGroup α] [TopologicalAddGroup α] [TopologicalSpace β] [AddCommGroup β] [TopologicalSpace δ] [AddCommGroup δ] [UniformSpace G] [AddCommGroup G] {e : β →+ α} (de : DenseInducing ⇑e) {φ : β →+ δ →+ G} (hφ : Continuous fun p => (φ p.1) p.2) {W' : Set G} (W'_nhd : W' ∈ 𝓝 0) (x₀ : α) (y₁ : δ)
Goal: ∃ U₂ ∈ Filter.comap (⇑e) (𝓝 x₀), ∀ x ∈ U₂, ∀ x' ∈ U₂, (fun p => (φ p.1) p.2) (x' - x, y₁) ∈ W'
-- _private.Mathlib.Topology.Algebra.UniformGroup.0.DenseInducing.extend_Z_bilin_key
private theorem extend_Z_bilin_key (x₀ : α) (y₀ : γ) : ∃ U ∈ comap e (𝓝 x₀), ∃ V ∈ comap f (𝓝 y₀),
    ∀ x ∈ U, ∀ x' ∈ U, ∀ (y) (_ : y ∈ V) (y') (_ : y' ∈ V),
    (fun p : β × δ => φ p.1 p.2) (x', y') - (fun p : β × δ => φ p.1 p.2) (x, y) ∈ W' 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {G : Type u_5} [TopologicalSpace α] [AddCommGroup α] [TopologicalAddGroup α] [TopologicalSpace β] [AddCommGroup β] [TopologicalSpace γ] [AddCommGroup γ] [TopologicalAddGroup γ] [TopologicalSpace δ] [AddCommGroup δ] [UniformSpace G] [AddCommGroup G] [UniformAddGroup G] {e : β →+ α} (de : DenseInducing ⇑e) {f : δ →+ γ} (df : DenseInducing ⇑f) {φ : β →+ δ →+ G} (hφ : Continuous fun p => (φ p.1) p.2) {W' : Set G} (W'_nhd : W' ∈ 𝓝 0) (x₀ : α) (y₀ : γ)
Goal: ∃ U ∈ Filter.comap (⇑e) (𝓝 x₀),
  ∃ V ∈ Filter.comap (⇑f) (𝓝 y₀),
    ∀ x ∈ U, ∀ x' ∈ U, ∀ y ∈ V, ∀ y' ∈ V, (fun p => (φ p.1) p.2) (x', y') - (fun p => (φ p.1) p.2) (x, y) ∈ W'
-- DenseInducing.extend_Z_bilin
theorem extend_Z_bilin : Continuous (extend (de.prod df) (fun p : β × δ => φ p.1 p.2)) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {G : Type u_5} [TopologicalSpace α] [AddCommGroup α] [TopologicalAddGroup α] [TopologicalSpace β] [AddCommGroup β] [TopologicalSpace γ] [AddCommGroup γ] [TopologicalAddGroup γ] [TopologicalSpace δ] [AddCommGroup δ] [UniformSpace G] [AddCommGroup G] [UniformAddGroup G] [T0Space G] [CompleteSpace G] {e : β →+ α} (de : DenseInducing ⇑e) {f : δ →+ γ} (df : DenseInducing ⇑f) {φ : β →+ δ →+ G} (hφ : Continuous fun p => (φ p.1) p.2)
Goal: Continuous (⋯.extend fun p => (φ p.1) p.2)
-- TopCat.GlueData.f_open
-- porting note (#5171): removed @[nolint has_nonempty_instance]
structure GlueData extends GlueData TopCat where
  f_open : ∀ i j, OpenEmbedding (f i j)
  f_mono := fun i j => (TopCat.mono_iff_injective _).mpr (f_open i j).toEmbedding.inj
Arguments: (self : TopCat.GlueData) (i j : self.J)
Goal: OpenEmbedding ⇑(self.f i j)
-- TopCat.GlueData.π_surjective
theorem π_surjective : Function.Surjective 𝖣.π 
Arguments: (D : TopCat.GlueData)
Goal: Function.Surjective ⇑D.π
-- TopCat.GlueData.isOpen_iff
theorem isOpen_iff (U : Set 𝖣.glued) : IsOpen U ↔ ∀ i, IsOpen (𝖣.ι i ⁻¹' U) 
Arguments: (D : TopCat.GlueData) (U : Set ↑D.glued)
Goal: IsOpen U ↔ ∀ (i : D.J), IsOpen (⇑(D.ι i) ⁻¹' U)
-- TopCat.GlueData.ι_jointly_surjective
theorem ι_jointly_surjective (x : 𝖣.glued) : ∃ (i : _) (y : D.U i), 𝖣.ι i y = x 
Arguments: (D : TopCat.GlueData) (x : ↑D.glued)
Goal: ∃ i y, (D.ι i) y = x
-- TopCat.GlueData.rel_equiv
theorem rel_equiv : Equivalence D.Rel 
Arguments: (D : TopCat.GlueData)
Goal: Equivalence D.Rel
-- TopCat.GlueData.eqvGen_of_π_eq
theorem eqvGen_of_π_eq
    -- Porting note: was `{x y : ∐ D.U} (h : 𝖣.π x = 𝖣.π y)`
    {x y : sigmaObj (β := D.toGlueData.J) (C := TopCat) D.toGlueData.U}
    (h : 𝖣.π x = 𝖣.π y) :
    EqvGen
      -- Porting note: was (Types.CoequalizerRel 𝖣.diagram.fstSigmaMap 𝖣.diagram.sndSigmaMap)
      (Types.CoequalizerRel
        (X := sigmaObj (β := D.toGlueData.diagram.L) (C := TopCat) (D.toGlueData.diagram).left)
        (Y := sigmaObj (β := D.toGlueData.diagram.R) (C := TopCat) (D.toGlueData.diagram).right)
        𝖣.diagram.fstSigmaMap 𝖣.diagram.sndSigmaMap)
      x y 
Arguments: (D : TopCat.GlueData) {x y : ↑(∐ D.U)} (h : D.π x = D.π y)
Goal: EqvGen (CategoryTheory.Limits.Types.CoequalizerRel ⇑D.diagram.fstSigmaMap ⇑D.diagram.sndSigmaMap) x y
-- TopCat.GlueData.ι_eq_iff_rel
theorem ι_eq_iff_rel (i j : D.J) (x : D.U i) (y : D.U j) :
    𝖣.ι i x = 𝖣.ι j y ↔ D.Rel ⟨i, x⟩ ⟨j, y⟩ 
Arguments: (D : TopCat.GlueData) (i j : D.J) (x : ↑(D.U i)) (y : ↑(D.U j))
Goal: (D.ι i) x = (D.ι j) y ↔ D.Rel ⟨i, x⟩ ⟨j, y⟩
-- TopCat.GlueData.ι_injective
theorem ι_injective (i : D.J) : Function.Injective (𝖣.ι i) 
Arguments: (D : TopCat.GlueData) (i : D.J)
Goal: Function.Injective ⇑(D.ι i)
-- TopCat.GlueData.image_inter
theorem image_inter (i j : D.J) :
    Set.range (𝖣.ι i) ∩ Set.range (𝖣.ι j) = Set.range (D.f i j ≫ 𝖣.ι _) 
Arguments: (D : TopCat.GlueData) (i j : D.J)
Goal: Set.range ⇑(D.ι i) ∩ Set.range ⇑(D.ι j) = Set.range ⇑(D.f i j ≫ D.ι i)
-- TopCat.GlueData.preimage_range
theorem preimage_range (i j : D.J) : 𝖣.ι j ⁻¹' Set.range (𝖣.ι i) = Set.range (D.f j i) 
Arguments: (D : TopCat.GlueData) (i j : D.J)
Goal: ⇑(D.ι j) ⁻¹' Set.range ⇑(D.ι i) = Set.range ⇑(D.f j i)
-- TopCat.GlueData.preimage_image_eq_image
theorem preimage_image_eq_image (i j : D.J) (U : Set (𝖣.U i)) :
    𝖣.ι j ⁻¹' (𝖣.ι i '' U) = D.f _ _ '' ((D.t j i ≫ D.f _ _) ⁻¹' U) 
Arguments: (D : TopCat.GlueData) (i j : D.J) (U : Set ↑(D.U i))
Goal: ⇑(D.ι j) ⁻¹' (⇑(D.ι i) '' U) = ⇑(D.f j i) '' (⇑(D.t j i ≫ D.f i j) ⁻¹' U)
-- TopCat.GlueData.preimage_image_eq_image'
theorem preimage_image_eq_image' (i j : D.J) (U : Set (𝖣.U i)) :
    𝖣.ι j ⁻¹' (𝖣.ι i '' U) = (D.t i j ≫ D.f _ _) '' (D.f _ _ ⁻¹' U) 
Arguments: (D : TopCat.GlueData) (i j : D.J) (U : Set ↑(D.U i))
Goal: ⇑(D.ι j) ⁻¹' (⇑(D.ι i) '' U) = ⇑(D.t i j ≫ D.f j i) '' (⇑(D.f i j) ⁻¹' U)
-- TopCat.GlueData.open_image_open
theorem open_image_open (i : D.J) (U : Opens (𝖣.U i)) : IsOpen (𝖣.ι i '' (U : Set (D.U i))) 
Arguments: (D : TopCat.GlueData) (i : D.J) (U : TopologicalSpace.Opens ↑(D.U i))
Goal: IsOpen (⇑(D.ι i) '' ↑U)
-- TopCat.GlueData.ι_openEmbedding
theorem ι_openEmbedding (i : D.J) : OpenEmbedding (𝖣.ι i) 
Arguments: (D : TopCat.GlueData) (i : D.J)
Goal: OpenEmbedding ⇑(D.ι i)
-- TopCat.GlueData.MkCore.V_id
-- Porting note(#5171): removed `@[nolint has_nonempty_instance]`
structure MkCore where
  {J : Type u}
  U : J → TopCat.{u}
  V : ∀ i, J → Opens (U i)
  t : ∀ i j, (Opens.toTopCat _).obj (V i j) ⟶ (Opens.toTopCat _).obj (V j i)
  V_id : ∀ i, V i i = ⊤
  t_id : ∀ i, ⇑(t i i) = id
  t_inter : ∀ ⦃i j⦄ (k) (x : V i j), ↑x ∈ V i k → (((↑) : (V j i) → (U j)) (t i j x)) ∈ V j k
  cocycle :
    ∀ (i j k) (x : V i j) (h : ↑x ∈ V i k),
      -- Porting note: the underscore in the next line was `↑(t i j x)`, but Lean type-mismatched
      (((↑) : (V k j) → (U k)) (t j k ⟨_, t_inter k x h⟩)) = ((↑) : (V k i) → (U k)) (t i k ⟨x, h⟩)
Arguments: (self : TopCat.GlueData.MkCore) (i : self.J)
Goal: self.V i i = ⊤
-- TopCat.GlueData.MkCore.t_inter
-- Porting note(#5171): removed `@[nolint has_nonempty_instance]`
structure MkCore where
  {J : Type u}
  U : J → TopCat.{u}
  V : ∀ i, J → Opens (U i)
  t : ∀ i j, (Opens.toTopCat _).obj (V i j) ⟶ (Opens.toTopCat _).obj (V j i)
  V_id : ∀ i, V i i = ⊤
  t_id : ∀ i, ⇑(t i i) = id
  t_inter : ∀ ⦃i j⦄ (k) (x : V i j), ↑x ∈ V i k → (((↑) : (V j i) → (U j)) (t i j x)) ∈ V j k
  cocycle :
    ∀ (i j k) (x : V i j) (h : ↑x ∈ V i k),
      -- Porting note: the underscore in the next line was `↑(t i j x)`, but Lean type-mismatched
      (((↑) : (V k j) → (U k)) (t j k ⟨_, t_inter k x h⟩)) = ((↑) : (V k i) → (U k)) (t i k ⟨x, h⟩)
Arguments: (self : TopCat.GlueData.MkCore) ⦃i j : self.J⦄ (k : self.J) (x : ↥(self.V i j))
Goal: ↑x ∈ self.V i k → ↑((self.t i j) x) ∈ self.V j k
-- TopCat.GlueData.MkCore.t_id
-- Porting note(#5171): removed `@[nolint has_nonempty_instance]`
structure MkCore where
  {J : Type u}
  U : J → TopCat.{u}
  V : ∀ i, J → Opens (U i)
  t : ∀ i j, (Opens.toTopCat _).obj (V i j) ⟶ (Opens.toTopCat _).obj (V j i)
  V_id : ∀ i, V i i = ⊤
  t_id : ∀ i, ⇑(t i i) = id
  t_inter : ∀ ⦃i j⦄ (k) (x : V i j), ↑x ∈ V i k → (((↑) : (V j i) → (U j)) (t i j x)) ∈ V j k
  cocycle :
    ∀ (i j k) (x : V i j) (h : ↑x ∈ V i k),
      -- Porting note: the underscore in the next line was `↑(t i j x)`, but Lean type-mismatched
      (((↑) : (V k j) → (U k)) (t j k ⟨_, t_inter k x h⟩)) = ((↑) : (V k i) → (U k)) (t i k ⟨x, h⟩)
Arguments: (self : TopCat.GlueData.MkCore) (i : self.J)
Goal: ⇑(self.t i i) = id
-- TopCat.GlueData.MkCore.cocycle
-- Porting note(#5171): removed `@[nolint has_nonempty_instance]`
structure MkCore where
  {J : Type u}
  U : J → TopCat.{u}
  V : ∀ i, J → Opens (U i)
  t : ∀ i j, (Opens.toTopCat _).obj (V i j) ⟶ (Opens.toTopCat _).obj (V j i)
  V_id : ∀ i, V i i = ⊤
  t_id : ∀ i, ⇑(t i i) = id
  t_inter : ∀ ⦃i j⦄ (k) (x : V i j), ↑x ∈ V i k → (((↑) : (V j i) → (U j)) (t i j x)) ∈ V j k
  cocycle :
    ∀ (i j k) (x : V i j) (h : ↑x ∈ V i k),
      -- Porting note: the underscore in the next line was `↑(t i j x)`, but Lean type-mismatched
      (((↑) : (V k j) → (U k)) (t j k ⟨_, t_inter k x h⟩)) = ((↑) : (V k i) → (U k)) (t i k ⟨x, h⟩)
Arguments: (self : TopCat.GlueData.MkCore) (i j k : self.J) (x : ↥(self.V i j)) (h : ↑x ∈ self.V i k)
Goal: ↑((self.t j k) ⟨↑((self.t i j) x), ⋯⟩) = ↑((self.t i k) ⟨↑x, h⟩)
-- TopCat.GlueData.MkCore.t_inv
theorem MkCore.t_inv (h : MkCore) (i j : h.J) (x : h.V j i) : h.t i j ((h.t j i) x) = x 
Arguments: (h : TopCat.GlueData.MkCore) (i j : h.J) (x : ↥(h.V j i))
Goal: (h.t i j) ((h.t j i) x) = x
-- TopCat.GlueData.ofOpenSubsets_toGlueData_J
@[simps! toGlueData_J toGlueData_U toGlueData_V toGlueData_t toGlueData_f]
def ofOpenSubsets : TopCat.GlueData.{u} 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α)
Goal: (TopCat.GlueData.ofOpenSubsets U).J = J
-- TopCat.GlueData.ofOpenSubsets_toGlueData_V
@[simps! toGlueData_J toGlueData_U toGlueData_V toGlueData_t toGlueData_f]
def ofOpenSubsets : TopCat.GlueData.{u} 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α) (i :
  (TopCat.GlueData.MkCore.mk (fun i => (TopologicalSpace.Opens.toTopCat (TopCat.of α)).obj (U i))
        (fun i j => (TopologicalSpace.Opens.map (U i).inclusion).obj (U j))
        (fun i j => { toFun := fun x => ⟨⟨↑↑x, ⋯⟩, ⋯⟩, continuous_toFun := ⋯ }) ⋯ ⋯ ⋯ ⋯).J ×
    (TopCat.GlueData.MkCore.mk (fun i => (TopologicalSpace.Opens.toTopCat (TopCat.of α)).obj (U i))
        (fun i j => (TopologicalSpace.Opens.map (U i).inclusion).obj (U j))
        (fun i j => { toFun := fun x => ⟨⟨↑↑x, ⋯⟩, ⋯⟩, continuous_toFun := ⋯ }) ⋯ ⋯ ⋯ ⋯).J)
Goal: (TopCat.GlueData.ofOpenSubsets U).V i =
  (TopologicalSpace.Opens.toTopCat ((TopologicalSpace.Opens.toTopCat (TopCat.of α)).obj (U i.1))).obj
    ((TopologicalSpace.Opens.map (U i.1).inclusion).obj (U i.2))
-- TopCat.GlueData.ofOpenSubsets_toGlueData_f
@[simps! toGlueData_J toGlueData_U toGlueData_V toGlueData_t toGlueData_f]
def ofOpenSubsets : TopCat.GlueData.{u} 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α) (i j :
  (TopCat.GlueData.MkCore.mk (fun i => (TopologicalSpace.Opens.toTopCat (TopCat.of α)).obj (U i))
      (fun i j => (TopologicalSpace.Opens.map (U i).inclusion).obj (U j))
      (fun i j => { toFun := fun x => ⟨⟨↑↑x, ⋯⟩, ⋯⟩, continuous_toFun := ⋯ }) ⋯ ⋯ ⋯ ⋯).J)
Goal: (TopCat.GlueData.ofOpenSubsets U).f i j = ((TopologicalSpace.Opens.map (U i).inclusion).obj (U j)).inclusion
-- TopCat.GlueData.ofOpenSubsets_toGlueData_U
@[simps! toGlueData_J toGlueData_U toGlueData_V toGlueData_t toGlueData_f]
def ofOpenSubsets : TopCat.GlueData.{u} 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α)
Goal: ∀
  (a :
    (TopCat.GlueData.MkCore.mk (fun i => (TopologicalSpace.Opens.toTopCat (TopCat.of α)).obj (U i))
        (fun i j => (TopologicalSpace.Opens.map (U i).inclusion).obj (U j))
        (fun i j => { toFun := fun x => ⟨⟨↑↑x, ⋯⟩, ⋯⟩, continuous_toFun := ⋯ }) ⋯ ⋯ ⋯ ⋯).J),
  (TopCat.GlueData.ofOpenSubsets U).U a = (TopologicalSpace.Opens.toTopCat (TopCat.of α)).obj (U a)
-- TopCat.GlueData.ofOpenSubsets_toGlueData_t
@[simps! toGlueData_J toGlueData_U toGlueData_V toGlueData_t toGlueData_f]
def ofOpenSubsets : TopCat.GlueData.{u} 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α) (i j :
  (TopCat.GlueData.MkCore.mk (fun i => (TopologicalSpace.Opens.toTopCat (TopCat.of α)).obj (U i))
      (fun i j => (TopologicalSpace.Opens.map (U i).inclusion).obj (U j))
      (fun i j => { toFun := fun x => ⟨⟨↑↑x, ⋯⟩, ⋯⟩, continuous_toFun := ⋯ }) ⋯ ⋯ ⋯ ⋯).J)
Goal: (TopCat.GlueData.ofOpenSubsets U).t i j = { toFun := fun x => ⟨⟨↑↑x, ⋯⟩, ⋯⟩, continuous_toFun := ⋯ }
-- TopCat.GlueData.ι_fromOpenSubsetsGlue
@[simp, elementwise nosimp]
theorem ι_fromOpenSubsetsGlue (i : J) :
    (ofOpenSubsets U).toGlueData.ι i ≫ fromOpenSubsetsGlue U = Opens.inclusion _ 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α) (i : J)
Goal: (TopCat.GlueData.ofOpenSubsets U).ι i ≫ TopCat.GlueData.fromOpenSubsetsGlue U = (U i).inclusion
-- TopCat.GlueData.fromOpenSubsetsGlue_injective
theorem fromOpenSubsetsGlue_injective : Function.Injective (fromOpenSubsetsGlue U) 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α)
Goal: Function.Injective ⇑(TopCat.GlueData.fromOpenSubsetsGlue U)
-- TopCat.GlueData.fromOpenSubsetsGlue_isOpenMap
theorem fromOpenSubsetsGlue_isOpenMap : IsOpenMap (fromOpenSubsetsGlue U) 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α)
Goal: IsOpenMap ⇑(TopCat.GlueData.fromOpenSubsetsGlue U)