topology.sets.opens
⟷
Mathlib.Topology.Sets.Opens
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -7,7 +7,7 @@ import Order.Hom.CompleteLattice
import Topology.Bases
import Topology.Homeomorph
import Topology.ContinuousFunction.Basic
-import Order.CompactlyGenerated
+import Order.CompactlyGenerated.Basic
import Tactic.AutoCases
#align_import topology.sets.opens from "leanprover-community/mathlib"@"34ee86e6a59d911a8e4f89b68793ee7577ae79c7"
@@ -346,7 +346,7 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
#align topological_space.opens.is_basis_iff_nbhd TopologicalSpace.Opens.isBasis_iff_nbhd
-/
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
#print TopologicalSpace.Opens.isBasis_iff_cover /-
theorem isBasis_iff_cover {B : Set (Opens α)} :
IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _) (_ : Us ⊆ B), U = sSup Us :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -337,7 +337,7 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
· rintro ⟨sU, hU⟩ x hx
rcases h.mem_nhds_iff.mp (IsOpen.mem_nhds hU hx) with ⟨sV, ⟨⟨V, H₁, H₂⟩, hsV⟩⟩
refine' ⟨V, H₁, _⟩
- cases V; dsimp at H₂ ; subst H₂; exact hsV
+ cases V; dsimp at H₂; subst H₂; exact hsV
· refine' is_topological_basis_of_open_of_nhds _ _
· rintro sU ⟨U, ⟨H₁, rfl⟩⟩; exact U.2
· intro x sU hx hsU
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -451,7 +451,7 @@ theorem comap_injective [T0Space β] : Injective (comap : C(α, β) → FrameHom
ContinuousMap.ext fun a =>
Inseparable.eq <|
inseparable_iff_forall_open.2 fun s hs =>
- have : comap f ⟨s, hs⟩ = comap g ⟨s, hs⟩ := FunLike.congr_fun h ⟨_, hs⟩
+ have : comap f ⟨s, hs⟩ = comap g ⟨s, hs⟩ := DFunLike.congr_fun h ⟨_, hs⟩
show a ∈ f ⁻¹' s ↔ a ∈ g ⁻¹' s from Set.ext_iff.1 (coe_inj.2 this) a
#align topological_space.opens.comap_injective TopologicalSpace.Opens.comap_injective
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,12 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn
-/
-import Mathbin.Order.Hom.CompleteLattice
-import Mathbin.Topology.Bases
-import Mathbin.Topology.Homeomorph
-import Mathbin.Topology.ContinuousFunction.Basic
-import Mathbin.Order.CompactlyGenerated
-import Mathbin.Tactic.AutoCases
+import Order.Hom.CompleteLattice
+import Topology.Bases
+import Topology.Homeomorph
+import Topology.ContinuousFunction.Basic
+import Order.CompactlyGenerated
+import Tactic.AutoCases
#align_import topology.sets.opens from "leanprover-community/mathlib"@"34ee86e6a59d911a8e4f89b68793ee7577ae79c7"
@@ -346,7 +346,7 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
#align topological_space.opens.is_basis_iff_nbhd TopologicalSpace.Opens.isBasis_iff_nbhd
-/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
#print TopologicalSpace.Opens.isBasis_iff_cover /-
theorem isBasis_iff_cover {B : Set (Opens α)} :
IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _) (_ : Us ⊆ B), U = sSup Us :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
Copyright (c) 2017 Johannes Hölzl. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn
-
-! This file was ported from Lean 3 source module topology.sets.opens
-! leanprover-community/mathlib commit 34ee86e6a59d911a8e4f89b68793ee7577ae79c7
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Order.Hom.CompleteLattice
import Mathbin.Topology.Bases
@@ -15,6 +10,8 @@ import Mathbin.Topology.ContinuousFunction.Basic
import Mathbin.Order.CompactlyGenerated
import Mathbin.Tactic.AutoCases
+#align_import topology.sets.opens from "leanprover-community/mathlib"@"34ee86e6a59d911a8e4f89b68793ee7577ae79c7"
+
/-!
# Open sets
@@ -349,7 +346,7 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
#align topological_space.opens.is_basis_iff_nbhd TopologicalSpace.Opens.isBasis_iff_nbhd
-/
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
#print TopologicalSpace.Opens.isBasis_iff_cover /-
theorem isBasis_iff_cover {B : Set (Opens α)} :
IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _) (_ : Us ⊆ B), U = sSup Us :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -155,10 +155,13 @@ def interior (s : Set α) : Opens α :=
#align topological_space.opens.interior TopologicalSpace.Opens.interior
-/
+#print TopologicalSpace.Opens.gc /-
theorem gc : GaloisConnection (coe : Opens α → Set α) interior := fun U s =>
⟨fun h => interior_maximal h U.IsOpen, fun h => le_trans h interior_subset⟩
#align topological_space.opens.gc TopologicalSpace.Opens.gc
+-/
+#print TopologicalSpace.Opens.gi /-
/-- The galois coinsertion between sets and opens. -/
def gi : GaloisCoinsertion coe (@interior α _)
where
@@ -167,6 +170,7 @@ def gi : GaloisCoinsertion coe (@interior α _)
u_l_le _ := interior_subset
choice_eq s hs := le_antisymm hs interior_subset
#align topological_space.opens.gi TopologicalSpace.Opens.gi
+-/
instance : CompleteLattice (Opens α) :=
CompleteLattice.copy (GaloisCoinsertion.liftCompleteLattice gi)
@@ -189,73 +193,99 @@ instance : CompleteLattice (Opens α) :=
_
rfl
+#print TopologicalSpace.Opens.mk_inf_mk /-
@[simp]
theorem mk_inf_mk {U V : Set α} {hU : IsOpen U} {hV : IsOpen V} :
(⟨U, hU⟩ ⊓ ⟨V, hV⟩ : Opens α) = ⟨U ⊓ V, IsOpen.inter hU hV⟩ :=
rfl
#align topological_space.opens.mk_inf_mk TopologicalSpace.Opens.mk_inf_mk
+-/
+#print TopologicalSpace.Opens.coe_inf /-
@[simp, norm_cast]
theorem coe_inf (s t : Opens α) : (↑(s ⊓ t) : Set α) = s ∩ t :=
rfl
#align topological_space.opens.coe_inf TopologicalSpace.Opens.coe_inf
+-/
+#print TopologicalSpace.Opens.coe_sup /-
@[simp, norm_cast]
theorem coe_sup (s t : Opens α) : (↑(s ⊔ t) : Set α) = s ∪ t :=
rfl
#align topological_space.opens.coe_sup TopologicalSpace.Opens.coe_sup
+-/
+#print TopologicalSpace.Opens.coe_bot /-
@[simp, norm_cast]
theorem coe_bot : ((⊥ : Opens α) : Set α) = ∅ :=
rfl
#align topological_space.opens.coe_bot TopologicalSpace.Opens.coe_bot
+-/
+#print TopologicalSpace.Opens.coe_top /-
@[simp, norm_cast]
theorem coe_top : ((⊤ : Opens α) : Set α) = Set.univ :=
rfl
#align topological_space.opens.coe_top TopologicalSpace.Opens.coe_top
+-/
+#print TopologicalSpace.Opens.coe_sSup /-
@[simp, norm_cast]
theorem coe_sSup {S : Set (Opens α)} : (↑(sSup S) : Set α) = ⋃ i ∈ S, ↑i :=
rfl
#align topological_space.opens.coe_Sup TopologicalSpace.Opens.coe_sSup
+-/
+#print TopologicalSpace.Opens.coe_finset_sup /-
@[simp, norm_cast]
theorem coe_finset_sup (f : ι → Opens α) (s : Finset ι) : (↑(s.sup f) : Set α) = s.sup (coe ∘ f) :=
map_finset_sup (⟨⟨coe, coe_sup⟩, coe_bot⟩ : SupBotHom (Opens α) (Set α)) _ _
#align topological_space.opens.coe_finset_sup TopologicalSpace.Opens.coe_finset_sup
+-/
+#print TopologicalSpace.Opens.coe_finset_inf /-
@[simp, norm_cast]
theorem coe_finset_inf (f : ι → Opens α) (s : Finset ι) : (↑(s.inf f) : Set α) = s.inf (coe ∘ f) :=
map_finset_inf (⟨⟨coe, coe_inf⟩, coe_top⟩ : InfTopHom (Opens α) (Set α)) _ _
#align topological_space.opens.coe_finset_inf TopologicalSpace.Opens.coe_finset_inf
+-/
instance : Inhabited (Opens α) :=
⟨⊥⟩
+#print TopologicalSpace.Opens.iSup_def /-
theorem iSup_def {ι} (s : ι → Opens α) : (⨆ i, s i) = ⟨⋃ i, s i, isOpen_iUnion fun i => (s i).2⟩ :=
by ext; simp only [iSup, coe_Sup, bUnion_range]; rfl
#align topological_space.opens.supr_def TopologicalSpace.Opens.iSup_def
+-/
+#print TopologicalSpace.Opens.iSup_mk /-
@[simp]
theorem iSup_mk {ι} (s : ι → Set α) (h : ∀ i, IsOpen (s i)) :
(⨆ i, ⟨s i, h i⟩ : Opens α) = ⟨⋃ i, s i, isOpen_iUnion h⟩ := by rw [supr_def]; simp
#align topological_space.opens.supr_mk TopologicalSpace.Opens.iSup_mk
+-/
+#print TopologicalSpace.Opens.coe_iSup /-
@[simp, norm_cast]
theorem coe_iSup {ι} (s : ι → Opens α) : ((⨆ i, s i : Opens α) : Set α) = ⋃ i, s i := by
simp [supr_def]
#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_iSup
+-/
+#print TopologicalSpace.Opens.mem_iSup /-
@[simp]
theorem mem_iSup {ι} {x : α} {s : ι → Opens α} : x ∈ iSup s ↔ ∃ i, x ∈ s i := by
rw [← SetLike.mem_coe]; simp
#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_iSup
+-/
+#print TopologicalSpace.Opens.mem_sSup /-
@[simp]
theorem mem_sSup {Us : Set (Opens α)} {x : α} : x ∈ sSup Us ↔ ∃ u ∈ Us, x ∈ u := by
simp_rw [sSup_eq_iSup, mem_supr]
#align topological_space.opens.mem_Sup TopologicalSpace.Opens.mem_sSup
+-/
instance : Frame (Opens α) :=
{ Opens.completeLattice with
@@ -263,6 +293,7 @@ instance : Frame (Opens α) :=
inf_sup_le_iSup_inf := fun a s =>
(ext <| by simp only [coe_inf, coe_supr, coe_Sup, Set.inter_iUnion₂]).le }
+#print TopologicalSpace.Opens.openEmbedding_of_le /-
theorem openEmbedding_of_le {U V : Opens α} (i : U ≤ V) : OpenEmbedding (Set.inclusion i) :=
{ inj := Set.inclusion_injective i
induced := (@induced_compose _ _ _ _ (Set.inclusion i) coe).symm
@@ -270,15 +301,21 @@ theorem openEmbedding_of_le {U V : Opens α} (i : U ≤ V) : OpenEmbedding (Set.
rw [Set.range_inclusion i]
exact U.is_open.preimage continuous_subtype_val }
#align topological_space.opens.open_embedding_of_le TopologicalSpace.Opens.openEmbedding_of_le
+-/
+#print TopologicalSpace.Opens.not_nonempty_iff_eq_bot /-
theorem not_nonempty_iff_eq_bot (U : Opens α) : ¬Set.Nonempty (U : Set α) ↔ U = ⊥ := by
rw [← coe_inj, opens.coe_bot, ← Set.not_nonempty_iff_eq_empty]
#align topological_space.opens.not_nonempty_iff_eq_bot TopologicalSpace.Opens.not_nonempty_iff_eq_bot
+-/
+#print TopologicalSpace.Opens.ne_bot_iff_nonempty /-
theorem ne_bot_iff_nonempty (U : Opens α) : U ≠ ⊥ ↔ Set.Nonempty (U : Set α) := by
rw [Ne.def, ← opens.not_nonempty_iff_eq_bot, Classical.not_not]
#align topological_space.opens.ne_bot_iff_nonempty TopologicalSpace.Opens.ne_bot_iff_nonempty
+-/
+#print TopologicalSpace.Opens.eq_bot_or_top /-
/-- An open set in the indiscrete topology is either empty or the whole space. -/
theorem eq_bot_or_top {α} [t : TopologicalSpace α] (h : t = ⊤) (U : Opens α) : U = ⊥ ∨ U = ⊤ :=
by
@@ -286,6 +323,7 @@ theorem eq_bot_or_top {α} [t : TopologicalSpace α] (h : t = ⊤) (U : Opens α
subst h; letI : TopologicalSpace α := ⊤
exact (is_open_top_iff _).1 U.2
#align topological_space.opens.eq_bot_or_top TopologicalSpace.Opens.eq_bot_or_top
+-/
#print TopologicalSpace.Opens.IsBasis /-
/-- A set of `opens α` is a basis if the set of corresponding sets is a topological basis. -/
@@ -294,6 +332,7 @@ def IsBasis (B : Set (Opens α)) : Prop :=
#align topological_space.opens.is_basis TopologicalSpace.Opens.IsBasis
-/
+#print TopologicalSpace.Opens.isBasis_iff_nbhd /-
theorem isBasis_iff_nbhd {B : Set (Opens α)} :
IsBasis B ↔ ∀ {U : Opens α} {x}, x ∈ U → ∃ U' ∈ B, x ∈ U' ∧ U' ≤ U :=
by
@@ -308,8 +347,10 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
rcases@h (⟨sU, hsU⟩ : opens α) x hx with ⟨V, hV, H⟩
exact ⟨V, ⟨V, hV, rfl⟩, H⟩
#align topological_space.opens.is_basis_iff_nbhd TopologicalSpace.Opens.isBasis_iff_nbhd
+-/
/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
+#print TopologicalSpace.Opens.isBasis_iff_cover /-
theorem isBasis_iff_cover {B : Set (Opens α)} :
IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _) (_ : Us ⊆ B), U = sSup Us :=
by
@@ -327,6 +368,7 @@ theorem isBasis_iff_cover {B : Set (Opens α)} :
rcases mem_Sup.1 hx with ⟨U, Us, xU⟩
exact ⟨U, hUs Us, xU, le_sSup Us⟩
#align topological_space.opens.is_basis_iff_cover TopologicalSpace.Opens.isBasis_iff_cover
+-/
#print TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_iUnion /-
/-- If `α` has a basis consisting of compact opens, then an open set in `α` is compact open iff
@@ -341,6 +383,7 @@ theorem IsBasis.isCompact_open_iff_eq_finite_iUnion {ι : Type _} (b : ι → Op
#align topological_space.opens.is_basis.is_compact_open_iff_eq_finite_Union TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_iUnion
-/
+#print TopologicalSpace.Opens.isCompactElement_iff /-
@[simp]
theorem isCompactElement_iff (s : Opens α) :
CompleteLattice.IsCompactElement s ↔ IsCompact (s : Set α) :=
@@ -358,7 +401,9 @@ theorem isCompactElement_iff (s : Opens α) :
simp only [Set.iUnion_subset_iff]
show ∀ i ∈ t, U i ≤ t.sup U; exact fun i => Finset.le_sup
#align topological_space.opens.is_compact_element_iff TopologicalSpace.Opens.isCompactElement_iff
+-/
+#print TopologicalSpace.Opens.comap /-
/-- The preimage of an open set, as an open set. -/
def comap (f : C(α, β)) : FrameHom (Opens β) (Opens α)
where
@@ -367,31 +412,43 @@ def comap (f : C(α, β)) : FrameHom (Opens β) (Opens α)
map_inf' a b := rfl
map_top' := rfl
#align topological_space.opens.comap TopologicalSpace.Opens.comap
+-/
+#print TopologicalSpace.Opens.comap_id /-
@[simp]
theorem comap_id : comap (ContinuousMap.id α) = FrameHom.id _ :=
FrameHom.ext fun a => ext rfl
#align topological_space.opens.comap_id TopologicalSpace.Opens.comap_id
+-/
+#print TopologicalSpace.Opens.comap_mono /-
theorem comap_mono (f : C(α, β)) {s t : Opens β} (h : s ≤ t) : comap f s ≤ comap f t :=
OrderHomClass.mono (comap f) h
#align topological_space.opens.comap_mono TopologicalSpace.Opens.comap_mono
+-/
+#print TopologicalSpace.Opens.coe_comap /-
@[simp]
theorem coe_comap (f : C(α, β)) (U : Opens β) : ↑(comap f U) = f ⁻¹' U :=
rfl
#align topological_space.opens.coe_comap TopologicalSpace.Opens.coe_comap
+-/
+#print TopologicalSpace.Opens.comap_comp /-
protected theorem comap_comp (g : C(β, γ)) (f : C(α, β)) :
comap (g.comp f) = (comap f).comp (comap g) :=
rfl
#align topological_space.opens.comap_comp TopologicalSpace.Opens.comap_comp
+-/
+#print TopologicalSpace.Opens.comap_comap /-
protected theorem comap_comap (g : C(β, γ)) (f : C(α, β)) (U : Opens γ) :
comap f (comap g U) = comap (g.comp f) U :=
rfl
#align topological_space.opens.comap_comap TopologicalSpace.Opens.comap_comap
+-/
+#print TopologicalSpace.Opens.comap_injective /-
theorem comap_injective [T0Space β] : Injective (comap : C(α, β) → FrameHom (Opens β) (Opens α)) :=
fun f g h =>
ContinuousMap.ext fun a =>
@@ -400,7 +457,9 @@ theorem comap_injective [T0Space β] : Injective (comap : C(α, β) → FrameHom
have : comap f ⟨s, hs⟩ = comap g ⟨s, hs⟩ := FunLike.congr_fun h ⟨_, hs⟩
show a ∈ f ⁻¹' s ↔ a ∈ g ⁻¹' s from Set.ext_iff.1 (coe_inj.2 this) a
#align topological_space.opens.comap_injective TopologicalSpace.Opens.comap_injective
+-/
+#print Homeomorph.opensCongr /-
/-- A homeomorphism induces an order-preserving equivalence on open sets, by taking comaps. -/
@[simps (config := { fullyApplied := false }) apply]
def Homeomorph.opensCongr (f : α ≃ₜ β) : Opens α ≃o Opens β
@@ -412,11 +471,14 @@ def Homeomorph.opensCongr (f : α ≃ₜ β) : Opens α ≃o Opens β
map_rel_iff' U V := by
simp only [← SetLike.coe_subset_coe] <;> exact f.symm.surjective.preimage_subset_preimage_iff
#align homeomorph.opens_congr Homeomorph.opensCongr
+-/
+#print Homeomorph.opensCongr_symm /-
@[simp]
theorem Homeomorph.opensCongr_symm (f : α ≃ₜ β) : f.opensCongr.symm = f.symm.opensCongr :=
rfl
#align homeomorph.opens_congr_symm Homeomorph.opensCongr_symm
+-/
instance [Finite α] : Finite (Opens α) :=
Finite.of_injective _ SetLike.coe_injective
@@ -486,6 +548,7 @@ theorem basis_nhds : (𝓝 x).HasBasis (fun U : OpenNhdsOf x => True) coe :=
#align topological_space.open_nhds_of.basis_nhds TopologicalSpace.OpenNhdsOf.basis_nhds
-/
+#print TopologicalSpace.OpenNhdsOf.comap /-
/-- Preimage of an open neighborhood of `f x` under a continuous map `f` as a `lattice_hom`. -/
def comap (f : C(α, β)) (x : α) : LatticeHom (OpenNhdsOf (f x)) (OpenNhdsOf x)
where
@@ -493,6 +556,7 @@ def comap (f : C(α, β)) (x : α) : LatticeHom (OpenNhdsOf (f x)) (OpenNhdsOf x
map_sup' U V := rfl
map_inf' U V := rfl
#align topological_space.open_nhds_of.comap TopologicalSpace.OpenNhdsOf.comap
+-/
end OpenNhdsOf
mathlib commit https://github.com/leanprover-community/mathlib/commit/31c24aa72e7b3e5ed97a8412470e904f82b81004
@@ -309,7 +309,7 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
exact ⟨V, ⟨V, hV, rfl⟩, H⟩
#align topological_space.opens.is_basis_iff_nbhd TopologicalSpace.Opens.isBasis_iff_nbhd
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
theorem isBasis_iff_cover {B : Set (Opens α)} :
IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _) (_ : Us ⊆ B), U = sSup Us :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -315,7 +315,7 @@ theorem isBasis_iff_cover {B : Set (Opens α)} :
by
constructor
· intro hB U
- refine' ⟨{ V : opens α | V ∈ B ∧ V ≤ U }, fun U hU => hU.left, _⟩
+ refine' ⟨{V : opens α | V ∈ B ∧ V ≤ U}, fun U hU => hU.left, _⟩
apply ext
rw [coe_Sup, hB.open_eq_sUnion' U.is_open]
simp_rw [sUnion_eq_bUnion, Union, iSup_and, iSup_image]
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -301,7 +301,7 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
· rintro ⟨sU, hU⟩ x hx
rcases h.mem_nhds_iff.mp (IsOpen.mem_nhds hU hx) with ⟨sV, ⟨⟨V, H₁, H₂⟩, hsV⟩⟩
refine' ⟨V, H₁, _⟩
- cases V; dsimp at H₂; subst H₂; exact hsV
+ cases V; dsimp at H₂ ; subst H₂; exact hsV
· refine' is_topological_basis_of_open_of_nhds _ _
· rintro sU ⟨U, ⟨H₁, rfl⟩⟩; exact U.2
· intro x sU hx hsU
@@ -311,7 +311,7 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
theorem isBasis_iff_cover {B : Set (Opens α)} :
- IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _)(_ : Us ⊆ B), U = sSup Us :=
+ IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _) (_ : Us ⊆ B), U = sSup Us :=
by
constructor
· intro hB U
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -49,7 +49,7 @@ We define order structures on both `opens α` (`complete_structure`, `frame`) an
open Filter Function Order Set
-open Topology
+open scoped Topology
variable {ι α β γ : Type _} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -155,22 +155,10 @@ def interior (s : Set α) : Opens α :=
#align topological_space.opens.interior TopologicalSpace.Opens.interior
-/
-/- warning: topological_space.opens.gc -> TopologicalSpace.Opens.gc is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], GaloisConnection.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1))) (PartialOrder.toPreorder.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1))))) (TopologicalSpace.Opens.interior.{u1} α _inst_1)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], GaloisConnection.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instPartialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1))) (PartialOrder.toPreorder.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.interior.{u1} α _inst_1)
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.gc TopologicalSpace.Opens.gcₓ'. -/
theorem gc : GaloisConnection (coe : Opens α → Set α) interior := fun U s =>
⟨fun h => interior_maximal h U.IsOpen, fun h => le_trans h interior_subset⟩
#align topological_space.opens.gc TopologicalSpace.Opens.gc
-/- warning: topological_space.opens.gi -> TopologicalSpace.Opens.gi is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], GaloisCoinsertion.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1))) (PartialOrder.toPreorder.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α))))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1))))) (TopologicalSpace.Opens.interior.{u1} α _inst_1)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], GaloisCoinsertion.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instPartialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1))) (PartialOrder.toPreorder.{u1} (Set.{u1} α) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} α) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.interior.{u1} α _inst_1)
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.gi TopologicalSpace.Opens.giₓ'. -/
/-- The galois coinsertion between sets and opens. -/
def gi : GaloisCoinsertion coe (@interior α _)
where
@@ -201,90 +189,42 @@ instance : CompleteLattice (Opens α) :=
_
rfl
-/- warning: topological_space.opens.mk_inf_mk -> TopologicalSpace.Opens.mk_inf_mk is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : Set.{u1} α} {V : Set.{u1} α} {hU : IsOpen.{u1} α _inst_1 U} {hV : IsOpen.{u1} α _inst_1 V}, Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 U hU) (TopologicalSpace.Opens.mk.{u1} α _inst_1 V hV)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Inf.inf.{u1} (Set.{u1} α) (SemilatticeInf.toHasInf.{u1} (Set.{u1} α) (Lattice.toSemilatticeInf.{u1} (Set.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Set.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))))) U V) (IsOpen.inter.{u1} α U V _inst_1 hU hV))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : Set.{u1} α} {V : Set.{u1} α} {hU : IsOpen.{u1} α _inst_1 U} {hV : IsOpen.{u1} α _inst_1 V}, Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 U hU) (TopologicalSpace.Opens.mk.{u1} α _inst_1 V hV)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Inf.inf.{u1} (Set.{u1} α) (Lattice.toInf.{u1} (Set.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Set.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) U V) (IsOpen.inter.{u1} α U V _inst_1 hU hV))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.mk_inf_mk TopologicalSpace.Opens.mk_inf_mkₓ'. -/
@[simp]
theorem mk_inf_mk {U V : Set α} {hU : IsOpen U} {hV : IsOpen V} :
(⟨U, hU⟩ ⊓ ⟨V, hV⟩ : Opens α) = ⟨U ⊓ V, IsOpen.inter hU hV⟩ :=
rfl
#align topological_space.opens.mk_inf_mk TopologicalSpace.Opens.mk_inf_mk
-/- warning: topological_space.opens.coe_inf -> TopologicalSpace.Opens.coe_inf is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))) s t)) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) s) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) t))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) s t)) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) s) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) t))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_inf TopologicalSpace.Opens.coe_infₓ'. -/
@[simp, norm_cast]
theorem coe_inf (s t : Opens α) : (↑(s ⊓ t) : Set α) = s ∩ t :=
rfl
#align topological_space.opens.coe_inf TopologicalSpace.Opens.coe_inf
-/- warning: topological_space.opens.coe_sup -> TopologicalSpace.Opens.coe_sup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Sup.sup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))) s t)) (Union.union.{u1} (Set.{u1} α) (Set.hasUnion.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) s) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) t))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (Sup.sup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeSup.toSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))) s t)) (Union.union.{u1} (Set.{u1} α) (Set.instUnionSet.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) s) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) t))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_sup TopologicalSpace.Opens.coe_supₓ'. -/
@[simp, norm_cast]
theorem coe_sup (s t : Opens α) : (↑(s ⊔ t) : Set α) = s ∪ t :=
rfl
#align topological_space.opens.coe_sup TopologicalSpace.Opens.coe_sup
-/- warning: topological_space.opens.coe_bot -> TopologicalSpace.Opens.coe_bot is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)))) (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toBot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.instEmptyCollectionSet.{u1} α))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_bot TopologicalSpace.Opens.coe_botₓ'. -/
@[simp, norm_cast]
theorem coe_bot : ((⊥ : Opens α) : Set α) = ∅ :=
rfl
#align topological_space.opens.coe_bot TopologicalSpace.Opens.coe_bot
-/- warning: topological_space.opens.coe_top -> TopologicalSpace.Opens.coe_top is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Top.top.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)))) (Set.univ.{u1} α)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (Top.top.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toTop.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (Set.univ.{u1} α)
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_top TopologicalSpace.Opens.coe_topₓ'. -/
@[simp, norm_cast]
theorem coe_top : ((⊤ : Opens α) : Set α) = Set.univ :=
rfl
#align topological_space.opens.coe_top TopologicalSpace.Opens.coe_top
-/- warning: topological_space.opens.coe_Sup -> TopologicalSpace.Opens.coe_sSup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {S : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) S)) (Set.iUnion.{u1, succ u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (fun (i : TopologicalSpace.Opens.{u1} α _inst_1) => Set.iUnion.{u1, 0} α (Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) i)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {S : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) S)) (Set.iUnion.{u1, succ u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (fun (i : TopologicalSpace.Opens.{u1} α _inst_1) => Set.iUnion.{u1, 0} α (Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) (fun (H : Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) i)))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_Sup TopologicalSpace.Opens.coe_sSupₓ'. -/
@[simp, norm_cast]
theorem coe_sSup {S : Set (Opens α)} : (↑(sSup S) : Set α) = ⋃ i ∈ S, ↑i :=
rfl
#align topological_space.opens.coe_Sup TopologicalSpace.Opens.coe_sSup
-/- warning: topological_space.opens.coe_finset_sup -> TopologicalSpace.Opens.coe_finset_sup is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1)))) (Finset.sup.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1)))) (BoundedOrder.toOrderBot.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeSup.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))) s f)) (Finset.sup.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeSup.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.completeBooleanAlgebra.{u2} α))))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} α) (Set.booleanAlgebra.{u2} α))) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1))))) f))
-but is expected to have type
- forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1) (Finset.sup.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (BoundedOrder.toOrderBot.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeSup.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))) s f)) (Finset.sup.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeSup.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} α) (Preorder.toLE.{u2} (Set.{u2} α) (PartialOrder.toPreorder.{u2} (Set.{u2} α) (SemilatticeSup.toPartialOrder.{u2} (Set.{u2} α) (Lattice.toSemilatticeSup.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1)) f))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_finset_sup TopologicalSpace.Opens.coe_finset_supₓ'. -/
@[simp, norm_cast]
theorem coe_finset_sup (f : ι → Opens α) (s : Finset ι) : (↑(s.sup f) : Set α) = s.sup (coe ∘ f) :=
map_finset_sup (⟨⟨coe, coe_sup⟩, coe_bot⟩ : SupBotHom (Opens α) (Set α)) _ _
#align topological_space.opens.coe_finset_sup TopologicalSpace.Opens.coe_finset_sup
-/- warning: topological_space.opens.coe_finset_inf -> TopologicalSpace.Opens.coe_finset_inf is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1)))) (Finset.inf.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1)))) (BoundedOrder.toOrderTop.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))) s f)) (Finset.inf.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeInf.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.completeBooleanAlgebra.{u2} α))))))) (Set.orderTop.{u2} α) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1))))) f))
-but is expected to have type
- forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1) (Finset.inf.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (BoundedOrder.toOrderTop.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))) s f)) (Finset.inf.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeInf.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))))) (Set.instOrderTopSetInstLESet.{u2} α) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1)) f))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_finset_inf TopologicalSpace.Opens.coe_finset_infₓ'. -/
@[simp, norm_cast]
theorem coe_finset_inf (f : ι → Opens α) (s : Finset ι) : (↑(s.inf f) : Set α) = s.inf (coe ∘ f) :=
map_finset_inf (⟨⟨coe, coe_inf⟩, coe_top⟩ : InfTopHom (Opens α) (Set α)) _ _
@@ -293,55 +233,25 @@ theorem coe_finset_inf (f : ι → Opens α) (s : Finset ι) : (↑(s.inf f) : S
instance : Inhabited (Opens α) :=
⟨⊥⟩
-/- warning: topological_space.opens.supr_def -> TopologicalSpace.Opens.iSup_def is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι (fun (i : ι) => s i)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (s i))) (isOpen_iUnion.{u1, u2} α ι _inst_1 (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (s i)) (fun (i : ι) => TopologicalSpace.Opens.is_open'.{u1} α _inst_1 (s i))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => s i)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i))) (isOpen_iUnion.{u1, u2} α ι _inst_1 (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i)) (fun (i : ι) => TopologicalSpace.Opens.is_open'.{u1} α _inst_1 (s i))))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.supr_def TopologicalSpace.Opens.iSup_defₓ'. -/
theorem iSup_def {ι} (s : ι → Opens α) : (⨆ i, s i) = ⟨⋃ i, s i, isOpen_iUnion fun i => (s i).2⟩ :=
by ext; simp only [iSup, coe_Sup, bUnion_range]; rfl
#align topological_space.opens.supr_def TopologicalSpace.Opens.iSup_def
-/- warning: topological_space.opens.supr_mk -> TopologicalSpace.Opens.iSup_mk is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (Set.{u1} α)) (h : forall (i : ι), IsOpen.{u1} α _inst_1 (s i)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι (fun (i : ι) => TopologicalSpace.Opens.mk.{u1} α _inst_1 (s i) (h i))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => s i)) (isOpen_iUnion.{u1, u2} α ι _inst_1 (fun (i : ι) => s i) h))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (Set.{u1} α)) (h : forall (i : ι), IsOpen.{u1} α _inst_1 (s i)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => TopologicalSpace.Opens.mk.{u1} α _inst_1 (s i) (h i))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => s i)) (isOpen_iUnion.{u1, u2} α ι _inst_1 (fun (i : ι) => s i) h))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.supr_mk TopologicalSpace.Opens.iSup_mkₓ'. -/
@[simp]
theorem iSup_mk {ι} (s : ι → Set α) (h : ∀ i, IsOpen (s i)) :
(⨆ i, ⟨s i, h i⟩ : Opens α) = ⟨⋃ i, s i, isOpen_iUnion h⟩ := by rw [supr_def]; simp
#align topological_space.opens.supr_mk TopologicalSpace.Opens.iSup_mk
-/- warning: topological_space.opens.coe_supr -> TopologicalSpace.Opens.coe_iSup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι (fun (i : ι) => s i))) (Set.iUnion.{u1, u2} α ι (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (s i)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => s i))) (Set.iUnion.{u1, u2} α ι (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i)))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_iSupₓ'. -/
@[simp, norm_cast]
theorem coe_iSup {ι} (s : ι → Opens α) : ((⨆ i, s i : Opens α) : Set α) = ⋃ i, s i := by
simp [supr_def]
#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_iSup
-/- warning: topological_space.opens.mem_supr -> TopologicalSpace.Opens.mem_iSup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} {x : α} {s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι s)) (Exists.{u2} ι (fun (i : ι) => Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x (s i)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} {x : α} {s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι s)) (Exists.{u2} ι (fun (i : ι) => Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (s i)))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_iSupₓ'. -/
@[simp]
theorem mem_iSup {ι} {x : α} {s : ι → Opens α} : x ∈ iSup s ↔ ∃ i, x ∈ s i := by
rw [← SetLike.mem_coe]; simp
#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_iSup
-/- warning: topological_space.opens.mem_Sup -> TopologicalSpace.Opens.mem_sSup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)} {x : α}, Iff (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) Us)) (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (u : TopologicalSpace.Opens.{u1} α _inst_1) => Exists.{0} (Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) u Us) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) u Us) => Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x u)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)} {x : α}, Iff (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) Us)) (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (u : TopologicalSpace.Opens.{u1} α _inst_1) => And (Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) u Us) (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x u)))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.mem_Sup TopologicalSpace.Opens.mem_sSupₓ'. -/
@[simp]
theorem mem_sSup {Us : Set (Opens α)} {x : α} : x ∈ sSup Us ↔ ∃ u ∈ Us, x ∈ u := by
simp_rw [sSup_eq_iSup, mem_supr]
@@ -353,12 +263,6 @@ instance : Frame (Opens α) :=
inf_sup_le_iSup_inf := fun a s =>
(ext <| by simp only [coe_inf, coe_supr, coe_Sup, Set.inter_iUnion₂]).le }
-/- warning: topological_space.opens.open_embedding_of_le -> TopologicalSpace.Opens.openEmbedding_of_le is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : TopologicalSpace.Opens.{u1} α _inst_1} {V : TopologicalSpace.Opens.{u1} α _inst_1} (i : LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U V), OpenEmbedding.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U))) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) V))) (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U))) _inst_1) (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) V))) _inst_1) (Set.inclusion.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U)) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) V)) i)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : TopologicalSpace.Opens.{u1} α _inst_1} {V : TopologicalSpace.Opens.{u1} α _inst_1} (i : LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))) U V), OpenEmbedding.{u1, u1} (Set.Elem.{u1} α (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U)) (Set.Elem.{u1} α (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) V)) (instTopologicalSpaceSubtype.{u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U)) _inst_1) (instTopologicalSpaceSubtype.{u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) V)) _inst_1) (Set.inclusion.{u1} α (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) V) (Iff.mpr (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) V)) (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instPartialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)))) U V) (SetLike.coe_subset_coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U V) i))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.open_embedding_of_le TopologicalSpace.Opens.openEmbedding_of_leₓ'. -/
theorem openEmbedding_of_le {U V : Opens α} (i : U ≤ V) : OpenEmbedding (Set.inclusion i) :=
{ inj := Set.inclusion_injective i
induced := (@induced_compose _ _ _ _ (Set.inclusion i) coe).symm
@@ -367,32 +271,14 @@ theorem openEmbedding_of_le {U V : Opens α} (i : U ≤ V) : OpenEmbedding (Set.
exact U.is_open.preimage continuous_subtype_val }
#align topological_space.opens.open_embedding_of_le TopologicalSpace.Opens.openEmbedding_of_le
-/- warning: topological_space.opens.not_nonempty_iff_eq_bot -> TopologicalSpace.Opens.not_nonempty_iff_eq_bot is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (U : TopologicalSpace.Opens.{u1} α _inst_1), Iff (Not (Set.Nonempty.{u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U))) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (U : TopologicalSpace.Opens.{u1} α _inst_1), Iff (Not (Set.Nonempty.{u1} α (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U))) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toBot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.not_nonempty_iff_eq_bot TopologicalSpace.Opens.not_nonempty_iff_eq_botₓ'. -/
theorem not_nonempty_iff_eq_bot (U : Opens α) : ¬Set.Nonempty (U : Set α) ↔ U = ⊥ := by
rw [← coe_inj, opens.coe_bot, ← Set.not_nonempty_iff_eq_empty]
#align topological_space.opens.not_nonempty_iff_eq_bot TopologicalSpace.Opens.not_nonempty_iff_eq_bot
-/- warning: topological_space.opens.ne_bot_iff_nonempty -> TopologicalSpace.Opens.ne_bot_iff_nonempty is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (U : TopologicalSpace.Opens.{u1} α _inst_1), Iff (Ne.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)))) (Set.Nonempty.{u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (U : TopologicalSpace.Opens.{u1} α _inst_1), Iff (Ne.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toBot.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (Set.Nonempty.{u1} α (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.ne_bot_iff_nonempty TopologicalSpace.Opens.ne_bot_iff_nonemptyₓ'. -/
theorem ne_bot_iff_nonempty (U : Opens α) : U ≠ ⊥ ↔ Set.Nonempty (U : Set α) := by
rw [Ne.def, ← opens.not_nonempty_iff_eq_bot, Classical.not_not]
#align topological_space.opens.ne_bot_iff_nonempty TopologicalSpace.Opens.ne_bot_iff_nonempty
-/- warning: topological_space.opens.eq_bot_or_top -> TopologicalSpace.Opens.eq_bot_or_top is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [t : TopologicalSpace.{u1} α], (Eq.{succ u1} (TopologicalSpace.{u1} α) t (Top.top.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.completeLattice.{u1} α)))) -> (forall (U : TopologicalSpace.Opens.{u1} α t), Or (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α t) U (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} α t) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.Opens.{u1} α t) (TopologicalSpace.Opens.completeLattice.{u1} α t)))) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α t) U (Top.top.{u1} (TopologicalSpace.Opens.{u1} α t) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.Opens.{u1} α t) (TopologicalSpace.Opens.completeLattice.{u1} α t)))))
-but is expected to have type
- forall {α : Type.{u1}} [t : TopologicalSpace.{u1} α], (Eq.{succ u1} (TopologicalSpace.{u1} α) t (Top.top.{u1} (TopologicalSpace.{u1} α) (CompleteLattice.toTop.{u1} (TopologicalSpace.{u1} α) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} α)))) -> (forall (U : TopologicalSpace.Opens.{u1} α t), Or (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α t) U (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} α t) (CompleteLattice.toBot.{u1} (TopologicalSpace.Opens.{u1} α t) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α t)))) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α t) U (Top.top.{u1} (TopologicalSpace.Opens.{u1} α t) (CompleteLattice.toTop.{u1} (TopologicalSpace.Opens.{u1} α t) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α t)))))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.eq_bot_or_top TopologicalSpace.Opens.eq_bot_or_topₓ'. -/
/-- An open set in the indiscrete topology is either empty or the whole space. -/
theorem eq_bot_or_top {α} [t : TopologicalSpace α] (h : t = ⊤) (U : Opens α) : U = ⊥ ∨ U = ⊤ :=
by
@@ -408,12 +294,6 @@ def IsBasis (B : Set (Opens α)) : Prop :=
#align topological_space.opens.is_basis TopologicalSpace.Opens.IsBasis
-/
-/- warning: topological_space.opens.is_basis_iff_nbhd -> TopologicalSpace.Opens.isBasis_iff_nbhd is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall {U : TopologicalSpace.Opens.{u1} α _inst_1} {x : α}, (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x U) -> (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (U' : TopologicalSpace.Opens.{u1} α _inst_1) => Exists.{0} (Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) U' B) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) U' B) => And (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x U') (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U' U)))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall {U : TopologicalSpace.Opens.{u1} α _inst_1} {x : α}, (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x U) -> (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (U' : TopologicalSpace.Opens.{u1} α _inst_1) => And (Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) U' B) (And (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x U') (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))) U' U)))))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.is_basis_iff_nbhd TopologicalSpace.Opens.isBasis_iff_nbhdₓ'. -/
theorem isBasis_iff_nbhd {B : Set (Opens α)} :
IsBasis B ↔ ∀ {U : Opens α} {x}, x ∈ U → ∃ U' ∈ B, x ∈ U' ∧ U' ≤ U :=
by
@@ -429,12 +309,6 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
exact ⟨V, ⟨V, hV, rfl⟩, H⟩
#align topological_space.opens.is_basis_iff_nbhd TopologicalSpace.Opens.isBasis_iff_nbhd
-/- warning: topological_space.opens.is_basis_iff_cover -> TopologicalSpace.Opens.isBasis_iff_cover is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall (U : TopologicalSpace.Opens.{u1} α _inst_1), Exists.{succ u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (fun (Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) => Exists.{0} (HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasSubset.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) (fun (H : HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasSubset.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) => Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) Us))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall (U : TopologicalSpace.Opens.{u1} α _inst_1), Exists.{succ u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (fun (Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) => And (HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instHasSubsetSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) Us))))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.is_basis_iff_cover TopologicalSpace.Opens.isBasis_iff_coverₓ'. -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
theorem isBasis_iff_cover {B : Set (Opens α)} :
IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _)(_ : Us ⊆ B), U = sSup Us :=
@@ -467,12 +341,6 @@ theorem IsBasis.isCompact_open_iff_eq_finite_iUnion {ι : Type _} (b : ι → Op
#align topological_space.opens.is_basis.is_compact_open_iff_eq_finite_Union TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_iUnion
-/
-/- warning: topological_space.opens.is_compact_element_iff -> TopologicalSpace.Opens.isCompactElement_iff is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1), Iff (CompleteLattice.IsCompactElement.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1) s) (IsCompact.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) s))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1), Iff (CompleteLattice.IsCompactElement.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1) s) (IsCompact.{u1} α _inst_1 (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) s))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.is_compact_element_iff TopologicalSpace.Opens.isCompactElement_iffₓ'. -/
@[simp]
theorem isCompactElement_iff (s : Opens α) :
CompleteLattice.IsCompactElement s ↔ IsCompact (s : Set α) :=
@@ -491,12 +359,6 @@ theorem isCompactElement_iff (s : Opens α) :
show ∀ i ∈ t, U i ≤ t.sup U; exact fun i => Finset.le_sup
#align topological_space.opens.is_compact_element_iff TopologicalSpace.Opens.isCompactElement_iff
-/- warning: topological_space.opens.comap -> TopologicalSpace.Opens.comap is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) -> (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) -> (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap TopologicalSpace.Opens.comapₓ'. -/
/-- The preimage of an open set, as an open set. -/
def comap (f : C(α, β)) : FrameHom (Opens β) (Opens α)
where
@@ -506,63 +368,30 @@ def comap (f : C(α, β)) : FrameHom (Opens β) (Opens α)
map_top' := rfl
#align topological_space.opens.comap TopologicalSpace.Opens.comap
-/- warning: topological_space.opens.comap_id -> TopologicalSpace.Opens.comap_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], Eq.{succ u1} (FrameHom.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u1} α α _inst_1 _inst_1 (ContinuousMap.id.{u1} α _inst_1)) (FrameHom.id.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α], Eq.{succ u1} (FrameHom.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u1} α α _inst_1 _inst_1 (ContinuousMap.id.{u1} α _inst_1)) (FrameHom.id.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap_id TopologicalSpace.Opens.comap_idₓ'. -/
@[simp]
theorem comap_id : comap (ContinuousMap.id α) = FrameHom.id _ :=
FrameHom.ext fun a => ext rfl
#align topological_space.opens.comap_id TopologicalSpace.Opens.comap_id
-/- warning: topological_space.opens.comap_mono -> TopologicalSpace.Opens.comap_mono is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) {s : TopologicalSpace.Opens.{u2} β _inst_2} {t : TopologicalSpace.Opens.{u2} β _inst_2}, (LE.le.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) s t) -> (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) t))
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) {s : TopologicalSpace.Opens.{u1} β _inst_2} {t : TopologicalSpace.Opens.{u1} β _inst_2}, (LE.le.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2))))) s t) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (CompleteSemilatticeInf.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (CompleteLattice.toCompleteSemilatticeInf.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (sSupHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (sSupHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) t))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap_mono TopologicalSpace.Opens.comap_monoₓ'. -/
theorem comap_mono (f : C(α, β)) {s t : Opens β} (h : s ≤ t) : comap f s ≤ comap f t :=
OrderHomClass.mono (comap f) h
#align topological_space.opens.comap_mono TopologicalSpace.Opens.comap_mono
-/- warning: topological_space.opens.coe_comap -> TopologicalSpace.Opens.coe_comap is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u2} β _inst_2), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) U)) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} β _inst_2) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} β _inst_2) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} β _inst_2) (Set.{u2} β) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) U))
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u1} β _inst_2), Eq.{succ u2} (Set.{u2} α) (SetLike.coe.{u2, u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) U) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (sSupHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) U)) (Set.preimage.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) f) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} β _inst_2) β (TopologicalSpace.Opens.instSetLikeOpens.{u1} β _inst_2) U))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_comap TopologicalSpace.Opens.coe_comapₓ'. -/
@[simp]
theorem coe_comap (f : C(α, β)) (U : Opens β) : ↑(comap f U) = f ⁻¹' U :=
rfl
#align topological_space.opens.coe_comap TopologicalSpace.Opens.coe_comap
-/- warning: topological_space.opens.comap_comp -> TopologicalSpace.Opens.comap_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] (g : ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u3) (succ u1)} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u3} α γ _inst_1 _inst_3 (ContinuousMap.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) (FrameHom.comp.{u3, u2, u1} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) (TopologicalSpace.Opens.comap.{u2, u3} β γ _inst_2 _inst_3 g))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u2} γ] (g : ContinuousMap.{u3, u2} β γ _inst_2 _inst_3) (f : ContinuousMap.{u1, u3} α β _inst_1 _inst_2), Eq.{max (succ u1) (succ u2)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α γ _inst_1 _inst_3 (ContinuousMap.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) (FrameHom.comp.{u2, u3, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1) (TopologicalSpace.Opens.comap.{u1, u3} α β _inst_1 _inst_2 f) (TopologicalSpace.Opens.comap.{u3, u2} β γ _inst_2 _inst_3 g))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap_comp TopologicalSpace.Opens.comap_compₓ'. -/
protected theorem comap_comp (g : C(β, γ)) (f : C(α, β)) :
comap (g.comp f) = (comap f).comp (comap g) :=
rfl
#align topological_space.opens.comap_comp TopologicalSpace.Opens.comap_comp
-/- warning: topological_space.opens.comap_comap -> TopologicalSpace.Opens.comap_comap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap_comap TopologicalSpace.Opens.comap_comapₓ'. -/
protected theorem comap_comap (g : C(β, γ)) (f : C(α, β)) (U : Opens γ) :
comap f (comap g U) = comap (g.comp f) U :=
rfl
#align topological_space.opens.comap_comap TopologicalSpace.Opens.comap_comap
-/- warning: topological_space.opens.comap_injective -> TopologicalSpace.Opens.comap_injective is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : T0Space.{u2} β _inst_2], Function.Injective.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : T0Space.{u2} β _inst_2], Function.Injective.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap_injective TopologicalSpace.Opens.comap_injectiveₓ'. -/
theorem comap_injective [T0Space β] : Injective (comap : C(α, β) → FrameHom (Opens β) (Opens α)) :=
fun f g h =>
ContinuousMap.ext fun a =>
@@ -572,12 +401,6 @@ theorem comap_injective [T0Space β] : Injective (comap : C(α, β) → FrameHom
show a ∈ f ⁻¹' s ↔ a ∈ g ⁻¹' s from Set.ext_iff.1 (coe_inj.2 this) a
#align topological_space.opens.comap_injective TopologicalSpace.Opens.comap_injective
-/- warning: homeomorph.opens_congr -> Homeomorph.opensCongr is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], (Homeomorph.{u1, u2} α β _inst_1 _inst_2) -> (OrderIso.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], (Homeomorph.{u1, u2} α β _inst_1 _inst_2) -> (OrderIso.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} β _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align homeomorph.opens_congr Homeomorph.opensCongrₓ'. -/
/-- A homeomorphism induces an order-preserving equivalence on open sets, by taking comaps. -/
@[simps (config := { fullyApplied := false }) apply]
def Homeomorph.opensCongr (f : α ≃ₜ β) : Opens α ≃o Opens β
@@ -590,12 +413,6 @@ def Homeomorph.opensCongr (f : α ≃ₜ β) : Opens α ≃o Opens β
simp only [← SetLike.coe_subset_coe] <;> exact f.symm.surjective.preimage_subset_preimage_iff
#align homeomorph.opens_congr Homeomorph.opensCongr
-/- warning: homeomorph.opens_congr_symm -> Homeomorph.opensCongr_symm is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : Homeomorph.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (OrderIso.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1))))) (OrderIso.symm.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) (Homeomorph.opensCongr.{u1, u2} α β _inst_1 _inst_2 f)) (Homeomorph.opensCongr.{u2, u1} β α _inst_2 _inst_1 (Homeomorph.symm.{u1, u2} α β _inst_1 _inst_2 f))
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : Homeomorph.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (OrderIso.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2))))) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))))) (OrderIso.symm.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.{u1} β _inst_2) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2))))) (Homeomorph.opensCongr.{u2, u1} α β _inst_1 _inst_2 f)) (Homeomorph.opensCongr.{u1, u2} β α _inst_2 _inst_1 (Homeomorph.symm.{u2, u1} α β _inst_1 _inst_2 f))
-Case conversion may be inaccurate. Consider using '#align homeomorph.opens_congr_symm Homeomorph.opensCongr_symmₓ'. -/
@[simp]
theorem Homeomorph.opensCongr_symm (f : α ≃ₜ β) : f.opensCongr.symm = f.symm.opensCongr :=
rfl
@@ -669,12 +486,6 @@ theorem basis_nhds : (𝓝 x).HasBasis (fun U : OpenNhdsOf x => True) coe :=
#align topological_space.open_nhds_of.basis_nhds TopologicalSpace.OpenNhdsOf.basis_nhds
-/
-/- warning: topological_space.open_nhds_of.comap -> TopologicalSpace.OpenNhdsOf.comap is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (x : α), LatticeHom.{u2, u1} (TopologicalSpace.OpenNhdsOf.{u2} β _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f x)) (TopologicalSpace.OpenNhdsOf.{u1} α _inst_1 x) (DistribLattice.toLattice.{u2} (TopologicalSpace.OpenNhdsOf.{u2} β _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f x)) (TopologicalSpace.OpenNhdsOf.distribLattice.{u2} β _inst_2 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f x))) (DistribLattice.toLattice.{u1} (TopologicalSpace.OpenNhdsOf.{u1} α _inst_1 x) (TopologicalSpace.OpenNhdsOf.distribLattice.{u1} α _inst_1 x))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (x : α), LatticeHom.{u2, u1} (TopologicalSpace.OpenNhdsOf.{u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) x) _inst_2 (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u2} α β _inst_1 _inst_2)) f x)) (TopologicalSpace.OpenNhdsOf.{u1} α _inst_1 x) (DistribLattice.toLattice.{u2} (TopologicalSpace.OpenNhdsOf.{u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) x) _inst_2 (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u2} α β _inst_1 _inst_2)) f x)) (TopologicalSpace.OpenNhdsOf.instDistribLatticeOpenNhdsOf.{u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) x) _inst_2 (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u2} α β _inst_1 _inst_2)) f x))) (DistribLattice.toLattice.{u1} (TopologicalSpace.OpenNhdsOf.{u1} α _inst_1 x) (TopologicalSpace.OpenNhdsOf.instDistribLatticeOpenNhdsOf.{u1} α _inst_1 x))
-Case conversion may be inaccurate. Consider using '#align topological_space.open_nhds_of.comap TopologicalSpace.OpenNhdsOf.comapₓ'. -/
/-- Preimage of an open neighborhood of `f x` under a continuous map `f` as a `lattice_hom`. -/
def comap (f : C(α, β)) (x : α) : LatticeHom (OpenNhdsOf (f x)) (OpenNhdsOf x)
where
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -135,10 +135,7 @@ protected theorem isOpen (U : Opens α) : IsOpen (U : Set α) :=
#print TopologicalSpace.Opens.mk_coe /-
@[simp]
-theorem mk_coe (U : Opens α) : mk (↑U) U.IsOpen = U :=
- by
- cases U
- rfl
+theorem mk_coe (U : Opens α) : mk (↑U) U.IsOpen = U := by cases U; rfl
#align topological_space.opens.mk_coe TopologicalSpace.Opens.mk_coe
-/
@@ -303,10 +300,7 @@ but is expected to have type
forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => s i)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i))) (isOpen_iUnion.{u1, u2} α ι _inst_1 (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i)) (fun (i : ι) => TopologicalSpace.Opens.is_open'.{u1} α _inst_1 (s i))))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.supr_def TopologicalSpace.Opens.iSup_defₓ'. -/
theorem iSup_def {ι} (s : ι → Opens α) : (⨆ i, s i) = ⟨⋃ i, s i, isOpen_iUnion fun i => (s i).2⟩ :=
- by
- ext
- simp only [iSup, coe_Sup, bUnion_range]
- rfl
+ by ext; simp only [iSup, coe_Sup, bUnion_range]; rfl
#align topological_space.opens.supr_def TopologicalSpace.Opens.iSup_def
/- warning: topological_space.opens.supr_mk -> TopologicalSpace.Opens.iSup_mk is a dubious translation:
@@ -317,10 +311,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align topological_space.opens.supr_mk TopologicalSpace.Opens.iSup_mkₓ'. -/
@[simp]
theorem iSup_mk {ι} (s : ι → Set α) (h : ∀ i, IsOpen (s i)) :
- (⨆ i, ⟨s i, h i⟩ : Opens α) = ⟨⋃ i, s i, isOpen_iUnion h⟩ :=
- by
- rw [supr_def]
- simp
+ (⨆ i, ⟨s i, h i⟩ : Opens α) = ⟨⋃ i, s i, isOpen_iUnion h⟩ := by rw [supr_def]; simp
#align topological_space.opens.supr_mk TopologicalSpace.Opens.iSup_mk
/- warning: topological_space.opens.coe_supr -> TopologicalSpace.Opens.coe_iSup is a dubious translation:
@@ -341,10 +332,8 @@ but is expected to have type
forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} {x : α} {s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι s)) (Exists.{u2} ι (fun (i : ι) => Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (s i)))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_iSupₓ'. -/
@[simp]
-theorem mem_iSup {ι} {x : α} {s : ι → Opens α} : x ∈ iSup s ↔ ∃ i, x ∈ s i :=
- by
- rw [← SetLike.mem_coe]
- simp
+theorem mem_iSup {ι} {x : α} {s : ι → Opens α} : x ∈ iSup s ↔ ∃ i, x ∈ s i := by
+ rw [← SetLike.mem_coe]; simp
#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_iSup
/- warning: topological_space.opens.mem_Sup -> TopologicalSpace.Opens.mem_sSup is a dubious translation:
@@ -432,13 +421,9 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
· rintro ⟨sU, hU⟩ x hx
rcases h.mem_nhds_iff.mp (IsOpen.mem_nhds hU hx) with ⟨sV, ⟨⟨V, H₁, H₂⟩, hsV⟩⟩
refine' ⟨V, H₁, _⟩
- cases V
- dsimp at H₂
- subst H₂
- exact hsV
+ cases V; dsimp at H₂; subst H₂; exact hsV
· refine' is_topological_basis_of_open_of_nhds _ _
- · rintro sU ⟨U, ⟨H₁, rfl⟩⟩
- exact U.2
+ · rintro sU ⟨U, ⟨H₁, rfl⟩⟩; exact U.2
· intro x sU hx hsU
rcases@h (⟨sU, hsU⟩ : opens α) x hx with ⟨V, hV, H⟩
exact ⟨V, ⟨V, hV, rfl⟩, H⟩
@@ -477,9 +462,7 @@ theorem IsBasis.isCompact_open_iff_eq_finite_iUnion {ι : Type _} (b : ι → Op
IsCompact U ∧ IsOpen U ↔ ∃ s : Set ι, s.Finite ∧ U = ⋃ i ∈ s, b i :=
by
apply isCompact_open_iff_eq_finite_iUnion_of_isTopologicalBasis fun i : ι => (b i).1
- · convert hb
- ext
- simp
+ · convert hb; ext; simp
· exact hb'
#align topological_space.opens.is_basis.is_compact_open_iff_eq_finite_Union TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_iUnion
-/
@@ -505,8 +488,7 @@ theorem isCompactElement_iff (s : Opens α) :
H (fun i => U i) (fun i => (U i).IsOpen) (by simpa using show (s : Set α) ⊆ ↑(iSup U) from hU)
refine' ⟨t, Set.Subset.trans ht _⟩
simp only [Set.iUnion_subset_iff]
- show ∀ i ∈ t, U i ≤ t.sup U
- exact fun i => Finset.le_sup
+ show ∀ i ∈ t, U i ≤ t.sup U; exact fun i => Finset.le_sup
#align topological_space.opens.is_compact_element_iff TopologicalSpace.Opens.isCompactElement_iff
/- warning: topological_space.opens.comap -> TopologicalSpace.Opens.comap is a dubious translation:
@@ -602,14 +584,8 @@ def Homeomorph.opensCongr (f : α ≃ₜ β) : Opens α ≃o Opens β
where
toFun := Opens.comap f.symm.toContinuousMap
invFun := Opens.comap f.toContinuousMap
- left_inv := by
- intro U
- ext1
- exact f.to_equiv.preimage_symm_preimage _
- right_inv := by
- intro U
- ext1
- exact f.to_equiv.symm_preimage_preimage _
+ left_inv := by intro U; ext1; exact f.to_equiv.preimage_symm_preimage _
+ right_inv := by intro U; ext1; exact f.to_equiv.symm_preimage_preimage _
map_rel_iff' U V := by
simp only [← SetLike.coe_subset_coe] <;> exact f.symm.surjective.preimage_subset_preimage_iff
#align homeomorph.opens_congr Homeomorph.opensCongr
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -568,10 +568,7 @@ protected theorem comap_comp (g : C(β, γ)) (f : C(α, β)) :
#align topological_space.opens.comap_comp TopologicalSpace.Opens.comap_comp
/- warning: topological_space.opens.comap_comap -> TopologicalSpace.Opens.comap_comap is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] (g : ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u3} γ _inst_3), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (FrameHom.{u3, u2} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2)) (fun (_x : FrameHom.{u3, u2} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2)) => (TopologicalSpace.Opens.{u3} γ _inst_3) -> (TopologicalSpace.Opens.{u2} β _inst_2)) (FrameHom.hasCoeToFun.{u3, u2} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2)) (TopologicalSpace.Opens.comap.{u2, u3} β γ _inst_2 _inst_3 g) U)) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u3} γ _inst_3) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u3, u1} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u3} α γ _inst_1 _inst_3 (ContinuousMap.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) U)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u2} γ] (g : ContinuousMap.{u3, u2} β γ _inst_2 _inst_3) (f : ContinuousMap.{u1, u3} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u2} γ _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u3} β _inst_2) => TopologicalSpace.Opens.{u1} α _inst_1) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (fun (a : TopologicalSpace.Opens.{u2} γ _inst_3) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u2} γ _inst_3) => TopologicalSpace.Opens.{u3} β _inst_2) a) (sSupHomClass.toFunLike.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3)) (CompleteLattice.toSupSet.{u3} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (FrameHomClass.tosSupHomClass.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (FrameHom.instFrameHomClassFrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)))) (TopologicalSpace.Opens.comap.{u3, u2} β γ _inst_2 _inst_3 g) U)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u3} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u3} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u3} β _inst_2) => TopologicalSpace.Opens.{u1} α _inst_1) _x) (sSupHomClass.toFunLike.{max u1 u3, u3, u1} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u1 u3, u3, u1} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (TopologicalSpace.Opens.comap.{u1, u3} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (fun (_x : TopologicalSpace.Opens.{u2} γ _inst_3) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u2} γ _inst_3) => TopologicalSpace.Opens.{u3} β _inst_2) _x) (sSupHomClass.toFunLike.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3)) (CompleteLattice.toSupSet.{u3} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (FrameHomClass.tosSupHomClass.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (FrameHom.instFrameHomClassFrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)))) (TopologicalSpace.Opens.comap.{u3, u2} β γ _inst_2 _inst_3 g) U)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u2} γ _inst_3) (fun (_x : TopologicalSpace.Opens.{u2} γ _inst_3) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u2} γ _inst_3) => TopologicalSpace.Opens.{u1} α _inst_1) _x) (sSupHomClass.toFunLike.{max u1 u2, u2, u1} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3)) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u1 u2, u2, u1} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (TopologicalSpace.Opens.comap.{u1, u2} α γ _inst_1 _inst_3 (ContinuousMap.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) U)
+<too large>
Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap_comap TopologicalSpace.Opens.comap_comapₓ'. -/
protected theorem comap_comap (g : C(β, γ)) (f : C(α, β)) (U : Opens γ) :
comap f (comap g U) = comap (g.comp f) U :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -273,7 +273,7 @@ theorem coe_sSup {S : Set (Opens α)} : (↑(sSup S) : Set α) = ⋃ i ∈ S,
/- warning: topological_space.opens.coe_finset_sup -> TopologicalSpace.Opens.coe_finset_sup is a dubious translation:
lean 3 declaration is
- forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1)))) (Finset.sup.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1)))) (BoundedOrder.toOrderBot.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeSup.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))) s f)) (Finset.sup.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeSup.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.completeBooleanAlgebra.{u2} α))))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} α) (Set.booleanAlgebra.{u2} α))) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1))))) f))
+ forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1)))) (Finset.sup.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1)))) (BoundedOrder.toOrderBot.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeSup.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))) s f)) (Finset.sup.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeSup.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.completeBooleanAlgebra.{u2} α))))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} α) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} α) (Set.booleanAlgebra.{u2} α))) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1))))) f))
but is expected to have type
forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1) (Finset.sup.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (BoundedOrder.toOrderBot.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeSup.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeSup.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))) s f)) (Finset.sup.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeSup.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} α) (Preorder.toLE.{u2} (Set.{u2} α) (PartialOrder.toPreorder.{u2} (Set.{u2} α) (SemilatticeSup.toPartialOrder.{u2} (Set.{u2} α) (Lattice.toSemilatticeSup.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α)))))) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1)) f))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_finset_sup TopologicalSpace.Opens.coe_finset_supₓ'. -/
@@ -284,7 +284,7 @@ theorem coe_finset_sup (f : ι → Opens α) (s : Finset ι) : (↑(s.sup f) : S
/- warning: topological_space.opens.coe_finset_inf -> TopologicalSpace.Opens.coe_finset_inf is a dubious translation:
lean 3 declaration is
- forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1)))) (Finset.inf.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1)))) (BoundedOrder.toOrderTop.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))) s f)) (Finset.inf.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeInf.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.completeBooleanAlgebra.{u2} α))))))) (Set.orderTop.{u2} α) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1))))) f))
+ forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1)))) (Finset.inf.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1)))) (BoundedOrder.toOrderTop.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} α _inst_1))) s f)) (Finset.inf.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeInf.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.completeBooleanAlgebra.{u2} α))))))) (Set.orderTop.{u2} α) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.setLike.{u2} α _inst_1))))) f))
but is expected to have type
forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} α] (f : ι -> (TopologicalSpace.Opens.{u2} α _inst_1)) (s : Finset.{u1} ι), Eq.{succ u2} (Set.{u2} α) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1) (Finset.inf.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) ι (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (BoundedOrder.toOrderTop.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (SemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))))) (CompleteLattice.toBoundedOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))) s f)) (Finset.inf.{u2, u1} (Set.{u2} α) ι (Lattice.toSemilatticeInf.{u2} (Set.{u2} α) (ConditionallyCompleteLattice.toLattice.{u2} (Set.{u2} α) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Set.{u2} α) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} α) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} α) (Set.instCompleteBooleanAlgebraSet.{u2} α))))))) (Set.instOrderTopSetInstLESet.{u2} α) s (Function.comp.{succ u1, succ u2, succ u2} ι (TopologicalSpace.Opens.{u2} α _inst_1) (Set.{u2} α) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1)) f))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_finset_inf TopologicalSpace.Opens.coe_finset_infₓ'. -/
@@ -366,7 +366,7 @@ instance : Frame (Opens α) :=
/- warning: topological_space.opens.open_embedding_of_le -> TopologicalSpace.Opens.openEmbedding_of_le is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : TopologicalSpace.Opens.{u1} α _inst_1} {V : TopologicalSpace.Opens.{u1} α _inst_1} (i : LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U V), OpenEmbedding.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U))) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) V))) (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U))) _inst_1) (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) V))) _inst_1) (Set.inclusion.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U)) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) V)) i)
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : TopologicalSpace.Opens.{u1} α _inst_1} {V : TopologicalSpace.Opens.{u1} α _inst_1} (i : LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U V), OpenEmbedding.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U))) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) V))) (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U))) _inst_1) (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) V))) _inst_1) (Set.inclusion.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U)) (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) V)) i)
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : TopologicalSpace.Opens.{u1} α _inst_1} {V : TopologicalSpace.Opens.{u1} α _inst_1} (i : LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))) U V), OpenEmbedding.{u1, u1} (Set.Elem.{u1} α (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U)) (Set.Elem.{u1} α (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) V)) (instTopologicalSpaceSubtype.{u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U)) _inst_1) (instTopologicalSpaceSubtype.{u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) V)) _inst_1) (Set.inclusion.{u1} α (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) V) (Iff.mpr (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) V)) (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instPartialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)))) U V) (SetLike.coe_subset_coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) U V) i))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.open_embedding_of_le TopologicalSpace.Opens.openEmbedding_of_leₓ'. -/
@@ -421,7 +421,7 @@ def IsBasis (B : Set (Opens α)) : Prop :=
/- warning: topological_space.opens.is_basis_iff_nbhd -> TopologicalSpace.Opens.isBasis_iff_nbhd is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall {U : TopologicalSpace.Opens.{u1} α _inst_1} {x : α}, (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x U) -> (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (U' : TopologicalSpace.Opens.{u1} α _inst_1) => Exists.{0} (Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) U' B) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) U' B) => And (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x U') (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U' U)))))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall {U : TopologicalSpace.Opens.{u1} α _inst_1} {x : α}, (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x U) -> (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (U' : TopologicalSpace.Opens.{u1} α _inst_1) => Exists.{0} (Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) U' B) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) U' B) => And (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x U') (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) U' U)))))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall {U : TopologicalSpace.Opens.{u1} α _inst_1} {x : α}, (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x U) -> (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (U' : TopologicalSpace.Opens.{u1} α _inst_1) => And (Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) U' B) (And (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x U') (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))) U' U)))))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.is_basis_iff_nbhd TopologicalSpace.Opens.isBasis_iff_nbhdₓ'. -/
@@ -537,7 +537,7 @@ theorem comap_id : comap (ContinuousMap.id α) = FrameHom.id _ :=
/- warning: topological_space.opens.comap_mono -> TopologicalSpace.Opens.comap_mono is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) {s : TopologicalSpace.Opens.{u2} β _inst_2} {t : TopologicalSpace.Opens.{u2} β _inst_2}, (LE.le.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) s t) -> (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) t))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) {s : TopologicalSpace.Opens.{u2} β _inst_2} {t : TopologicalSpace.Opens.{u2} β _inst_2}, (LE.le.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) s t) -> (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) t))
but is expected to have type
forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) {s : TopologicalSpace.Opens.{u1} β _inst_2} {t : TopologicalSpace.Opens.{u1} β _inst_2}, (LE.le.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2))))) s t) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (CompleteSemilatticeInf.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (CompleteLattice.toCompleteSemilatticeInf.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (sSupHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (sSupHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) t))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap_mono TopologicalSpace.Opens.comap_monoₓ'. -/
@@ -595,7 +595,7 @@ theorem comap_injective [T0Space β] : Injective (comap : C(α, β) → FrameHom
/- warning: homeomorph.opens_congr -> Homeomorph.opensCongr is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], (Homeomorph.{u1, u2} α β _inst_1 _inst_2) -> (OrderIso.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], (Homeomorph.{u1, u2} α β _inst_1 _inst_2) -> (OrderIso.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))))
but is expected to have type
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], (Homeomorph.{u1, u2} α β _inst_1 _inst_2) -> (OrderIso.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} β _inst_2))))))
Case conversion may be inaccurate. Consider using '#align homeomorph.opens_congr Homeomorph.opensCongrₓ'. -/
@@ -619,7 +619,7 @@ def Homeomorph.opensCongr (f : α ≃ₜ β) : Opens α ≃o Opens β
/- warning: homeomorph.opens_congr_symm -> Homeomorph.opensCongr_symm is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : Homeomorph.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (OrderIso.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1))))) (OrderIso.symm.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) (Homeomorph.opensCongr.{u1, u2} α β _inst_1 _inst_2 f)) (Homeomorph.opensCongr.{u2, u1} β α _inst_2 _inst_1 (Homeomorph.symm.{u1, u2} α β _inst_1 _inst_2 f))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : Homeomorph.{u1, u2} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (OrderIso.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1))))) (OrderIso.symm.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) (Homeomorph.opensCongr.{u1, u2} α β _inst_1 _inst_2 f)) (Homeomorph.opensCongr.{u2, u1} β α _inst_2 _inst_1 (Homeomorph.symm.{u1, u2} α β _inst_1 _inst_2 f))
but is expected to have type
forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : Homeomorph.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (OrderIso.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2))))) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))))) (OrderIso.symm.{u2, u1} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.{u1} β _inst_2) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2))))) (Homeomorph.opensCongr.{u2, u1} α β _inst_1 _inst_2 f)) (Homeomorph.opensCongr.{u1, u2} β α _inst_2 _inst_1 (Homeomorph.symm.{u2, u1} α β _inst_1 _inst_2 f))
Case conversion may be inaccurate. Consider using '#align homeomorph.opens_congr_symm Homeomorph.opensCongr_symmₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -199,8 +199,8 @@ instance : CompleteLattice (Opens α) :=
fun U V => ⟨↑U ∩ ↑V, U.2.inter V.2⟩)
(funext₂ fun U V => ext (U.2.inter V.2).interior_eq.symm)
(-- Sup
- fun S => ⟨⋃ s ∈ S, ↑s, isOpen_bunionᵢ fun s _ => s.2⟩)
- (funext fun S => ext supₛ_image.symm)-- Inf
+ fun S => ⟨⋃ s ∈ S, ↑s, isOpen_biUnion fun s _ => s.2⟩)
+ (funext fun S => ext sSup_image.symm)-- Inf
_
rfl
@@ -260,16 +260,16 @@ theorem coe_top : ((⊤ : Opens α) : Set α) = Set.univ :=
rfl
#align topological_space.opens.coe_top TopologicalSpace.Opens.coe_top
-/- warning: topological_space.opens.coe_Sup -> TopologicalSpace.Opens.coe_supₛ is a dubious translation:
+/- warning: topological_space.opens.coe_Sup -> TopologicalSpace.Opens.coe_sSup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {S : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (SupSet.supₛ.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) S)) (Set.unionᵢ.{u1, succ u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (fun (i : TopologicalSpace.Opens.{u1} α _inst_1) => Set.unionᵢ.{u1, 0} α (Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) i)))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {S : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) S)) (Set.iUnion.{u1, succ u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (fun (i : TopologicalSpace.Opens.{u1} α _inst_1) => Set.iUnion.{u1, 0} α (Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) i)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {S : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (SupSet.supₛ.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) S)) (Set.unionᵢ.{u1, succ u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (fun (i : TopologicalSpace.Opens.{u1} α _inst_1) => Set.unionᵢ.{u1, 0} α (Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) (fun (H : Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) i)))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_Sup TopologicalSpace.Opens.coe_supₛₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {S : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) S)) (Set.iUnion.{u1, succ u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (fun (i : TopologicalSpace.Opens.{u1} α _inst_1) => Set.iUnion.{u1, 0} α (Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) (fun (H : Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) i S) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) i)))
+Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_Sup TopologicalSpace.Opens.coe_sSupₓ'. -/
@[simp, norm_cast]
-theorem coe_supₛ {S : Set (Opens α)} : (↑(supₛ S) : Set α) = ⋃ i ∈ S, ↑i :=
+theorem coe_sSup {S : Set (Opens α)} : (↑(sSup S) : Set α) = ⋃ i ∈ S, ↑i :=
rfl
-#align topological_space.opens.coe_Sup TopologicalSpace.Opens.coe_supₛ
+#align topological_space.opens.coe_Sup TopologicalSpace.Opens.coe_sSup
/- warning: topological_space.opens.coe_finset_sup -> TopologicalSpace.Opens.coe_finset_sup is a dubious translation:
lean 3 declaration is
@@ -296,73 +296,73 @@ theorem coe_finset_inf (f : ι → Opens α) (s : Finset ι) : (↑(s.inf f) : S
instance : Inhabited (Opens α) :=
⟨⊥⟩
-/- warning: topological_space.opens.supr_def -> TopologicalSpace.Opens.supᵢ_def is a dubious translation:
+/- warning: topological_space.opens.supr_def -> TopologicalSpace.Opens.iSup_def is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (supᵢ.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι (fun (i : ι) => s i)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.unionᵢ.{u1, u2} α ι (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (s i))) (isOpen_unionᵢ.{u1, u2} α ι _inst_1 (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (s i)) (fun (i : ι) => TopologicalSpace.Opens.is_open'.{u1} α _inst_1 (s i))))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι (fun (i : ι) => s i)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (s i))) (isOpen_iUnion.{u1, u2} α ι _inst_1 (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (s i)) (fun (i : ι) => TopologicalSpace.Opens.is_open'.{u1} α _inst_1 (s i))))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (supᵢ.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => s i)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.unionᵢ.{u1, u2} α ι (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i))) (isOpen_unionᵢ.{u1, u2} α ι _inst_1 (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i)) (fun (i : ι) => TopologicalSpace.Opens.is_open'.{u1} α _inst_1 (s i))))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.supr_def TopologicalSpace.Opens.supᵢ_defₓ'. -/
-theorem supᵢ_def {ι} (s : ι → Opens α) : (⨆ i, s i) = ⟨⋃ i, s i, isOpen_unionᵢ fun i => (s i).2⟩ :=
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => s i)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i))) (isOpen_iUnion.{u1, u2} α ι _inst_1 (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i)) (fun (i : ι) => TopologicalSpace.Opens.is_open'.{u1} α _inst_1 (s i))))
+Case conversion may be inaccurate. Consider using '#align topological_space.opens.supr_def TopologicalSpace.Opens.iSup_defₓ'. -/
+theorem iSup_def {ι} (s : ι → Opens α) : (⨆ i, s i) = ⟨⋃ i, s i, isOpen_iUnion fun i => (s i).2⟩ :=
by
ext
- simp only [supᵢ, coe_Sup, bUnion_range]
+ simp only [iSup, coe_Sup, bUnion_range]
rfl
-#align topological_space.opens.supr_def TopologicalSpace.Opens.supᵢ_def
+#align topological_space.opens.supr_def TopologicalSpace.Opens.iSup_def
-/- warning: topological_space.opens.supr_mk -> TopologicalSpace.Opens.supᵢ_mk is a dubious translation:
+/- warning: topological_space.opens.supr_mk -> TopologicalSpace.Opens.iSup_mk is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (Set.{u1} α)) (h : forall (i : ι), IsOpen.{u1} α _inst_1 (s i)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (supᵢ.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι (fun (i : ι) => TopologicalSpace.Opens.mk.{u1} α _inst_1 (s i) (h i))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.unionᵢ.{u1, u2} α ι (fun (i : ι) => s i)) (isOpen_unionᵢ.{u1, u2} α ι _inst_1 (fun (i : ι) => s i) h))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (Set.{u1} α)) (h : forall (i : ι), IsOpen.{u1} α _inst_1 (s i)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι (fun (i : ι) => TopologicalSpace.Opens.mk.{u1} α _inst_1 (s i) (h i))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => s i)) (isOpen_iUnion.{u1, u2} α ι _inst_1 (fun (i : ι) => s i) h))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (Set.{u1} α)) (h : forall (i : ι), IsOpen.{u1} α _inst_1 (s i)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (supᵢ.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => TopologicalSpace.Opens.mk.{u1} α _inst_1 (s i) (h i))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.unionᵢ.{u1, u2} α ι (fun (i : ι) => s i)) (isOpen_unionᵢ.{u1, u2} α ι _inst_1 (fun (i : ι) => s i) h))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.supr_mk TopologicalSpace.Opens.supᵢ_mkₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (Set.{u1} α)) (h : forall (i : ι), IsOpen.{u1} α _inst_1 (s i)), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => TopologicalSpace.Opens.mk.{u1} α _inst_1 (s i) (h i))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => s i)) (isOpen_iUnion.{u1, u2} α ι _inst_1 (fun (i : ι) => s i) h))
+Case conversion may be inaccurate. Consider using '#align topological_space.opens.supr_mk TopologicalSpace.Opens.iSup_mkₓ'. -/
@[simp]
-theorem supᵢ_mk {ι} (s : ι → Set α) (h : ∀ i, IsOpen (s i)) :
- (⨆ i, ⟨s i, h i⟩ : Opens α) = ⟨⋃ i, s i, isOpen_unionᵢ h⟩ :=
+theorem iSup_mk {ι} (s : ι → Set α) (h : ∀ i, IsOpen (s i)) :
+ (⨆ i, ⟨s i, h i⟩ : Opens α) = ⟨⋃ i, s i, isOpen_iUnion h⟩ :=
by
rw [supr_def]
simp
-#align topological_space.opens.supr_mk TopologicalSpace.Opens.supᵢ_mk
+#align topological_space.opens.supr_mk TopologicalSpace.Opens.iSup_mk
-/- warning: topological_space.opens.coe_supr -> TopologicalSpace.Opens.coe_supᵢ is a dubious translation:
+/- warning: topological_space.opens.coe_supr -> TopologicalSpace.Opens.coe_iSup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (supᵢ.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι (fun (i : ι) => s i))) (Set.unionᵢ.{u1, u2} α ι (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (s i)))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι (fun (i : ι) => s i))) (Set.iUnion.{u1, u2} α ι (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (s i)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (supᵢ.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => s i))) (Set.unionᵢ.{u1, u2} α ι (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i)))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_supᵢₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} (s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι (fun (i : ι) => s i))) (Set.iUnion.{u1, u2} α ι (fun (i : ι) => SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (s i)))
+Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_iSupₓ'. -/
@[simp, norm_cast]
-theorem coe_supᵢ {ι} (s : ι → Opens α) : ((⨆ i, s i : Opens α) : Set α) = ⋃ i, s i := by
+theorem coe_iSup {ι} (s : ι → Opens α) : ((⨆ i, s i : Opens α) : Set α) = ⋃ i, s i := by
simp [supr_def]
-#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_supᵢ
+#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_iSup
-/- warning: topological_space.opens.mem_supr -> TopologicalSpace.Opens.mem_supᵢ is a dubious translation:
+/- warning: topological_space.opens.mem_supr -> TopologicalSpace.Opens.mem_iSup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} {x : α} {s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x (supᵢ.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι s)) (Exists.{u2} ι (fun (i : ι) => Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x (s i)))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} {x : α} {s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) ι s)) (Exists.{u2} ι (fun (i : ι) => Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x (s i)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} {x : α} {s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (supᵢ.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι s)) (Exists.{u2} ι (fun (i : ι) => Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (s i)))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_supᵢₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {ι : Sort.{u2}} {x : α} {s : ι -> (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (iSup.{u1, u2} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) ι s)) (Exists.{u2} ι (fun (i : ι) => Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (s i)))
+Case conversion may be inaccurate. Consider using '#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_iSupₓ'. -/
@[simp]
-theorem mem_supᵢ {ι} {x : α} {s : ι → Opens α} : x ∈ supᵢ s ↔ ∃ i, x ∈ s i :=
+theorem mem_iSup {ι} {x : α} {s : ι → Opens α} : x ∈ iSup s ↔ ∃ i, x ∈ s i :=
by
rw [← SetLike.mem_coe]
simp
-#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_supᵢ
+#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_iSup
-/- warning: topological_space.opens.mem_Sup -> TopologicalSpace.Opens.mem_supₛ is a dubious translation:
+/- warning: topological_space.opens.mem_Sup -> TopologicalSpace.Opens.mem_sSup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)} {x : α}, Iff (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x (SupSet.supₛ.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) Us)) (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (u : TopologicalSpace.Opens.{u1} α _inst_1) => Exists.{0} (Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) u Us) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) u Us) => Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x u)))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)} {x : α}, Iff (Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) Us)) (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (u : TopologicalSpace.Opens.{u1} α _inst_1) => Exists.{0} (Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) u Us) (fun (H : Membership.Mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasMem.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) u Us) => Membership.Mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)) x u)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)} {x : α}, Iff (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (SupSet.supₛ.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) Us)) (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (u : TopologicalSpace.Opens.{u1} α _inst_1) => And (Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) u Us) (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x u)))
-Case conversion may be inaccurate. Consider using '#align topological_space.opens.mem_Sup TopologicalSpace.Opens.mem_supₛₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)} {x : α}, Iff (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) Us)) (Exists.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (fun (u : TopologicalSpace.Opens.{u1} α _inst_1) => And (Membership.mem.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) u Us) (Membership.mem.{u1, u1} α (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1)) x u)))
+Case conversion may be inaccurate. Consider using '#align topological_space.opens.mem_Sup TopologicalSpace.Opens.mem_sSupₓ'. -/
@[simp]
-theorem mem_supₛ {Us : Set (Opens α)} {x : α} : x ∈ supₛ Us ↔ ∃ u ∈ Us, x ∈ u := by
- simp_rw [supₛ_eq_supᵢ, mem_supr]
-#align topological_space.opens.mem_Sup TopologicalSpace.Opens.mem_supₛ
+theorem mem_sSup {Us : Set (Opens α)} {x : α} : x ∈ sSup Us ↔ ∃ u ∈ Us, x ∈ u := by
+ simp_rw [sSup_eq_iSup, mem_supr]
+#align topological_space.opens.mem_Sup TopologicalSpace.Opens.mem_sSup
instance : Frame (Opens α) :=
{ Opens.completeLattice with
- supₛ := supₛ
- inf_sup_le_supᵢ_inf := fun a s =>
- (ext <| by simp only [coe_inf, coe_supr, coe_Sup, Set.inter_unionᵢ₂]).le }
+ sSup := sSup
+ inf_sup_le_iSup_inf := fun a s =>
+ (ext <| by simp only [coe_inf, coe_supr, coe_Sup, Set.inter_iUnion₂]).le }
/- warning: topological_space.opens.open_embedding_of_le -> TopologicalSpace.Opens.openEmbedding_of_le is a dubious translation:
lean 3 declaration is
@@ -446,42 +446,42 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
/- warning: topological_space.opens.is_basis_iff_cover -> TopologicalSpace.Opens.isBasis_iff_cover is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall (U : TopologicalSpace.Opens.{u1} α _inst_1), Exists.{succ u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (fun (Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) => Exists.{0} (HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasSubset.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) (fun (H : HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasSubset.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) => Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (SupSet.supₛ.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) Us))))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall (U : TopologicalSpace.Opens.{u1} α _inst_1), Exists.{succ u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (fun (Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) => Exists.{0} (HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasSubset.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) (fun (H : HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.hasSubset.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) => Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))) Us))))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall (U : TopologicalSpace.Opens.{u1} α _inst_1), Exists.{succ u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (fun (Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) => And (HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instHasSubsetSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (SupSet.supₛ.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) Us))))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall (U : TopologicalSpace.Opens.{u1} α _inst_1), Exists.{succ u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (fun (Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) => And (HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instHasSubsetSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (SupSet.sSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) Us))))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.is_basis_iff_cover TopologicalSpace.Opens.isBasis_iff_coverₓ'. -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
theorem isBasis_iff_cover {B : Set (Opens α)} :
- IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _)(_ : Us ⊆ B), U = supₛ Us :=
+ IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _)(_ : Us ⊆ B), U = sSup Us :=
by
constructor
· intro hB U
refine' ⟨{ V : opens α | V ∈ B ∧ V ≤ U }, fun U hU => hU.left, _⟩
apply ext
rw [coe_Sup, hB.open_eq_sUnion' U.is_open]
- simp_rw [sUnion_eq_bUnion, Union, supᵢ_and, supᵢ_image]
+ simp_rw [sUnion_eq_bUnion, Union, iSup_and, iSup_image]
rfl
· intro h
rw [is_basis_iff_nbhd]
intro U x hx
rcases h U with ⟨Us, hUs, rfl⟩
rcases mem_Sup.1 hx with ⟨U, Us, xU⟩
- exact ⟨U, hUs Us, xU, le_supₛ Us⟩
+ exact ⟨U, hUs Us, xU, le_sSup Us⟩
#align topological_space.opens.is_basis_iff_cover TopologicalSpace.Opens.isBasis_iff_cover
-#print TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_unionᵢ /-
+#print TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_iUnion /-
/-- If `α` has a basis consisting of compact opens, then an open set in `α` is compact open iff
it is a finite union of some elements in the basis -/
-theorem IsBasis.isCompact_open_iff_eq_finite_unionᵢ {ι : Type _} (b : ι → Opens α)
+theorem IsBasis.isCompact_open_iff_eq_finite_iUnion {ι : Type _} (b : ι → Opens α)
(hb : IsBasis (Set.range b)) (hb' : ∀ i, IsCompact (b i : Set α)) (U : Set α) :
IsCompact U ∧ IsOpen U ↔ ∃ s : Set ι, s.Finite ∧ U = ⋃ i ∈ s, b i :=
by
- apply isCompact_open_iff_eq_finite_unionᵢ_of_isTopologicalBasis fun i : ι => (b i).1
+ apply isCompact_open_iff_eq_finite_iUnion_of_isTopologicalBasis fun i : ι => (b i).1
· convert hb
ext
simp
· exact hb'
-#align topological_space.opens.is_basis.is_compact_open_iff_eq_finite_Union TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_unionᵢ
+#align topological_space.opens.is_basis.is_compact_open_iff_eq_finite_Union TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_iUnion
-/
/- warning: topological_space.opens.is_compact_element_iff -> TopologicalSpace.Opens.isCompactElement_iff is a dubious translation:
@@ -499,12 +499,12 @@ theorem isCompactElement_iff (s : Opens α) :
· introv H hU hU'
obtain ⟨t, ht⟩ := H ι (fun i => ⟨U i, hU i⟩) (by simpa)
refine' ⟨t, Set.Subset.trans ht _⟩
- rw [coe_finset_sup, Finset.sup_eq_supᵢ]
+ rw [coe_finset_sup, Finset.sup_eq_iSup]
rfl
· obtain ⟨t, ht⟩ :=
- H (fun i => U i) (fun i => (U i).IsOpen) (by simpa using show (s : Set α) ⊆ ↑(supᵢ U) from hU)
+ H (fun i => U i) (fun i => (U i).IsOpen) (by simpa using show (s : Set α) ⊆ ↑(iSup U) from hU)
refine' ⟨t, Set.Subset.trans ht _⟩
- simp only [Set.unionᵢ_subset_iff]
+ simp only [Set.iUnion_subset_iff]
show ∀ i ∈ t, U i ≤ t.sup U
exact fun i => Finset.le_sup
#align topological_space.opens.is_compact_element_iff TopologicalSpace.Opens.isCompactElement_iff
@@ -539,7 +539,7 @@ theorem comap_id : comap (ContinuousMap.id α) = FrameHom.id _ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) {s : TopologicalSpace.Opens.{u2} β _inst_2} {t : TopologicalSpace.Opens.{u2} β _inst_2}, (LE.le.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} β _inst_2) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) s t) -> (LE.le.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) s) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) t))
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) {s : TopologicalSpace.Opens.{u1} β _inst_2} {t : TopologicalSpace.Opens.{u1} β _inst_2}, (LE.le.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2))))) s t) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (CompleteSemilatticeInf.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (CompleteLattice.toCompleteSemilatticeInf.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (SupₛHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.toSupₛHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (SupₛHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.toSupₛHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) t))
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) {s : TopologicalSpace.Opens.{u1} β _inst_2} {t : TopologicalSpace.Opens.{u1} β _inst_2}, (LE.le.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2))))) s t) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (CompleteSemilatticeInf.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (CompleteLattice.toCompleteSemilatticeInf.{u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) s) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (sSupHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (sSupHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) t))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap_mono TopologicalSpace.Opens.comap_monoₓ'. -/
theorem comap_mono (f : C(α, β)) {s t : Opens β} (h : s ≤ t) : comap f s ≤ comap f t :=
OrderHomClass.mono (comap f) h
@@ -549,7 +549,7 @@ theorem comap_mono (f : C(α, β)) {s t : Opens β} (h : s ≤ t) : comap f s
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u2} β _inst_2), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) U)) (Set.preimage.{u1, u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} β _inst_2) (Set.{u2} β) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} β _inst_2) (Set.{u2} β) (CoeTCₓ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} β _inst_2) (Set.{u2} β) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} β _inst_2) β (TopologicalSpace.Opens.setLike.{u2} β _inst_2)))) U))
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u1} β _inst_2), Eq.{succ u2} (Set.{u2} α) (SetLike.coe.{u2, u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) U) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (SupₛHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.toSupₛHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) U)) (Set.preimage.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) f) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} β _inst_2) β (TopologicalSpace.Opens.instSetLikeOpens.{u1} β _inst_2) U))
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u1} β _inst_2), Eq.{succ u2} (Set.{u2} α) (SetLike.coe.{u2, u2} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) U) α (TopologicalSpace.Opens.instSetLikeOpens.{u2} α _inst_1) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u1} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u1} β _inst_2) => TopologicalSpace.Opens.{u2} α _inst_1) _x) (sSupHomClass.toFunLike.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2)) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u2 u1, u1, u2} (FrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)) (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u1, u2} (TopologicalSpace.Opens.{u1} β _inst_2) (TopologicalSpace.Opens.{u2} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} α _inst_1)))) (TopologicalSpace.Opens.comap.{u2, u1} α β _inst_1 _inst_2 f) U)) (Set.preimage.{u2, u1} α β (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) f) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} β _inst_2) β (TopologicalSpace.Opens.instSetLikeOpens.{u1} β _inst_2) U))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_comap TopologicalSpace.Opens.coe_comapₓ'. -/
@[simp]
theorem coe_comap (f : C(α, β)) (U : Opens β) : ↑(comap f U) = f ⁻¹' U :=
@@ -571,7 +571,7 @@ protected theorem comap_comp (g : C(β, γ)) (f : C(α, β)) :
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] (g : ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u3} γ _inst_3), Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u2} β _inst_2) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u2, u1} (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u2} α β _inst_1 _inst_2 f) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (FrameHom.{u3, u2} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2)) (fun (_x : FrameHom.{u3, u2} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2)) => (TopologicalSpace.Opens.{u3} γ _inst_3) -> (TopologicalSpace.Opens.{u2} β _inst_2)) (FrameHom.hasCoeToFun.{u3, u2} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u2} β _inst_2) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u2} β _inst_2)) (TopologicalSpace.Opens.comap.{u2, u3} β γ _inst_2 _inst_3 g) U)) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (fun (_x : FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) => (TopologicalSpace.Opens.{u3} γ _inst_3) -> (TopologicalSpace.Opens.{u1} α _inst_1)) (FrameHom.hasCoeToFun.{u3, u1} (TopologicalSpace.Opens.{u3} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u3} γ _inst_3) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1)) (TopologicalSpace.Opens.comap.{u1, u3} α γ _inst_1 _inst_3 (ContinuousMap.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)) U)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u2} γ] (g : ContinuousMap.{u3, u2} β γ _inst_2 _inst_3) (f : ContinuousMap.{u1, u3} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u2} γ _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u3} β _inst_2) => TopologicalSpace.Opens.{u1} α _inst_1) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (fun (a : TopologicalSpace.Opens.{u2} γ _inst_3) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u2} γ _inst_3) => TopologicalSpace.Opens.{u3} β _inst_2) a) (SupₛHomClass.toFunLike.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3)) (CompleteLattice.toSupSet.{u3} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (FrameHomClass.toSupₛHomClass.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (FrameHom.instFrameHomClassFrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)))) (TopologicalSpace.Opens.comap.{u3, u2} β γ _inst_2 _inst_3 g) U)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u3} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u3} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u3} β _inst_2) => TopologicalSpace.Opens.{u1} α _inst_1) _x) (SupₛHomClass.toFunLike.{max u1 u3, u3, u1} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (FrameHomClass.toSupₛHomClass.{max u1 u3, u3, u1} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (TopologicalSpace.Opens.comap.{u1, u3} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (fun (_x : TopologicalSpace.Opens.{u2} γ _inst_3) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u2} γ _inst_3) => TopologicalSpace.Opens.{u3} β _inst_2) _x) (SupₛHomClass.toFunLike.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3)) (CompleteLattice.toSupSet.{u3} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (FrameHomClass.toSupₛHomClass.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (FrameHom.instFrameHomClassFrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)))) (TopologicalSpace.Opens.comap.{u3, u2} β γ _inst_2 _inst_3 g) U)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u2} γ _inst_3) (fun (_x : TopologicalSpace.Opens.{u2} γ _inst_3) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u2} γ _inst_3) => TopologicalSpace.Opens.{u1} α _inst_1) _x) (SupₛHomClass.toFunLike.{max u1 u2, u2, u1} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3)) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (FrameHomClass.toSupₛHomClass.{max u1 u2, u2, u1} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (TopologicalSpace.Opens.comap.{u1, u2} α γ _inst_1 _inst_3 (ContinuousMap.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) U)
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u2} γ] (g : ContinuousMap.{u3, u2} β γ _inst_2 _inst_3) (f : ContinuousMap.{u1, u3} α β _inst_1 _inst_2) (U : TopologicalSpace.Opens.{u2} γ _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u3} β _inst_2) => TopologicalSpace.Opens.{u1} α _inst_1) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (fun (a : TopologicalSpace.Opens.{u2} γ _inst_3) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u2} γ _inst_3) => TopologicalSpace.Opens.{u3} β _inst_2) a) (sSupHomClass.toFunLike.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3)) (CompleteLattice.toSupSet.{u3} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (FrameHomClass.tosSupHomClass.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (FrameHom.instFrameHomClassFrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)))) (TopologicalSpace.Opens.comap.{u3, u2} β γ _inst_2 _inst_3 g) U)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u3} β _inst_2) (fun (_x : TopologicalSpace.Opens.{u3} β _inst_2) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u3} β _inst_2) => TopologicalSpace.Opens.{u1} α _inst_1) _x) (sSupHomClass.toFunLike.{max u1 u3, u3, u1} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toSupSet.{u3} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u1 u3, u3, u1} (FrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u3, u1} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (TopologicalSpace.Opens.comap.{u1, u3} α β _inst_1 _inst_2 f) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (fun (_x : TopologicalSpace.Opens.{u2} γ _inst_3) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u2} γ _inst_3) => TopologicalSpace.Opens.{u3} β _inst_2) _x) (sSupHomClass.toFunLike.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3)) (CompleteLattice.toSupSet.{u3} (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (FrameHomClass.tosSupHomClass.{max u3 u2, u2, u3} (FrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2) (FrameHom.instFrameHomClassFrameHom.{u2, u3} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u3} β _inst_2) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u3} β _inst_2)))) (TopologicalSpace.Opens.comap.{u3, u2} β γ _inst_2 _inst_3 g) U)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u2} γ _inst_3) (fun (_x : TopologicalSpace.Opens.{u2} γ _inst_3) => (fun (x._@.Mathlib.Order.Hom.CompleteLattice._hyg.309 : TopologicalSpace.Opens.{u2} γ _inst_3) => TopologicalSpace.Opens.{u1} α _inst_1) _x) (sSupHomClass.toFunLike.{max u1 u2, u2, u1} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3)) (CompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (FrameHomClass.tosSupHomClass.{max u1 u2, u2, u1} (FrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)) (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1) (FrameHom.instFrameHomClassFrameHom.{u2, u1} (TopologicalSpace.Opens.{u2} γ _inst_3) (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} γ _inst_3) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (TopologicalSpace.Opens.comap.{u1, u2} α γ _inst_1 _inst_3 (ContinuousMap.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)) U)
Case conversion may be inaccurate. Consider using '#align topological_space.opens.comap_comap TopologicalSpace.Opens.comap_comapₓ'. -/
protected theorem comap_comap (g : C(β, γ)) (f : C(α, β)) (U : Opens γ) :
comap f (comap g U) = comap (g.comp f) U :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -450,7 +450,7 @@ lean 3 declaration is
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {B : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)}, Iff (TopologicalSpace.Opens.IsBasis.{u1} α _inst_1 B) (forall (U : TopologicalSpace.Opens.{u1} α _inst_1), Exists.{succ u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (fun (Us : Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) => And (HasSubset.Subset.{u1} (Set.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) (Set.instHasSubsetSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1)) Us B) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) U (SupSet.supₛ.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))) Us))))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.is_basis_iff_cover TopologicalSpace.Opens.isBasis_iff_coverₓ'. -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (Us «expr ⊆ » B) -/
theorem isBasis_iff_cover {B : Set (Opens α)} :
IsBasis B ↔ ∀ U : Opens α, ∃ (Us : _)(_ : Us ⊆ B), U = supₛ Us :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -206,9 +206,9 @@ instance : CompleteLattice (Opens α) :=
/- warning: topological_space.opens.mk_inf_mk -> TopologicalSpace.Opens.mk_inf_mk is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : Set.{u1} α} {V : Set.{u1} α} {hU : IsOpen.{u1} α _inst_1 U} {hV : IsOpen.{u1} α _inst_1 V}, Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (HasInf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 U hU) (TopologicalSpace.Opens.mk.{u1} α _inst_1 V hV)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (HasInf.inf.{u1} (Set.{u1} α) (SemilatticeInf.toHasInf.{u1} (Set.{u1} α) (Lattice.toSemilatticeInf.{u1} (Set.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Set.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))))) U V) (IsOpen.inter.{u1} α U V _inst_1 hU hV))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : Set.{u1} α} {V : Set.{u1} α} {hU : IsOpen.{u1} α _inst_1 U} {hV : IsOpen.{u1} α _inst_1 V}, Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 U hU) (TopologicalSpace.Opens.mk.{u1} α _inst_1 V hV)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Inf.inf.{u1} (Set.{u1} α) (SemilatticeInf.toHasInf.{u1} (Set.{u1} α) (Lattice.toSemilatticeInf.{u1} (Set.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Set.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.completeBooleanAlgebra.{u1} α)))))))) U V) (IsOpen.inter.{u1} α U V _inst_1 hU hV))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : Set.{u1} α} {V : Set.{u1} α} {hU : IsOpen.{u1} α _inst_1 U} {hV : IsOpen.{u1} α _inst_1 V}, Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (HasInf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toHasInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 U hU) (TopologicalSpace.Opens.mk.{u1} α _inst_1 V hV)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (HasInf.inf.{u1} (Set.{u1} α) (Lattice.toHasInf.{u1} (Set.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Set.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) U V) (IsOpen.inter.{u1} α U V _inst_1 hU hV))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] {U : Set.{u1} α} {V : Set.{u1} α} {hU : IsOpen.{u1} α _inst_1 U} {hV : IsOpen.{u1} α _inst_1 V}, Eq.{succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) (TopologicalSpace.Opens.mk.{u1} α _inst_1 U hU) (TopologicalSpace.Opens.mk.{u1} α _inst_1 V hV)) (TopologicalSpace.Opens.mk.{u1} α _inst_1 (Inf.inf.{u1} (Set.{u1} α) (Lattice.toInf.{u1} (Set.{u1} α) (ConditionallyCompleteLattice.toLattice.{u1} (Set.{u1} α) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Set.{u1} α) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} α) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} α) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} α) (Set.instCompleteBooleanAlgebraSet.{u1} α))))))) U V) (IsOpen.inter.{u1} α U V _inst_1 hU hV))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.mk_inf_mk TopologicalSpace.Opens.mk_inf_mkₓ'. -/
@[simp]
theorem mk_inf_mk {U V : Set α} {hU : IsOpen U} {hV : IsOpen V} :
@@ -218,9 +218,9 @@ theorem mk_inf_mk {U V : Set α} {hU : IsOpen U} {hV : IsOpen V} :
/- warning: topological_space.opens.coe_inf -> TopologicalSpace.Opens.coe_inf is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (HasInf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))) s t)) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) s) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) t))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))) s t)) (Inter.inter.{u1} (Set.{u1} α) (Set.hasInter.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) s) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) t))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (HasInf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toHasInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) s t)) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) s) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) t))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toInf.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1)))) s t)) (Inter.inter.{u1} (Set.{u1} α) (Set.instInterSet.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) s) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) t))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_inf TopologicalSpace.Opens.coe_infₓ'. -/
@[simp, norm_cast]
theorem coe_inf (s t : Opens α) : (↑(s ⊓ t) : Set α) = s ∩ t :=
@@ -229,9 +229,9 @@ theorem coe_inf (s t : Opens α) : (↑(s ⊓ t) : Set α) = s ∩ t :=
/- warning: topological_space.opens.coe_sup -> TopologicalSpace.Opens.coe_sup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (HasSup.sup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))) s t)) (Union.union.{u1} (Set.{u1} α) (Set.hasUnion.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) s) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) t))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) (Sup.sup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.completeLattice.{u1} α _inst_1))))) s t)) (Union.union.{u1} (Set.{u1} α) (Set.hasUnion.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) s) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.setLike.{u1} α _inst_1)))) t))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (HasSup.sup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))) s t)) (Union.union.{u1} (Set.{u1} α) (Set.instUnionSet.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) s) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) t))
+ forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] (s : TopologicalSpace.Opens.{u1} α _inst_1) (t : TopologicalSpace.Opens.{u1} α _inst_1), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) (Sup.sup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (SemilatticeSup.toSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} α _inst_1) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} α _inst_1))))) s t)) (Union.union.{u1} (Set.{u1} α) (Set.instUnionSet.{u1} α) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) s) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} α _inst_1) α (TopologicalSpace.Opens.instSetLikeOpens.{u1} α _inst_1) t))
Case conversion may be inaccurate. Consider using '#align topological_space.opens.coe_sup TopologicalSpace.Opens.coe_supₓ'. -/
@[simp, norm_cast]
theorem coe_sup (s t : Opens α) : (↑(s ⊔ t) : Set α) = s ∪ t :=
@@ -680,10 +680,10 @@ instance : OrderTop (OpenNhdsOf x)
instance : Inhabited (OpenNhdsOf x) :=
⟨⊤⟩
-instance : HasInf (OpenNhdsOf x) :=
+instance : Inf (OpenNhdsOf x) :=
⟨fun U V => ⟨U.1 ⊓ V.1, U.2, V.2⟩⟩
-instance : HasSup (OpenNhdsOf x) :=
+instance : Sup (OpenNhdsOf x) :=
⟨fun U V => ⟨U.1 ⊔ V.1, Or.inl U.2⟩⟩
instance : DistribLattice (OpenNhdsOf x) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
A mix of various changes; generated with a script and manually tweaked.
@@ -24,7 +24,7 @@ We define the subtype of open sets in a topological space.
### Bundled open sets
- `TopologicalSpace.Opens α` is the type of open subsets of a topological space `α`.
-- `TopologicalSpace.Opens.IsBasis` is a predicate saying that a set of `opens`s form a topological
+- `TopologicalSpace.Opens.IsBasis` is a predicate saying that a set of `Opens`s form a topological
basis.
- `TopologicalSpace.Opens.comap`: preimage of an open set under a continuous map as a `FrameHom`.
- `Homeomorph.opensCongr`: order-preserving equivalence between open sets in the domain and the
@@ -39,7 +39,7 @@ We define the subtype of open sets in a topological space.
## Main results
-We define order structures on both `opens α` (`complete_structure`, `frame`) and `open_nhds_of x`
+We define order structures on both `Opens α` (`CompleteLattice`, `Frame`) and `OpenNhdsOf x`
(`OrderTop`, `DistribLattice`).
## TODO
@@ -276,7 +276,7 @@ theorem not_nonempty_iff_eq_bot (U : Opens α) : ¬Set.Nonempty (U : Set α) ↔
#align topological_space.opens.not_nonempty_iff_eq_bot TopologicalSpace.Opens.not_nonempty_iff_eq_bot
theorem ne_bot_iff_nonempty (U : Opens α) : U ≠ ⊥ ↔ Set.Nonempty (U : Set α) := by
- rw [Ne.def, ← not_nonempty_iff_eq_bot, not_not]
+ rw [Ne, ← not_nonempty_iff_eq_bot, not_not]
#align topological_space.opens.ne_bot_iff_nonempty TopologicalSpace.Opens.ne_bot_iff_nonempty
/-- An open set in the indiscrete topology is either empty or the whole space. -/
All these lemmas refer to the range of some function being open/range (i.e. isOpen
or isClosed
).
@@ -266,7 +266,7 @@ theorem openEmbedding' (U : Opens α) : OpenEmbedding (Subtype.val : U → α) :
theorem openEmbedding_of_le {U V : Opens α} (i : U ≤ V) :
OpenEmbedding (Set.inclusion <| SetLike.coe_subset_coe.2 i) :=
{ toEmbedding := embedding_inclusion i
- open_range := by
+ isOpen_range := by
rw [Set.range_inclusion i]
exact U.isOpen.preimage continuous_subtype_val }
#align topological_space.opens.open_embedding_of_le TopologicalSpace.Opens.openEmbedding_of_le
@@ -100,7 +100,7 @@ protected theorem nonempty_coeSort {U : Opens α} : Nonempty U ↔ (U : Set α).
Set.nonempty_coe_sort
#align topological_space.opens.nonempty_coe_sort TopologicalSpace.Opens.nonempty_coeSort
--- Porting note: new lemma; todo: prove it for a `SetLike`?
+-- Porting note (#10756): new lemma; todo: prove it for a `SetLike`?
protected theorem nonempty_coe {U : Opens α} : (U : Set α).Nonempty ↔ ∃ x, x ∈ U :=
Iff.rfl
@@ -186,7 +186,7 @@ theorem coe_bot : ((⊥ : Opens α) : Set α) = ∅ :=
@[simp] theorem mk_empty : (⟨∅, isOpen_empty⟩ : Opens α) = ⊥ := rfl
--- Porting note: new lemma
+-- Porting note (#10756): new lemma
@[simp, norm_cast]
theorem coe_eq_empty {U : Opens α} : (U : Set α) = ∅ ↔ U = ⊥ :=
SetLike.coe_injective.eq_iff' rfl
@@ -198,7 +198,7 @@ theorem coe_top : ((⊤ : Opens α) : Set α) = Set.univ :=
@[simp] theorem mk_univ : (⟨univ, isOpen_univ⟩ : Opens α) = ⊤ := rfl
--- Porting note: new lemma
+-- Porting note (#10756): new lemma
@[simp, norm_cast]
theorem coe_eq_univ {U : Opens α} : (U : Set α) = univ ↔ U = ⊤ :=
SetLike.coe_injective.eq_iff' rfl
@@ -104,7 +104,7 @@ protected theorem nonempty_coeSort {U : Opens α} : Nonempty U ↔ (U : Set α).
protected theorem nonempty_coe {U : Opens α} : (U : Set α).Nonempty ↔ ∃ x, x ∈ U :=
Iff.rfl
-@[ext] -- Porting note: todo: replace with `∀ x, x ∈ U ↔ x ∈ V`
+@[ext] -- Porting note (#11215): TODO: replace with `∀ x, x ∈ U ↔ x ∈ V`
theorem ext {U V : Opens α} (h : (U : Set α) = V) : U = V :=
SetLike.coe_injective h
#align topological_space.opens.ext TopologicalSpace.Opens.ext
@@ -482,7 +482,7 @@ end OpenNhdsOf
end TopologicalSpace
--- Porting note: TODO: once we port `auto_cases`, port this
+-- Porting note (#11215): TODO: once we port `auto_cases`, port this
-- namespace Tactic
-- namespace AutoCases
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -95,21 +95,21 @@ theorem coe_mk {U : Set α} {hU : IsOpen U} : ↑(⟨U, hU⟩ : Opens α) = U :=
theorem mem_mk {x : α} {U : Set α} {h : IsOpen U} : x ∈ mk U h ↔ x ∈ U := Iff.rfl
#align topological_space.opens.mem_mk TopologicalSpace.Opens.mem_mk
--- porting note: removed @[simp] because LHS simplifies to `∃ x, x ∈ U`
+-- Porting note: removed @[simp] because LHS simplifies to `∃ x, x ∈ U`
protected theorem nonempty_coeSort {U : Opens α} : Nonempty U ↔ (U : Set α).Nonempty :=
Set.nonempty_coe_sort
#align topological_space.opens.nonempty_coe_sort TopologicalSpace.Opens.nonempty_coeSort
--- porting note: new lemma; todo: prove it for a `SetLike`?
+-- Porting note: new lemma; todo: prove it for a `SetLike`?
protected theorem nonempty_coe {U : Opens α} : (U : Set α).Nonempty ↔ ∃ x, x ∈ U :=
Iff.rfl
-@[ext] -- porting note: todo: replace with `∀ x, x ∈ U ↔ x ∈ V`
+@[ext] -- Porting note: todo: replace with `∀ x, x ∈ U ↔ x ∈ V`
theorem ext {U V : Opens α} (h : (U : Set α) = V) : U = V :=
SetLike.coe_injective h
#align topological_space.opens.ext TopologicalSpace.Opens.ext
--- porting note: removed @[simp], simp can prove it
+-- Porting note: removed @[simp], simp can prove it
theorem coe_inj {U V : Opens α} : (U : Set α) = V ↔ U = V :=
SetLike.ext'_iff.symm
#align topological_space.opens.coe_inj TopologicalSpace.Opens.coe_inj
@@ -186,7 +186,7 @@ theorem coe_bot : ((⊥ : Opens α) : Set α) = ∅ :=
@[simp] theorem mk_empty : (⟨∅, isOpen_empty⟩ : Opens α) = ⊥ := rfl
--- porting note: new lemma
+-- Porting note: new lemma
@[simp, norm_cast]
theorem coe_eq_empty {U : Opens α} : (U : Set α) = ∅ ↔ U = ⊥ :=
SetLike.coe_injective.eq_iff' rfl
@@ -198,7 +198,7 @@ theorem coe_top : ((⊤ : Opens α) : Set α) = Set.univ :=
@[simp] theorem mk_univ : (⟨univ, isOpen_univ⟩ : Opens α) = ⊤ := rfl
--- porting note: new lemma
+-- Porting note: new lemma
@[simp, norm_cast]
theorem coe_eq_univ {U : Opens α} : (U : Set α) = univ ↔ U = ⊤ :=
SetLike.coe_injective.eq_iff' rfl
@@ -482,7 +482,7 @@ end OpenNhdsOf
end TopologicalSpace
--- porting note: TODO: once we port `auto_cases`, port this
+-- Porting note: TODO: once we port `auto_cases`, port this
-- namespace Tactic
-- namespace AutoCases
@@ -220,11 +220,11 @@ theorem coe_finset_inf (f : ι → Opens α) (s : Finset ι) : (↑(s.inf f) : S
instance : Inhabited (Opens α) := ⟨⊥⟩
--- porting note: new instance
+-- porting note (#10754): new instance
instance [IsEmpty α] : Unique (Opens α) where
uniq _ := ext <| Subsingleton.elim _ _
--- porting note: new instance
+-- porting note (#10754): new instance
instance [Nonempty α] : Nontrivial (Opens α) where
exists_pair_ne := ⟨⊥, ⊤, mt coe_inj.2 empty_ne_univ⟩
@@ -286,7 +286,7 @@ theorem eq_bot_or_top {α} [t : TopologicalSpace α] (h : t = ⊤) (U : Opens α
exact U.2
#align topological_space.opens.eq_bot_or_top TopologicalSpace.Opens.eq_bot_or_top
--- porting note: new instance
+-- porting note (#10754): new instance
instance [Nonempty α] [Subsingleton α] : IsSimpleOrder (Opens α) where
eq_bot_or_eq_top := eq_bot_or_top <| Subsingleton.elim _ _
@@ -459,7 +459,7 @@ instance : Inhabited (OpenNhdsOf x) := ⟨⊤⟩
instance : Inf (OpenNhdsOf x) := ⟨fun U V => ⟨U.1 ⊓ V.1, U.2, V.2⟩⟩
instance : Sup (OpenNhdsOf x) := ⟨fun U V => ⟨U.1 ⊔ V.1, Or.inl U.2⟩⟩
--- porting note: new instance
+-- porting note (#10754): new instance
instance [Subsingleton α] : Unique (OpenNhdsOf x) where
uniq U := SetLike.ext' <| Subsingleton.eq_univ_of_nonempty ⟨x, U.mem⟩
This reworks the location of the lemmas from #10086, by moving them to a new Mathlib.Order.CompactlyGenerated.Intervals
file.
The existing Mathlib.Order.CompactlyGenerated
is moved to Mathlib.Order.CompactlyGenerated.Basic
for consistency.
@@ -7,7 +7,7 @@ import Mathlib.Order.Hom.CompleteLattice
import Mathlib.Topology.Bases
import Mathlib.Topology.Homeomorph
import Mathlib.Topology.ContinuousFunction.Basic
-import Mathlib.Order.CompactlyGenerated
+import Mathlib.Order.CompactlyGenerated.Basic
import Mathlib.Order.Copy
#align_import topology.sets.opens from "leanprover-community/mathlib"@"dc6c365e751e34d100e80fe6e314c3c3e0fd2988"
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -396,7 +396,7 @@ theorem comap_injective [T0Space β] : Injective (comap : C(α, β) → FrameHom
ContinuousMap.ext fun a =>
Inseparable.eq <|
inseparable_iff_forall_open.2 fun s hs =>
- have : comap f ⟨s, hs⟩ = comap g ⟨s, hs⟩ := FunLike.congr_fun h ⟨_, hs⟩
+ have : comap f ⟨s, hs⟩ = comap g ⟨s, hs⟩ := DFunLike.congr_fun h ⟨_, hs⟩
show a ∈ f ⁻¹' s ↔ a ∈ g ⁻¹' s from Set.ext_iff.1 (coe_inj.2 this) a
#align topological_space.opens.comap_injective TopologicalSpace.Opens.comap_injective
$
with <|
(#9319)
See Zulip thread for the discussion.
@@ -264,7 +264,7 @@ theorem openEmbedding' (U : Opens α) : OpenEmbedding (Subtype.val : U → α) :
U.isOpen.openEmbedding_subtype_val
theorem openEmbedding_of_le {U V : Opens α} (i : U ≤ V) :
- OpenEmbedding (Set.inclusion $ SetLike.coe_subset_coe.2 i) :=
+ OpenEmbedding (Set.inclusion <| SetLike.coe_subset_coe.2 i) :=
{ toEmbedding := embedding_inclusion i
open_range := by
rw [Set.range_inclusion i]
A stronger version of #8800, the differences are:
assume either IsSigmaCompact U
or SigmaCompactSpace M
;
only need test functions satisfying tsupport g ⊆ U
rather than support g ⊆ U
;
requires LocallyIntegrableOn
U rather than LocallyIntegrable
on the whole space.
Also fills in some missing APIs around the manifold and measure theory libraries.
Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>
@@ -260,6 +260,9 @@ instance : Frame (Opens α) :=
inf_sSup_le_iSup_inf := fun a s =>
(ext <| by simp only [coe_inf, coe_iSup, coe_sSup, Set.inter_iUnion₂]).le }
+theorem openEmbedding' (U : Opens α) : OpenEmbedding (Subtype.val : U → α) :=
+ U.isOpen.openEmbedding_subtype_val
+
theorem openEmbedding_of_le {U V : Opens α} (i : U ≤ V) :
OpenEmbedding (Set.inclusion $ SetLike.coe_subset_coe.2 i) :=
{ toEmbedding := embedding_inclusion i
Mostly, this means replacing "of_open" by "of_isOpen". A few lemmas names were misleading and are corrected differently. Zulip discussion.
@@ -302,7 +302,7 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
dsimp at H₂
subst H₂
exact hsV
- · refine' isTopologicalBasis_of_open_of_nhds _ _
+ · refine' isTopologicalBasis_of_isOpen_of_nhds _ _
· rintro sU ⟨U, -, rfl⟩
exact U.2
· intro x sU hx hsU
Use .asFn
and .lemmasOnly
as simps
configuration options.
For reference, these are defined here:
@@ -398,7 +398,7 @@ theorem comap_injective [T0Space β] : Injective (comap : C(α, β) → FrameHom
#align topological_space.opens.comap_injective TopologicalSpace.Opens.comap_injective
/-- A homeomorphism induces an order-preserving equivalence on open sets, by taking comaps. -/
-@[simps (config := { fullyApplied := false }) apply]
+@[simps (config := .asFn) apply]
def _root_.Homeomorph.opensCongr (f : α ≃ₜ β) : Opens α ≃o Opens β where
toFun := Opens.comap f.symm.toContinuousMap
invFun := Opens.comap f.toContinuousMap
We define the contravariant functors between the categories of Frames and Topological Spaces and prove that they form an adjunction. Work started at the BIRS workshop "Formalization of Cohomology Theories", Banff, May 2023.
Co-authored-by: Anne Baanen <vierkantor@vierkantor.com> Co-authored-by: leopoldmayer <leomayer@uw.edu> Co-authored-by: Brendan Seamas Murphy <shamrockfrost@gmail.com>
Co-authored-by: leopoldmayer <leomayer@uw.edu> Co-authored-by: Brendan Murphy <shamrockfrost@gmail.com> Co-authored-by: Vierkantor <vierkantor@vierkantor.com> Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@@ -184,6 +184,8 @@ theorem coe_bot : ((⊥ : Opens α) : Set α) = ∅ :=
rfl
#align topological_space.opens.coe_bot TopologicalSpace.Opens.coe_bot
+@[simp] theorem mk_empty : (⟨∅, isOpen_empty⟩ : Opens α) = ⊥ := rfl
+
-- porting note: new lemma
@[simp, norm_cast]
theorem coe_eq_empty {U : Opens α} : (U : Set α) = ∅ ↔ U = ⊥ :=
@@ -194,6 +196,8 @@ theorem coe_top : ((⊤ : Opens α) : Set α) = Set.univ :=
rfl
#align topological_space.opens.coe_top TopologicalSpace.Opens.coe_top
+@[simp] theorem mk_univ : (⟨univ, isOpen_univ⟩ : Opens α) = ⊤ := rfl
+
-- porting note: new lemma
@[simp, norm_cast]
theorem coe_eq_univ {U : Opens α} : (U : Set α) = univ ↔ U = ⊤ :=
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -53,7 +53,7 @@ open Filter Function Order Set
open Topology
-variable {ι α β γ : Type _} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
+variable {ι α β γ : Type*} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
namespace TopologicalSpace
@@ -324,7 +324,7 @@ theorem isBasis_iff_cover {B : Set (Opens α)} :
/-- If `α` has a basis consisting of compact opens, then an open set in `α` is compact open iff
it is a finite union of some elements in the basis -/
-theorem IsBasis.isCompact_open_iff_eq_finite_iUnion {ι : Type _} (b : ι → Opens α)
+theorem IsBasis.isCompact_open_iff_eq_finite_iUnion {ι : Type*} (b : ι → Opens α)
(hb : IsBasis (Set.range b)) (hb' : ∀ i, IsCompact (b i : Set α)) (U : Set α) :
IsCompact U ∧ IsOpen U ↔ ∃ s : Set ι, s.Finite ∧ U = ⋃ i ∈ s, b i := by
apply isCompact_open_iff_eq_finite_iUnion_of_isTopologicalBasis fun i : ι => (b i).1
@@ -2,11 +2,6 @@
Copyright (c) 2017 Johannes Hölzl. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn
-
-! This file was ported from Lean 3 source module topology.sets.opens
-! leanprover-community/mathlib commit dc6c365e751e34d100e80fe6e314c3c3e0fd2988
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Order.Hom.CompleteLattice
import Mathlib.Topology.Bases
@@ -15,6 +10,8 @@ import Mathlib.Topology.ContinuousFunction.Basic
import Mathlib.Order.CompactlyGenerated
import Mathlib.Order.Copy
+#align_import topology.sets.opens from "leanprover-community/mathlib"@"dc6c365e751e34d100e80fe6e314c3c3e0fd2988"
+
/-!
# Open sets
@@ -232,7 +232,7 @@ theorem coe_iSup {ι} (s : ι → Opens α) : ((⨆ i, s i : Opens α) : Set α)
simp [iSup]
#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_iSup
-theorem iSup_def {ι} (s : ι → Opens α) : (⨆ i, s i) = ⟨⋃ i, s i, isOpen_iUnion fun i => (s i).2⟩ :=
+theorem iSup_def {ι} (s : ι → Opens α) : ⨆ i, s i = ⟨⋃ i, s i, isOpen_iUnion fun i => (s i).2⟩ :=
ext <| coe_iSup s
#align topological_space.opens.supr_def TopologicalSpace.Opens.iSup_def
@@ -64,7 +64,7 @@ variable (α)
/-- The type of open subsets of a topological space. -/
structure Opens where
- /-- The underlying set of a bundled `TopoogicalSpace.Opens` object. -/
+ /-- The underlying set of a bundled `TopologicalSpace.Opens` object. -/
carrier : Set α
/-- The `TopologicalSpace.Opens.carrier _` is an open set. -/
is_open' : IsOpen carrier
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -160,10 +160,10 @@ instance : CompleteLattice (Opens α) :=
-- inf
(fun U V => ⟨↑U ∩ ↑V, U.2.inter V.2⟩)
(funext₂ fun U V => ext (U.2.inter V.2).interior_eq.symm)
- -- supₛ
- (fun S => ⟨⋃ s ∈ S, ↑s, isOpen_bunionᵢ fun s _ => s.2⟩)
- (funext fun _ => ext supₛ_image.symm)
- -- infₛ
+ -- sSup
+ (fun S => ⟨⋃ s ∈ S, ↑s, isOpen_biUnion fun s _ => s.2⟩)
+ (funext fun _ => ext sSup_image.symm)
+ -- sInf
_ rfl
@[simp]
@@ -203,9 +203,9 @@ theorem coe_eq_univ {U : Opens α} : (U : Set α) = univ ↔ U = ⊤ :=
SetLike.coe_injective.eq_iff' rfl
@[simp, norm_cast]
-theorem coe_supₛ {S : Set (Opens α)} : (↑(supₛ S) : Set α) = ⋃ i ∈ S, ↑i :=
+theorem coe_sSup {S : Set (Opens α)} : (↑(sSup S) : Set α) = ⋃ i ∈ S, ↑i :=
rfl
-#align topological_space.opens.coe_Sup TopologicalSpace.Opens.coe_supₛ
+#align topological_space.opens.coe_Sup TopologicalSpace.Opens.coe_sSup
@[simp, norm_cast]
theorem coe_finset_sup (f : ι → Opens α) (s : Finset ι) : (↑(s.sup f) : Set α) = s.sup ((↑) ∘ f) :=
@@ -228,36 +228,36 @@ instance [Nonempty α] : Nontrivial (Opens α) where
exists_pair_ne := ⟨⊥, ⊤, mt coe_inj.2 empty_ne_univ⟩
@[simp, norm_cast]
-theorem coe_supᵢ {ι} (s : ι → Opens α) : ((⨆ i, s i : Opens α) : Set α) = ⋃ i, s i := by
- simp [supᵢ]
-#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_supᵢ
+theorem coe_iSup {ι} (s : ι → Opens α) : ((⨆ i, s i : Opens α) : Set α) = ⋃ i, s i := by
+ simp [iSup]
+#align topological_space.opens.coe_supr TopologicalSpace.Opens.coe_iSup
-theorem supᵢ_def {ι} (s : ι → Opens α) : (⨆ i, s i) = ⟨⋃ i, s i, isOpen_unionᵢ fun i => (s i).2⟩ :=
- ext <| coe_supᵢ s
-#align topological_space.opens.supr_def TopologicalSpace.Opens.supᵢ_def
+theorem iSup_def {ι} (s : ι → Opens α) : (⨆ i, s i) = ⟨⋃ i, s i, isOpen_iUnion fun i => (s i).2⟩ :=
+ ext <| coe_iSup s
+#align topological_space.opens.supr_def TopologicalSpace.Opens.iSup_def
@[simp]
-theorem supᵢ_mk {ι} (s : ι → Set α) (h : ∀ i, IsOpen (s i)) :
- (⨆ i, ⟨s i, h i⟩ : Opens α) = ⟨⋃ i, s i, isOpen_unionᵢ h⟩ :=
- supᵢ_def _
-#align topological_space.opens.supr_mk TopologicalSpace.Opens.supᵢ_mk
+theorem iSup_mk {ι} (s : ι → Set α) (h : ∀ i, IsOpen (s i)) :
+ (⨆ i, ⟨s i, h i⟩ : Opens α) = ⟨⋃ i, s i, isOpen_iUnion h⟩ :=
+ iSup_def _
+#align topological_space.opens.supr_mk TopologicalSpace.Opens.iSup_mk
@[simp]
-theorem mem_supᵢ {ι} {x : α} {s : ι → Opens α} : x ∈ supᵢ s ↔ ∃ i, x ∈ s i := by
+theorem mem_iSup {ι} {x : α} {s : ι → Opens α} : x ∈ iSup s ↔ ∃ i, x ∈ s i := by
rw [← SetLike.mem_coe]
simp
-#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_supᵢ
+#align topological_space.opens.mem_supr TopologicalSpace.Opens.mem_iSup
@[simp]
-theorem mem_supₛ {Us : Set (Opens α)} {x : α} : x ∈ supₛ Us ↔ ∃ u ∈ Us, x ∈ u := by
- simp_rw [supₛ_eq_supᵢ, mem_supᵢ, exists_prop]
-#align topological_space.opens.mem_Sup TopologicalSpace.Opens.mem_supₛ
+theorem mem_sSup {Us : Set (Opens α)} {x : α} : x ∈ sSup Us ↔ ∃ u ∈ Us, x ∈ u := by
+ simp_rw [sSup_eq_iSup, mem_iSup, exists_prop]
+#align topological_space.opens.mem_Sup TopologicalSpace.Opens.mem_sSup
instance : Frame (Opens α) :=
{ inferInstanceAs (CompleteLattice (Opens α)) with
- supₛ := supₛ
- inf_supₛ_le_supᵢ_inf := fun a s =>
- (ext <| by simp only [coe_inf, coe_supᵢ, coe_supₛ, Set.inter_unionᵢ₂]).le }
+ sSup := sSup
+ inf_sSup_le_iSup_inf := fun a s =>
+ (ext <| by simp only [coe_inf, coe_iSup, coe_sSup, Set.inter_iUnion₂]).le }
theorem openEmbedding_of_le {U V : Opens α} (i : U ≤ V) :
OpenEmbedding (Set.inclusion $ SetLike.coe_subset_coe.2 i) :=
@@ -310,32 +310,32 @@ theorem isBasis_iff_nbhd {B : Set (Opens α)} :
#align topological_space.opens.is_basis_iff_nbhd TopologicalSpace.Opens.isBasis_iff_nbhd
theorem isBasis_iff_cover {B : Set (Opens α)} :
- IsBasis B ↔ ∀ U : Opens α, ∃ Us, Us ⊆ B ∧ U = supₛ Us := by
+ IsBasis B ↔ ∀ U : Opens α, ∃ Us, Us ⊆ B ∧ U = sSup Us := by
constructor
· intro hB U
refine ⟨{ V : Opens α | V ∈ B ∧ V ≤ U }, fun U hU => hU.left, ext ?_⟩
- rw [coe_supₛ, hB.open_eq_unionₛ' U.isOpen]
- simp_rw [unionₛ_eq_bunionᵢ, unionᵢ, mem_setOf_eq, supᵢ_and, supᵢ_image]
+ rw [coe_sSup, hB.open_eq_sUnion' U.isOpen]
+ simp_rw [sUnion_eq_biUnion, iUnion, mem_setOf_eq, iSup_and, iSup_image]
rfl
· intro h
rw [isBasis_iff_nbhd]
intro U x hx
rcases h U with ⟨Us, hUs, rfl⟩
- rcases mem_supₛ.1 hx with ⟨U, Us, xU⟩
- exact ⟨U, hUs Us, xU, le_supₛ Us⟩
+ rcases mem_sSup.1 hx with ⟨U, Us, xU⟩
+ exact ⟨U, hUs Us, xU, le_sSup Us⟩
#align topological_space.opens.is_basis_iff_cover TopologicalSpace.Opens.isBasis_iff_cover
/-- If `α` has a basis consisting of compact opens, then an open set in `α` is compact open iff
it is a finite union of some elements in the basis -/
-theorem IsBasis.isCompact_open_iff_eq_finite_unionᵢ {ι : Type _} (b : ι → Opens α)
+theorem IsBasis.isCompact_open_iff_eq_finite_iUnion {ι : Type _} (b : ι → Opens α)
(hb : IsBasis (Set.range b)) (hb' : ∀ i, IsCompact (b i : Set α)) (U : Set α) :
IsCompact U ∧ IsOpen U ↔ ∃ s : Set ι, s.Finite ∧ U = ⋃ i ∈ s, b i := by
- apply isCompact_open_iff_eq_finite_unionᵢ_of_isTopologicalBasis fun i : ι => (b i).1
+ apply isCompact_open_iff_eq_finite_iUnion_of_isTopologicalBasis fun i : ι => (b i).1
· convert (config := {transparency := .default}) hb
ext
simp
· exact hb'
-#align topological_space.opens.is_basis.is_compact_open_iff_eq_finite_Union TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_unionᵢ
+#align topological_space.opens.is_basis.is_compact_open_iff_eq_finite_Union TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_iUnion
@[simp]
theorem isCompactElement_iff (s : Opens α) :
@@ -345,12 +345,12 @@ theorem isCompactElement_iff (s : Opens α) :
· introv H hU hU'
obtain ⟨t, ht⟩ := H ι (fun i => ⟨U i, hU i⟩) (by simpa)
refine' ⟨t, Set.Subset.trans ht _⟩
- rw [coe_finset_sup, Finset.sup_eq_supᵢ]
+ rw [coe_finset_sup, Finset.sup_eq_iSup]
rfl
· obtain ⟨t, ht⟩ :=
- H (fun i => U i) (fun i => (U i).isOpen) (by simpa using show (s : Set α) ⊆ ↑(supᵢ U) from hU)
+ H (fun i => U i) (fun i => (U i).isOpen) (by simpa using show (s : Set α) ⊆ ↑(iSup U) from hU)
refine' ⟨t, Set.Subset.trans ht _⟩
- simp only [Set.unionᵢ_subset_iff]
+ simp only [Set.iUnion_subset_iff]
show ∀ i ∈ t, U i ≤ t.sup U
exact fun i => Finset.le_sup
#align topological_space.opens.is_compact_element_iff TopologicalSpace.Opens.isCompactElement_iff
@@ -358,7 +358,7 @@ theorem isCompactElement_iff (s : Opens α) :
/-- The preimage of an open set, as an open set. -/
def comap (f : C(α, β)) : FrameHom (Opens β) (Opens α) where
toFun s := ⟨f ⁻¹' s, s.2.preimage f.continuous⟩
- map_supₛ' s := ext <| by simp only [coe_supₛ, preimage_unionᵢ, bunionᵢ_image, coe_mk]
+ map_sSup' s := ext <| by simp only [coe_sSup, preimage_iUnion, biUnion_image, coe_mk]
map_inf' a b := rfl
map_top' := rfl
#align topological_space.opens.comap TopologicalSpace.Opens.comap
congr!
and convert
(#2606)
congr!
, convert
, and convert_to
to control parts of the congruence algorithm, in particular transparency settings when applying congruence lemmas.congr!
now applies congruence lemmas with reducible transparency by default. This prevents it from unfolding definitions when applying congruence lemmas. It also now tries both the LHS-biased and RHS-biased simp congruence lemmas, with a configuration option to set which it should try first.HEq
congruence lemma generator that gives each hypothesis access to the proofs of previous hypotheses. This means that if you have an equality ⊢ ⟨a, x⟩ = ⟨b, y⟩
of sigma types, congr!
turns this into goals ⊢ a = b
and ⊢ a = b → HEq x y
(note that congr!
will also auto-introduce a = b
for you in the second goal). This congruence lemma generator applies to more cases than the simp congruence lemma generator does.congr!
(and hence convert
) are more careful about applying lemmas that don't force definitions to unfold. There were a number of cases in mathlib where the implementation of congr
was being abused to unfold definitions.set_option trace.congr! true
you can see what congr!
sees when it is deciding on congruence lemmas.convert_to
to do using 1
when there is no using
clause, to match its documentation.Note that congr!
is more capable than congr
at finding a way to equate left-hand sides and right-hand sides, so you will frequently need to limit its depth with a using
clause. However, there is also a new heuristic to prevent considering unlikely-to-be-provable type equalities (controlled by the typeEqs
option), which can help limit the depth automatically.
There is also a predefined configuration that you can invoke with, for example, convert (config := .unfoldSameFun) h
, that causes it to behave more like congr
, including using default transparency when unfolding.
@@ -331,7 +331,7 @@ theorem IsBasis.isCompact_open_iff_eq_finite_unionᵢ {ι : Type _} (b : ι →
(hb : IsBasis (Set.range b)) (hb' : ∀ i, IsCompact (b i : Set α)) (U : Set α) :
IsCompact U ∧ IsOpen U ↔ ∃ s : Set ι, s.Finite ∧ U = ⋃ i ∈ s, b i := by
apply isCompact_open_iff_eq_finite_unionᵢ_of_isTopologicalBasis fun i : ι => (b i).1
- · convert hb
+ · convert (config := {transparency := .default}) hb
ext
simp
· exact hb'
@@ -452,8 +452,8 @@ instance : OrderTop (OpenNhdsOf x) where
le_top _ := subset_univ _
instance : Inhabited (OpenNhdsOf x) := ⟨⊤⟩
-instance : HasInf (OpenNhdsOf x) := ⟨fun U V => ⟨U.1 ⊓ V.1, U.2, V.2⟩⟩
-instance : HasSup (OpenNhdsOf x) := ⟨fun U V => ⟨U.1 ⊔ V.1, Or.inl U.2⟩⟩
+instance : Inf (OpenNhdsOf x) := ⟨fun U V => ⟨U.1 ⊓ V.1, U.2, V.2⟩⟩
+instance : Sup (OpenNhdsOf x) := ⟨fun U V => ⟨U.1 ⊔ V.1, Or.inl U.2⟩⟩
-- porting note: new instance
instance [Subsingleton α] : Unique (OpenNhdsOf x) where
@@ -160,10 +160,10 @@ instance : CompleteLattice (Opens α) :=
-- inf
(fun U V => ⟨↑U ∩ ↑V, U.2.inter V.2⟩)
(funext₂ fun U V => ext (U.2.inter V.2).interior_eq.symm)
- -- Sup
+ -- supₛ
(fun S => ⟨⋃ s ∈ S, ↑s, isOpen_bunionᵢ fun s _ => s.2⟩)
(funext fun _ => ext supₛ_image.symm)
- -- Inf
+ -- infₛ
_ rfl
@[simp]
The unported dependencies are