ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- TopCat.GlueData.fromOpenSubsetsGlue_openEmbedding
theorem fromOpenSubsetsGlue_openEmbedding : OpenEmbedding (fromOpenSubsetsGlue U) 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α)
Goal: OpenEmbedding ⇑(TopCat.GlueData.fromOpenSubsetsGlue U)
-- TopCat.GlueData.range_fromOpenSubsetsGlue
theorem range_fromOpenSubsetsGlue : Set.range (fromOpenSubsetsGlue U) = ⋃ i, (U i : Set α) 
Arguments: {α : Type u} [TopologicalSpace α] {J : Type u} (U : J → TopologicalSpace.Opens α)
Goal: Set.range ⇑(TopCat.GlueData.fromOpenSubsetsGlue U) = ⋃ i, ↑(U i)
-- StructureGroupoid.trans'
structure StructureGroupoid (H : Type u) [TopologicalSpace H] where
    members : Set (PartialHomeomorph H H)
    trans' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ∈ members → e ≫ₕ e' ∈ members
    symm' : ∀ e : PartialHomeomorph H H, e ∈ members → e.symm ∈ members
    id_mem' : PartialHomeomorph.refl H ∈ members
    locality' : ∀ e : PartialHomeomorph H H,
    (∀ x ∈ e.source, ∃ s, IsOpen s ∧ x ∈ s ∧ e.restr s ∈ members) → e ∈ members
    mem_of_eqOnSource' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ≈ e → e' ∈ members
Arguments: {H : Type u} [TopologicalSpace H] (self : StructureGroupoid H) (e e' : PartialHomeomorph H H)
Goal: e ∈ self.members → e' ∈ self.members → e ≫ₕ e' ∈ self.members
-- StructureGroupoid.symm'
structure StructureGroupoid (H : Type u) [TopologicalSpace H] where
    members : Set (PartialHomeomorph H H)
    trans' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ∈ members → e ≫ₕ e' ∈ members
    symm' : ∀ e : PartialHomeomorph H H, e ∈ members → e.symm ∈ members
    id_mem' : PartialHomeomorph.refl H ∈ members
    locality' : ∀ e : PartialHomeomorph H H,
    (∀ x ∈ e.source, ∃ s, IsOpen s ∧ x ∈ s ∧ e.restr s ∈ members) → e ∈ members
    mem_of_eqOnSource' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ≈ e → e' ∈ members
Arguments: {H : Type u} [TopologicalSpace H] (self : StructureGroupoid H) (e : PartialHomeomorph H H)
Goal: e ∈ self.members → e.symm ∈ self.members
-- StructureGroupoid.id_mem'
structure StructureGroupoid (H : Type u) [TopologicalSpace H] where
    members : Set (PartialHomeomorph H H)
    trans' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ∈ members → e ≫ₕ e' ∈ members
    symm' : ∀ e : PartialHomeomorph H H, e ∈ members → e.symm ∈ members
    id_mem' : PartialHomeomorph.refl H ∈ members
    locality' : ∀ e : PartialHomeomorph H H,
    (∀ x ∈ e.source, ∃ s, IsOpen s ∧ x ∈ s ∧ e.restr s ∈ members) → e ∈ members
    mem_of_eqOnSource' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ≈ e → e' ∈ members
Arguments: {H : Type u} [TopologicalSpace H] (self : StructureGroupoid H)
Goal: PartialHomeomorph.refl H ∈ self.members
-- StructureGroupoid.locality'
structure StructureGroupoid (H : Type u) [TopologicalSpace H] where
    members : Set (PartialHomeomorph H H)
    trans' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ∈ members → e ≫ₕ e' ∈ members
    symm' : ∀ e : PartialHomeomorph H H, e ∈ members → e.symm ∈ members
    id_mem' : PartialHomeomorph.refl H ∈ members
    locality' : ∀ e : PartialHomeomorph H H,
    (∀ x ∈ e.source, ∃ s, IsOpen s ∧ x ∈ s ∧ e.restr s ∈ members) → e ∈ members
    mem_of_eqOnSource' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ≈ e → e' ∈ members
Arguments: {H : Type u} [TopologicalSpace H] (self : StructureGroupoid H) (e : PartialHomeomorph H H)
Goal: (∀ x ∈ e.source, ∃ s, IsOpen s ∧ x ∈ s ∧ e.restr s ∈ self.members) → e ∈ self.members
-- StructureGroupoid.mem_of_eqOnSource'
structure StructureGroupoid (H : Type u) [TopologicalSpace H] where
    members : Set (PartialHomeomorph H H)
    trans' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ∈ members → e ≫ₕ e' ∈ members
    symm' : ∀ e : PartialHomeomorph H H, e ∈ members → e.symm ∈ members
    id_mem' : PartialHomeomorph.refl H ∈ members
    locality' : ∀ e : PartialHomeomorph H H,
    (∀ x ∈ e.source, ∃ s, IsOpen s ∧ x ∈ s ∧ e.restr s ∈ members) → e ∈ members
    mem_of_eqOnSource' : ∀ e e' : PartialHomeomorph H H, e ∈ members → e' ≈ e → e' ∈ members
Arguments: {H : Type u} [TopologicalSpace H] (self : StructureGroupoid H) (e e' : PartialHomeomorph H H)
Goal: e ∈ self.members → e' ≈ e → e' ∈ self.members
-- StructureGroupoid.trans
theorem StructureGroupoid.trans (G : StructureGroupoid H) {e e' : PartialHomeomorph H H}
    (he : e ∈ G) (he' : e' ∈ G) : e ≫ₕ e' ∈ G 
Arguments: {H : Type u} [TopologicalSpace H] (G : StructureGroupoid H) {e e' : PartialHomeomorph H H} (he : e ∈ G) (he' : e' ∈ G)
Goal: e ≫ₕ e' ∈ G
-- StructureGroupoid.symm
theorem StructureGroupoid.symm (G : StructureGroupoid H) {e : PartialHomeomorph H H} (he : e ∈ G) :
    e.symm ∈ G 
Arguments: {H : Type u} [TopologicalSpace H] (G : StructureGroupoid H) {e : PartialHomeomorph H H} (he : e ∈ G)
Goal: e.symm ∈ G
-- StructureGroupoid.id_mem
theorem StructureGroupoid.id_mem (G : StructureGroupoid H) : PartialHomeomorph.refl H ∈ G 
Arguments: {H : Type u} [TopologicalSpace H] (G : StructureGroupoid H)
Goal: PartialHomeomorph.refl H ∈ G
-- StructureGroupoid.locality
theorem StructureGroupoid.locality (G : StructureGroupoid H) {e : PartialHomeomorph H H}
    (h : ∀ x ∈ e.source, ∃ s, IsOpen s ∧ x ∈ s ∧ e.restr s ∈ G) : e ∈ G 
Arguments: {H : Type u} [TopologicalSpace H] (G : StructureGroupoid H) {e : PartialHomeomorph H H} (h : ∀ x ∈ e.source, ∃ s, IsOpen s ∧ x ∈ s ∧ e.restr s ∈ G)
Goal: e ∈ G
-- StructureGroupoid.mem_of_eqOnSource
theorem StructureGroupoid.mem_of_eqOnSource (G : StructureGroupoid H) {e e' : PartialHomeomorph H H}
    (he : e ∈ G) (h : e' ≈ e) : e' ∈ G 
Arguments: {H : Type u} [TopologicalSpace H] (G : StructureGroupoid H) {e e' : PartialHomeomorph H H} (he : e ∈ G) (h : e' ≈ e)
Goal: e' ∈ G
-- StructureGroupoid.mem_iff_of_eqOnSource
theorem StructureGroupoid.mem_iff_of_eqOnSource {G : StructureGroupoid H}
    {e e' : PartialHomeomorph H H} (h : e ≈ e') : e ∈ G ↔ e' ∈ G 
Arguments: {H : Type u} [TopologicalSpace H] {G : StructureGroupoid H} {e e' : PartialHomeomorph H H} (h : e ≈ e')
Goal: e ∈ G ↔ e' ∈ G
-- StructureGroupoid.le_iff
theorem StructureGroupoid.le_iff {G₁ G₂ : StructureGroupoid H} : G₁ ≤ G₂ ↔ ∀ e, e ∈ G₁ → e ∈ G₂ 
Arguments: {H : Type u} [TopologicalSpace H] {G₁ G₂ : StructureGroupoid H}
Goal: G₁ ≤ G₂ ↔ ∀ e ∈ G₁, e ∈ G₂
-- Pregroupoid.locality
structure Pregroupoid (H : Type*) [TopologicalSpace H] where
    property : (H → H) → Set H → Prop
    comp : ∀ {f g u v}, property f u → property g v →
    IsOpen u → IsOpen v → IsOpen (u ∩ f ⁻¹' v) → property (g ∘ f) (u ∩ f ⁻¹' v)
    id_mem : property id univ
    locality :
    ∀ {f u}, IsOpen u → (∀ x ∈ u, ∃ v, IsOpen v ∧ x ∈ v ∧ property f (u ∩ v)) → property f u
    congr : ∀ {f g : H → H} {u}, IsOpen u → (∀ x ∈ u, g x = f x) → property f u → property g u
Arguments: {H : Type u_5} [TopologicalSpace H] (self : Pregroupoid H) {f : H → H} {u : Set H}
Goal: IsOpen u → (∀ x ∈ u, ∃ v, IsOpen v ∧ x ∈ v ∧ self.property f (u ∩ v)) → self.property f u
-- Pregroupoid.congr
structure Pregroupoid (H : Type*) [TopologicalSpace H] where
    property : (H → H) → Set H → Prop
    comp : ∀ {f g u v}, property f u → property g v →
    IsOpen u → IsOpen v → IsOpen (u ∩ f ⁻¹' v) → property (g ∘ f) (u ∩ f ⁻¹' v)
    id_mem : property id univ
    locality :
    ∀ {f u}, IsOpen u → (∀ x ∈ u, ∃ v, IsOpen v ∧ x ∈ v ∧ property f (u ∩ v)) → property f u
    congr : ∀ {f g : H → H} {u}, IsOpen u → (∀ x ∈ u, g x = f x) → property f u → property g u
Arguments: {H : Type u_5} [TopologicalSpace H] (self : Pregroupoid H) {f g : H → H} {u : Set H}
Goal: IsOpen u → (∀ x ∈ u, g x = f x) → self.property f u → self.property g u
-- Pregroupoid.id_mem
structure Pregroupoid (H : Type*) [TopologicalSpace H] where
    property : (H → H) → Set H → Prop
    comp : ∀ {f g u v}, property f u → property g v →
    IsOpen u → IsOpen v → IsOpen (u ∩ f ⁻¹' v) → property (g ∘ f) (u ∩ f ⁻¹' v)
    id_mem : property id univ
    locality :
    ∀ {f u}, IsOpen u → (∀ x ∈ u, ∃ v, IsOpen v ∧ x ∈ v ∧ property f (u ∩ v)) → property f u
    congr : ∀ {f g : H → H} {u}, IsOpen u → (∀ x ∈ u, g x = f x) → property f u → property g u
Arguments: {H : Type u_5} [TopologicalSpace H] (self : Pregroupoid H)
Goal: self.property id Set.univ
-- Pregroupoid.comp
structure Pregroupoid (H : Type*) [TopologicalSpace H] where
    property : (H → H) → Set H → Prop
    comp : ∀ {f g u v}, property f u → property g v →
    IsOpen u → IsOpen v → IsOpen (u ∩ f ⁻¹' v) → property (g ∘ f) (u ∩ f ⁻¹' v)
    id_mem : property id univ
    locality :
    ∀ {f u}, IsOpen u → (∀ x ∈ u, ∃ v, IsOpen v ∧ x ∈ v ∧ property f (u ∩ v)) → property f u
    congr : ∀ {f g : H → H} {u}, IsOpen u → (∀ x ∈ u, g x = f x) → property f u → property g u
Arguments: {H : Type u_5} [TopologicalSpace H] (self : Pregroupoid H) {f g : H → H} {u v : Set H}
Goal: self.property f u → self.property g v → IsOpen u → IsOpen v → IsOpen (u ∩ f ⁻¹' v) → self.property (g ∘ f) (u ∩ f ⁻¹' v)
-- mem_groupoid_of_pregroupoid
theorem mem_groupoid_of_pregroupoid {PG : Pregroupoid H} {e : PartialHomeomorph H H} :
    e ∈ PG.groupoid ↔ PG.property e e.source ∧ PG.property e.symm e.target 
Arguments: {H : Type u} [TopologicalSpace H] {PG : Pregroupoid H} {e : PartialHomeomorph H H}
Goal: e ∈ PG.groupoid ↔ PG.property (↑e) e.source ∧ PG.property (↑e.symm) e.target
-- groupoid_of_pregroupoid_le
theorem groupoid_of_pregroupoid_le (PG₁ PG₂ : Pregroupoid H)
    (h : ∀ f s, PG₁.property f s → PG₂.property f s) : PG₁.groupoid ≤ PG₂.groupoid 
Arguments: {H : Type u} [TopologicalSpace H] (PG₁ PG₂ : Pregroupoid H) (h : ∀ (f : H → H) (s : Set H), PG₁.property f s → PG₂.property f s)
Goal: PG₁.groupoid ≤ PG₂.groupoid
-- mem_pregroupoid_of_eqOnSource
theorem mem_pregroupoid_of_eqOnSource (PG : Pregroupoid H) {e e' : PartialHomeomorph H H}
    (he' : e ≈ e') (he : PG.property e e.source) : PG.property e' e'.source 
Arguments: {H : Type u} [TopologicalSpace H] (PG : Pregroupoid H) {e e' : PartialHomeomorph H H} (he' : e ≈ e') (he : PG.property (↑e) e.source)
Goal: PG.property (↑e') e'.source
-- ClosedUnderRestriction.closedUnderRestriction
class ClosedUnderRestriction (G : StructureGroupoid H) : Prop where
  closedUnderRestriction :
    ∀ {e : PartialHomeomorph H H}, e ∈ G → ∀ s : Set H, IsOpen s → e.restr s ∈ G
Arguments: {H : Type u} [TopologicalSpace H] {G : StructureGroupoid H} [self : ClosedUnderRestriction G] {e : PartialHomeomorph H H}
Goal: e ∈ G → ∀ (s : Set H), IsOpen s → e.restr s ∈ G
-- closedUnderRestriction'
theorem closedUnderRestriction' {G : StructureGroupoid H} [ClosedUnderRestriction G]
    {e : PartialHomeomorph H H} (he : e ∈ G) {s : Set H} (hs : IsOpen s) : e.restr s ∈ G 
Arguments: {H : Type u} [TopologicalSpace H] {G : StructureGroupoid H} [ClosedUnderRestriction G] {e : PartialHomeomorph H H} (he : e ∈ G) {s : Set H} (hs : IsOpen s)
Goal: e.restr s ∈ G
-- idRestrGroupoid_mem
theorem idRestrGroupoid_mem {s : Set H} (hs : IsOpen s) : ofSet s hs ∈ @idRestrGroupoid H _ 
Arguments: {H : Type u} [TopologicalSpace H] {s : Set H} (hs : IsOpen s)
Goal: PartialHomeomorph.ofSet s hs ∈ idRestrGroupoid
-- closedUnderRestriction_iff_id_le
theorem closedUnderRestriction_iff_id_le (G : StructureGroupoid H) :
    ClosedUnderRestriction G ↔ idRestrGroupoid ≤ G 
Arguments: {H : Type u} [TopologicalSpace H] (G : StructureGroupoid H)
Goal: ClosedUnderRestriction G ↔ idRestrGroupoid ≤ G
-- ChartedSpace.mem_chart_source
@[ext]
class ChartedSpace (H : Type*) [TopologicalSpace H] (M : Type*) [TopologicalSpace M] where
    protected atlas : Set (PartialHomeomorph M H)
    protected chartAt : M → PartialHomeomorph M H
  protected mem_chart_source : ∀ x, x ∈ (chartAt x).source
  protected chart_mem_atlas : ∀ x, chartAt x ∈ atlas
Arguments: {H : Type u_5} [TopologicalSpace H] {M : Type u_6} [TopologicalSpace M] [self : ChartedSpace H M] (x : M)
Goal: x ∈ (ChartedSpace.chartAt x).source
-- ChartedSpace.chart_mem_atlas
@[ext]
class ChartedSpace (H : Type*) [TopologicalSpace H] (M : Type*) [TopologicalSpace M] where
    protected atlas : Set (PartialHomeomorph M H)
    protected chartAt : M → PartialHomeomorph M H
  protected mem_chart_source : ∀ x, x ∈ (chartAt x).source
  protected chart_mem_atlas : ∀ x, chartAt x ∈ atlas
Arguments: {H : Type u_5} [TopologicalSpace H] {M : Type u_6} [TopologicalSpace M] [self : ChartedSpace H M] (x : M)
Goal: ChartedSpace.chartAt x ∈ ChartedSpace.atlas
-- mem_chart_source
@[simp, mfld_simps]
lemma mem_chart_source (H : Type*) {M : Type*} [TopologicalSpace H] [TopologicalSpace M]
    [ChartedSpace H M] (x : M) : x ∈ (chartAt H x).source 
Arguments: (H : Type u_5) {M : Type u_6} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (x : M)
Goal: x ∈ (chartAt H x).source
-- chart_mem_atlas
@[simp, mfld_simps]
lemma chart_mem_atlas (H : Type*) {M : Type*} [TopologicalSpace H] [TopologicalSpace M]
    [ChartedSpace H M] (x : M) : chartAt H x ∈ atlas H M 
Arguments: (H : Type u_5) {M : Type u_6} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (x : M)
Goal: chartAt H x ∈ atlas H M
-- chartedSpaceSelf_atlas
@[simp, mfld_simps]
theorem chartedSpaceSelf_atlas {H : Type*} [TopologicalSpace H] {e : PartialHomeomorph H H} :
    e ∈ atlas H H ↔ e = PartialHomeomorph.refl H 
Arguments: {H : Type u_5} [TopologicalSpace H] {e : PartialHomeomorph H H}
Goal: e ∈ atlas H H ↔ e = PartialHomeomorph.refl H
-- chartAt_self_eq
theorem chartAt_self_eq {H : Type*} [TopologicalSpace H] {x : H} :
    chartAt H x = PartialHomeomorph.refl H 
Arguments: {H : Type u_5} [TopologicalSpace H] {x : H}
Goal: chartAt H x = PartialHomeomorph.refl H
-- mem_chart_target
theorem mem_chart_target (x : M) : chartAt H x x ∈ (chartAt H x).target 
Arguments: (H : Type u) {M : Type u_2} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (x : M)
Goal: ↑(chartAt H x) x ∈ (chartAt H x).target
-- chart_source_mem_nhds
theorem chart_source_mem_nhds (x : M) : (chartAt H x).source ∈ 𝓝 x 
Arguments: (H : Type u) {M : Type u_2} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (x : M)
Goal: (chartAt H x).source ∈ 𝓝 x
-- chart_target_mem_nhds
theorem chart_target_mem_nhds (x : M) : (chartAt H x).target ∈ 𝓝 (chartAt H x x) 
Arguments: (H : Type u) {M : Type u_2} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (x : M)
Goal: (chartAt H x).target ∈ 𝓝 (↑(chartAt H x) x)
-- iUnion_source_chartAt
@[simp]
theorem iUnion_source_chartAt : (⋃ x : M, (chartAt H x).source) = (univ : Set M) 
Arguments: (H : Type u) (M : Type u_2) [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M]
Goal: ⋃ x, (chartAt H x).source = Set.univ
-- ChartedSpace.isOpen_iff
theorem ChartedSpace.isOpen_iff (s : Set M) :
    IsOpen s ↔ ∀ x : M, IsOpen <| chartAt H x '' ((chartAt H x).source ∩ s) 
Arguments: (H : Type u) {M : Type u_2} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (s : Set M)
Goal: IsOpen s ↔ ∀ (x : M), IsOpen (↑(chartAt H x) '' ((chartAt H x).source ∩ s))
-- achart_def
theorem achart_def (x : M) : achart H x = ⟨chartAt H x, chart_mem_atlas H x⟩ 
Arguments: (H : Type u) {M : Type u_2} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (x : M)
Goal: achart H x = ⟨chartAt H x, ⋯⟩
-- coe_achart
@[simp, mfld_simps]
theorem coe_achart (x : M) : (achart H x : PartialHomeomorph M H) = chartAt H x 
Arguments: (H : Type u) {M : Type u_2} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (x : M)
Goal: ↑(achart H x) = chartAt H x
-- achart_val
@[simp, mfld_simps]
theorem achart_val (x : M) : (achart H x).1 = chartAt H x 
Arguments: (H : Type u) {M : Type u_2} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (x : M)
Goal: ↑(achart H x) = chartAt H x
-- mem_achart_source
theorem mem_achart_source (x : M) : x ∈ (achart H x).1.source 
Arguments: (H : Type u) {M : Type u_2} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] (x : M)
Goal: x ∈ (↑(achart H x)).source
-- ChartedSpace.secondCountable_of_countable_cover
theorem ChartedSpace.secondCountable_of_countable_cover [SecondCountableTopology H] {s : Set M}
    (hs : ⋃ (x) (_ : x ∈ s), (chartAt H x).source = univ) (hsc : s.Countable) :
    SecondCountableTopology M 
Arguments: (H : Type u) {M : Type u_2} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] [SecondCountableTopology H] {s : Set M} (hs : ⋃ x ∈ s, (chartAt H x).source = Set.univ) (hsc : s.Countable)
Goal: SecondCountableTopology M
-- ChartedSpace.secondCountable_of_sigma_compact
theorem ChartedSpace.secondCountable_of_sigma_compact [SecondCountableTopology H]
    [SigmaCompactSpace M] : SecondCountableTopology M 
Arguments: (H : Type u) (M : Type u_2) [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] [SecondCountableTopology H] [SigmaCompactSpace M]
Goal: SecondCountableTopology M
-- ChartedSpace.locallyCompactSpace
theorem ChartedSpace.locallyCompactSpace [LocallyCompactSpace H] : LocallyCompactSpace M 
Arguments: (H : Type u) (M : Type u_2) [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] [LocallyCompactSpace H]
Goal: LocallyCompactSpace M
-- ChartedSpace.locallyConnectedSpace
theorem ChartedSpace.locallyConnectedSpace [LocallyConnectedSpace H] : LocallyConnectedSpace M 
Arguments: (H : Type u) (M : Type u_2) [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] [LocallyConnectedSpace H]
Goal: LocallyConnectedSpace M
-- chartAt_comp
theorem chartAt_comp (H : Type*) [TopologicalSpace H] (H' : Type*) [TopologicalSpace H']
    {M : Type*} [TopologicalSpace M] [ChartedSpace H H'] [ChartedSpace H' M] (x : M) :
    (letI := ChartedSpace.comp H H' M; chartAt H x) = chartAt H' x ≫ₕ chartAt H (chartAt H' x x) 
Arguments: (H : Type u_5) [TopologicalSpace H] (H' : Type u_6) [TopologicalSpace H'] {M : Type u_7} [TopologicalSpace M] [ChartedSpace H H'] [ChartedSpace H' M] (x : M)
Goal: chartAt H x = chartAt H' x ≫ₕ chartAt H (↑(chartAt H' x) x)
-- modelProd_range_prod_id
@[simp, mfld_simps, nolint simpNF]
theorem modelProd_range_prod_id {H : Type*} {H' : Type*} {α : Type*} (f : H → α) :
    (range fun p : ModelProd H H' ↦ (f p.1, p.2)) = range f ×ˢ (univ : Set H') 
Arguments: {H : Type u_5} {H' : Type u_6} {α : Type u_7} (f : H → α)
Goal: (Set.range fun p => (f p.1, p.2)) = Set.range f ×ˢ Set.univ
-- ModelProd.ext
@[ext]
theorem ModelProd.ext {x y : ModelProd H H'} (h₁ : x.1 = y.1) (h₂ : x.2 = y.2) : x = y 
Arguments: {H : Type u} {H' : Type u_1} {x y : ModelProd H H'} (h₁ : x.1 = y.1) (h₂ : x.2 = y.2)
Goal: x = y
-- prodChartedSpace_chartAt
@[simp, mfld_simps]
theorem prodChartedSpace_chartAt :
    chartAt (ModelProd H H') x = (chartAt H x.fst).prod (chartAt H' x.snd) 
Arguments: {H : Type u} {H' : Type u_1} {M : Type u_2} {M' : Type u_3} [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] [TopologicalSpace H'] [TopologicalSpace M'] [ChartedSpace H' M'] {x : M × M'}
Goal: chartAt (ModelProd H H') x = (chartAt H x.1).prod (chartAt H' x.2)
-- chartedSpaceSelf_prod
theorem chartedSpaceSelf_prod : prodChartedSpace H H H' H' = chartedSpaceSelf (H × H') 
Arguments: {H : Type u} {H' : Type u_1} [TopologicalSpace H] [TopologicalSpace H']
Goal: prodChartedSpace H H H' H' = chartedSpaceSelf (H × H')
-- piChartedSpace_chartAt
@[simp, mfld_simps]
theorem piChartedSpace_chartAt {ι : Type*} [Finite ι] (H : ι → Type*)
    [∀ i, TopologicalSpace (H i)] (M : ι → Type*) [∀ i, TopologicalSpace (M i)]
    [∀ i, ChartedSpace (H i) (M i)] (f : ∀ i, M i) :
    chartAt (H := ModelPi H) f = PartialHomeomorph.pi fun i ↦ chartAt (H i) (f i) 
Arguments: {ι : Type u_5} [Finite ι] (H : ι → Type u_6) [(i : ι) → TopologicalSpace (H i)] (M : ι → Type u_7) [(i : ι) → TopologicalSpace (M i)] [(i : ι) → ChartedSpace (H i) (M i)] (f : (i : ι) → M i)
Goal: chartAt (ModelPi H) f = PartialHomeomorph.pi fun i => chartAt (H i) (f i)
-- ChartedSpaceCore.chart_mem_atlas
-- Porting note(#5171): this linter isn't ported yet.
-- @[nolint has_nonempty_instance]
structure ChartedSpaceCore (H : Type*) [TopologicalSpace H] (M : Type*) where
    atlas : Set (PartialEquiv M H)
    chartAt : M → PartialEquiv M H
  mem_chart_source : ∀ x, x ∈ (chartAt x).source
  chart_mem_atlas : ∀ x, chartAt x ∈ atlas
  open_source : ∀ e e' : PartialEquiv M H, e ∈ atlas → e' ∈ atlas → IsOpen (e.symm.trans e').source
  continuousOn_toFun : ∀ e e' : PartialEquiv M H, e ∈ atlas → e' ∈ atlas →
    ContinuousOn (e.symm.trans e') (e.symm.trans e').source
Arguments: {H : Type u_5} [TopologicalSpace H] {M : Type u_6} (self : ChartedSpaceCore H M) (x : M)
Goal: self.chartAt x ∈ self.atlas
-- ChartedSpaceCore.continuousOn_toFun
-- Porting note(#5171): this linter isn't ported yet.
-- @[nolint has_nonempty_instance]
structure ChartedSpaceCore (H : Type*) [TopologicalSpace H] (M : Type*) where
    atlas : Set (PartialEquiv M H)
    chartAt : M → PartialEquiv M H
  mem_chart_source : ∀ x, x ∈ (chartAt x).source
  chart_mem_atlas : ∀ x, chartAt x ∈ atlas
  open_source : ∀ e e' : PartialEquiv M H, e ∈ atlas → e' ∈ atlas → IsOpen (e.symm.trans e').source
  continuousOn_toFun : ∀ e e' : PartialEquiv M H, e ∈ atlas → e' ∈ atlas →
    ContinuousOn (e.symm.trans e') (e.symm.trans e').source
Arguments: {H : Type u_5} [TopologicalSpace H] {M : Type u_6} (self : ChartedSpaceCore H M) (e e' : PartialEquiv M H)
Goal: e ∈ self.atlas → e' ∈ self.atlas → ContinuousOn (↑(e.symm ≫ e')) (e.symm ≫ e').source
-- ChartedSpaceCore.open_source
-- Porting note(#5171): this linter isn't ported yet.
-- @[nolint has_nonempty_instance]
structure ChartedSpaceCore (H : Type*) [TopologicalSpace H] (M : Type*) where
    atlas : Set (PartialEquiv M H)
    chartAt : M → PartialEquiv M H
  mem_chart_source : ∀ x, x ∈ (chartAt x).source
  chart_mem_atlas : ∀ x, chartAt x ∈ atlas
  open_source : ∀ e e' : PartialEquiv M H, e ∈ atlas → e' ∈ atlas → IsOpen (e.symm.trans e').source
  continuousOn_toFun : ∀ e e' : PartialEquiv M H, e ∈ atlas → e' ∈ atlas →
    ContinuousOn (e.symm.trans e') (e.symm.trans e').source
Arguments: {H : Type u_5} [TopologicalSpace H] {M : Type u_6} (self : ChartedSpaceCore H M) (e e' : PartialEquiv M H)
Goal: e ∈ self.atlas → e' ∈ self.atlas → IsOpen (e.symm ≫ e').source
-- ChartedSpaceCore.mem_chart_source
-- Porting note(#5171): this linter isn't ported yet.
-- @[nolint has_nonempty_instance]
structure ChartedSpaceCore (H : Type*) [TopologicalSpace H] (M : Type*) where
    atlas : Set (PartialEquiv M H)
    chartAt : M → PartialEquiv M H
  mem_chart_source : ∀ x, x ∈ (chartAt x).source
  chart_mem_atlas : ∀ x, chartAt x ∈ atlas
  open_source : ∀ e e' : PartialEquiv M H, e ∈ atlas → e' ∈ atlas → IsOpen (e.symm.trans e').source
  continuousOn_toFun : ∀ e e' : PartialEquiv M H, e ∈ atlas → e' ∈ atlas →
    ContinuousOn (e.symm.trans e') (e.symm.trans e').source
Arguments: {H : Type u_5} [TopologicalSpace H] {M : Type u_6} (self : ChartedSpaceCore H M) (x : M)
Goal: x ∈ (self.chartAt x).source
-- ChartedSpaceCore.open_source'
theorem open_source' (he : e ∈ c.atlas) : IsOpen[c.toTopologicalSpace] e.source 
Arguments: {H : Type u} {M : Type u_2} [TopologicalSpace H] (c : ChartedSpaceCore H M) {e : PartialEquiv M H} (he : e ∈ c.atlas)
Goal: IsOpen e.source
-- ChartedSpaceCore.open_target
theorem open_target (he : e ∈ c.atlas) : IsOpen e.target 
Arguments: {H : Type u} {M : Type u_2} [TopologicalSpace H] (c : ChartedSpaceCore H M) {e : PartialEquiv M H} (he : e ∈ c.atlas)
Goal: IsOpen e.target
-- HasGroupoid.compatible
class HasGroupoid {H : Type*} [TopologicalSpace H] (M : Type*) [TopologicalSpace M]
    [ChartedSpace H M] (G : StructureGroupoid H) : Prop where
  compatible : ∀ {e e' : PartialHomeomorph M H}, e ∈ atlas H M → e' ∈ atlas H M → e.symm ≫ₕ e' ∈ G
Arguments: {H : Type u_5} [TopologicalSpace H] {M : Type u_6} [TopologicalSpace M] [ChartedSpace H M] {G : StructureGroupoid H} [self : HasGroupoid M G] {e e' : PartialHomeomorph M H}
Goal: e ∈ atlas H M → e' ∈ atlas H M → e.symm ≫ₕ e' ∈ G
-- StructureGroupoid.compatible
theorem StructureGroupoid.compatible {H : Type*} [TopologicalSpace H] (G : StructureGroupoid H)
    {M : Type*} [TopologicalSpace M] [ChartedSpace H M] [HasGroupoid M G]
    {e e' : PartialHomeomorph M H} (he : e ∈ atlas H M) (he' : e' ∈ atlas H M) : e.symm ≫ₕ e' ∈ G 
Arguments: {H : Type u_5} [TopologicalSpace H] (G : StructureGroupoid H) {M : Type u_6} [TopologicalSpace M] [ChartedSpace H M] [HasGroupoid M G] {e e' : PartialHomeomorph M H} (he : e ∈ atlas H M) (he' : e' ∈ atlas H M)
Goal: e.symm ≫ₕ e' ∈ G