topology.continuous_function.t0_sierpinski
⟷
Mathlib.Topology.ContinuousFunction.T0Sierpinski
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/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2022 Ivan Sadofschi Costa. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Ivan Sadofschi Costa
-/
-import Mathbin.Topology.Order
-import Mathbin.Topology.Sets.Opens
-import Mathbin.Topology.ContinuousFunction.Basic
+import Topology.Order
+import Topology.Sets.Opens
+import Topology.ContinuousFunction.Basic
#align_import topology.continuous_function.t0_sierpinski from "leanprover-community/mathlib"@"34ee86e6a59d911a8e4f89b68793ee7577ae79c7"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2022 Ivan Sadofschi Costa. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Ivan Sadofschi Costa
-
-! This file was ported from Lean 3 source module topology.continuous_function.t0_sierpinski
-! 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.Topology.Order
import Mathbin.Topology.Sets.Opens
import Mathbin.Topology.ContinuousFunction.Basic
+#align_import topology.continuous_function.t0_sierpinski from "leanprover-community/mathlib"@"34ee86e6a59d911a8e4f89b68793ee7577ae79c7"
+
/-!
# Any T0 space embeds in a product of copies of the Sierpinski space.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -31,6 +31,7 @@ noncomputable section
namespace TopologicalSpace
+#print TopologicalSpace.eq_induced_by_maps_to_sierpinski /-
theorem eq_induced_by_maps_to_sierpinski (X : Type _) [t : TopologicalSpace X] :
t = ⨅ u : Opens X, sierpinskiSpace.induced (· ∈ u) :=
by
@@ -43,6 +44,7 @@ theorem eq_induced_by_maps_to_sierpinski (X : Type _) [t : TopologicalSpace X] :
simp only [Set.mem_iUnion, Set.mem_setOf_eq, isOpen_induced_iff]
exact ⟨⟨u, h⟩, {True}, isOpen_singleton_true, by simp [Set.preimage]⟩
#align topological_space.eq_induced_by_maps_to_sierpinski TopologicalSpace.eq_induced_by_maps_to_sierpinski
+-/
variable (X : Type _) [TopologicalSpace X]
@@ -57,22 +59,28 @@ def productOfMemOpens : C(X, Opens X → Prop)
#align topological_space.product_of_mem_opens TopologicalSpace.productOfMemOpens
-/
+#print TopologicalSpace.productOfMemOpens_inducing /-
theorem productOfMemOpens_inducing : Inducing (productOfMemOpens X) :=
by
convert inducing_iInf_to_pi fun (u : opens X) (x : X) => x ∈ u
apply eq_induced_by_maps_to_sierpinski
#align topological_space.product_of_mem_opens_inducing TopologicalSpace.productOfMemOpens_inducing
+-/
+#print TopologicalSpace.productOfMemOpens_injective /-
theorem productOfMemOpens_injective [T0Space X] : Function.Injective (productOfMemOpens X) :=
by
intro x1 x2 h
apply Inseparable.eq
rw [← Inducing.inseparable_iff (product_of_mem_opens_inducing X), h]
#align topological_space.product_of_mem_opens_injective TopologicalSpace.productOfMemOpens_injective
+-/
+#print TopologicalSpace.productOfMemOpens_embedding /-
theorem productOfMemOpens_embedding [T0Space X] : Embedding (productOfMemOpens X) :=
Embedding.mk (productOfMemOpens_inducing X) (productOfMemOpens_injective X)
#align topological_space.product_of_mem_opens_embedding TopologicalSpace.productOfMemOpens_embedding
+-/
end TopologicalSpace
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -31,12 +31,6 @@ noncomputable section
namespace TopologicalSpace
-/- warning: topological_space.eq_induced_by_maps_to_sierpinski -> TopologicalSpace.eq_induced_by_maps_to_sierpinski is a dubious translation:
-lean 3 declaration is
- forall (X : Type.{u1}) [t : TopologicalSpace.{u1} X], Eq.{succ u1} (TopologicalSpace.{u1} X) t (iInf.{u1, succ u1} (TopologicalSpace.{u1} X) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} X) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} X) (TopologicalSpace.completeLattice.{u1} X))) (TopologicalSpace.Opens.{u1} X t) (fun (u : TopologicalSpace.Opens.{u1} X t) => TopologicalSpace.induced.{u1, 0} X Prop (fun (_x : X) => Membership.Mem.{u1, u1} X (TopologicalSpace.Opens.{u1} X t) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} X t) X (TopologicalSpace.Opens.setLike.{u1} X t)) _x u) sierpinskiSpace))
-but is expected to have type
- forall (X : Type.{u1}) [t : TopologicalSpace.{u1} X], Eq.{succ u1} (TopologicalSpace.{u1} X) t (iInf.{u1, succ u1} (TopologicalSpace.{u1} X) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} X) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} X) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} X))) (TopologicalSpace.Opens.{u1} X t) (fun (u : TopologicalSpace.Opens.{u1} X t) => TopologicalSpace.induced.{u1, 0} X Prop (fun (_x : X) => Membership.mem.{u1, u1} X (TopologicalSpace.Opens.{u1} X t) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} X t) X (TopologicalSpace.Opens.instSetLikeOpens.{u1} X t)) _x u) sierpinskiSpace))
-Case conversion may be inaccurate. Consider using '#align topological_space.eq_induced_by_maps_to_sierpinski TopologicalSpace.eq_induced_by_maps_to_sierpinskiₓ'. -/
theorem eq_induced_by_maps_to_sierpinski (X : Type _) [t : TopologicalSpace X] :
t = ⨅ u : Opens X, sierpinskiSpace.induced (· ∈ u) :=
by
@@ -63,24 +57,12 @@ def productOfMemOpens : C(X, Opens X → Prop)
#align topological_space.product_of_mem_opens TopologicalSpace.productOfMemOpens
-/
-/- warning: topological_space.product_of_mem_opens_inducing -> TopologicalSpace.productOfMemOpens_inducing is a dubious translation:
-lean 3 declaration is
- forall (X : Type.{u1}) [_inst_1 : TopologicalSpace.{u1} X], Inducing.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)) (coeFn.{succ u1, succ u1} (ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) (fun (_x : ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) => X -> (TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) (ContinuousMap.hasCoeToFun.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) (TopologicalSpace.productOfMemOpens.{u1} X _inst_1))
-but is expected to have type
- forall (X : Type.{u1}) [_inst_1 : TopologicalSpace.{u1} X], Inducing.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)) (FunLike.coe.{succ u1, succ u1, succ u1} (ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => (TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _x) (ContinuousMapClass.toFunLike.{u1, u1, u1} (ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)))) (TopologicalSpace.productOfMemOpens.{u1} X _inst_1))
-Case conversion may be inaccurate. Consider using '#align topological_space.product_of_mem_opens_inducing TopologicalSpace.productOfMemOpens_inducingₓ'. -/
theorem productOfMemOpens_inducing : Inducing (productOfMemOpens X) :=
by
convert inducing_iInf_to_pi fun (u : opens X) (x : X) => x ∈ u
apply eq_induced_by_maps_to_sierpinski
#align topological_space.product_of_mem_opens_inducing TopologicalSpace.productOfMemOpens_inducing
-/- warning: topological_space.product_of_mem_opens_injective -> TopologicalSpace.productOfMemOpens_injective is a dubious translation:
-lean 3 declaration is
- forall (X : Type.{u1}) [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : T0Space.{u1} X _inst_1], Function.Injective.{succ u1, succ u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) (coeFn.{succ u1, succ u1} (ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) (fun (_x : ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) => X -> (TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) (ContinuousMap.hasCoeToFun.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) (TopologicalSpace.productOfMemOpens.{u1} X _inst_1))
-but is expected to have type
- forall (X : Type.{u1}) [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : T0Space.{u1} X _inst_1], Function.Injective.{succ u1, succ u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) (FunLike.coe.{succ u1, succ u1, succ u1} (ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => (TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _x) (ContinuousMapClass.toFunLike.{u1, u1, u1} (ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)))) (TopologicalSpace.productOfMemOpens.{u1} X _inst_1))
-Case conversion may be inaccurate. Consider using '#align topological_space.product_of_mem_opens_injective TopologicalSpace.productOfMemOpens_injectiveₓ'. -/
theorem productOfMemOpens_injective [T0Space X] : Function.Injective (productOfMemOpens X) :=
by
intro x1 x2 h
@@ -88,12 +70,6 @@ theorem productOfMemOpens_injective [T0Space X] : Function.Injective (productOfM
rw [← Inducing.inseparable_iff (product_of_mem_opens_inducing X), h]
#align topological_space.product_of_mem_opens_injective TopologicalSpace.productOfMemOpens_injective
-/- warning: topological_space.product_of_mem_opens_embedding -> TopologicalSpace.productOfMemOpens_embedding is a dubious translation:
-lean 3 declaration is
- forall (X : Type.{u1}) [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : T0Space.{u1} X _inst_1], Embedding.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)) (coeFn.{succ u1, succ u1} (ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) (fun (_x : ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) => X -> (TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) (ContinuousMap.hasCoeToFun.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) (TopologicalSpace.productOfMemOpens.{u1} X _inst_1))
-but is expected to have type
- forall (X : Type.{u1}) [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : T0Space.{u1} X _inst_1], Embedding.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (ᾰ : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)) (FunLike.coe.{succ u1, succ u1, succ u1} (ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => (TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _x) (ContinuousMapClass.toFunLike.{u1, u1, u1} (ContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace))) X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u1} X ((TopologicalSpace.Opens.{u1} X _inst_1) -> Prop) _inst_1 (Pi.topologicalSpace.{u1, 0} (TopologicalSpace.Opens.{u1} X _inst_1) (fun (a._@.Mathlib.Topology.ContinuousFunction.T0Sierpinski._hyg.166 : TopologicalSpace.Opens.{u1} X _inst_1) => Prop) (fun (a : TopologicalSpace.Opens.{u1} X _inst_1) => sierpinskiSpace)))) (TopologicalSpace.productOfMemOpens.{u1} X _inst_1))
-Case conversion may be inaccurate. Consider using '#align topological_space.product_of_mem_opens_embedding TopologicalSpace.productOfMemOpens_embeddingₓ'. -/
theorem productOfMemOpens_embedding [T0Space X] : Embedding (productOfMemOpens X) :=
Embedding.mk (productOfMemOpens_inducing X) (productOfMemOpens_injective X)
#align topological_space.product_of_mem_opens_embedding TopologicalSpace.productOfMemOpens_embedding
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -33,20 +33,20 @@ namespace TopologicalSpace
/- warning: topological_space.eq_induced_by_maps_to_sierpinski -> TopologicalSpace.eq_induced_by_maps_to_sierpinski is a dubious translation:
lean 3 declaration is
- forall (X : Type.{u1}) [t : TopologicalSpace.{u1} X], Eq.{succ u1} (TopologicalSpace.{u1} X) t (infᵢ.{u1, succ u1} (TopologicalSpace.{u1} X) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} X) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} X) (TopologicalSpace.completeLattice.{u1} X))) (TopologicalSpace.Opens.{u1} X t) (fun (u : TopologicalSpace.Opens.{u1} X t) => TopologicalSpace.induced.{u1, 0} X Prop (fun (_x : X) => Membership.Mem.{u1, u1} X (TopologicalSpace.Opens.{u1} X t) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} X t) X (TopologicalSpace.Opens.setLike.{u1} X t)) _x u) sierpinskiSpace))
+ forall (X : Type.{u1}) [t : TopologicalSpace.{u1} X], Eq.{succ u1} (TopologicalSpace.{u1} X) t (iInf.{u1, succ u1} (TopologicalSpace.{u1} X) (ConditionallyCompleteLattice.toHasInf.{u1} (TopologicalSpace.{u1} X) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} X) (TopologicalSpace.completeLattice.{u1} X))) (TopologicalSpace.Opens.{u1} X t) (fun (u : TopologicalSpace.Opens.{u1} X t) => TopologicalSpace.induced.{u1, 0} X Prop (fun (_x : X) => Membership.Mem.{u1, u1} X (TopologicalSpace.Opens.{u1} X t) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} X t) X (TopologicalSpace.Opens.setLike.{u1} X t)) _x u) sierpinskiSpace))
but is expected to have type
- forall (X : Type.{u1}) [t : TopologicalSpace.{u1} X], Eq.{succ u1} (TopologicalSpace.{u1} X) t (infᵢ.{u1, succ u1} (TopologicalSpace.{u1} X) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} X) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} X) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} X))) (TopologicalSpace.Opens.{u1} X t) (fun (u : TopologicalSpace.Opens.{u1} X t) => TopologicalSpace.induced.{u1, 0} X Prop (fun (_x : X) => Membership.mem.{u1, u1} X (TopologicalSpace.Opens.{u1} X t) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} X t) X (TopologicalSpace.Opens.instSetLikeOpens.{u1} X t)) _x u) sierpinskiSpace))
+ forall (X : Type.{u1}) [t : TopologicalSpace.{u1} X], Eq.{succ u1} (TopologicalSpace.{u1} X) t (iInf.{u1, succ u1} (TopologicalSpace.{u1} X) (ConditionallyCompleteLattice.toInfSet.{u1} (TopologicalSpace.{u1} X) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.{u1} X) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{u1} X))) (TopologicalSpace.Opens.{u1} X t) (fun (u : TopologicalSpace.Opens.{u1} X t) => TopologicalSpace.induced.{u1, 0} X Prop (fun (_x : X) => Membership.mem.{u1, u1} X (TopologicalSpace.Opens.{u1} X t) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} X t) X (TopologicalSpace.Opens.instSetLikeOpens.{u1} X t)) _x u) sierpinskiSpace))
Case conversion may be inaccurate. Consider using '#align topological_space.eq_induced_by_maps_to_sierpinski TopologicalSpace.eq_induced_by_maps_to_sierpinskiₓ'. -/
theorem eq_induced_by_maps_to_sierpinski (X : Type _) [t : TopologicalSpace X] :
t = ⨅ u : Opens X, sierpinskiSpace.induced (· ∈ u) :=
by
apply le_antisymm
- · rw [le_infᵢ_iff]
+ · rw [le_iInf_iff]
exact fun u => Continuous.le_induced (is_open_iff_continuous_mem.mp u.2)
· intro u h
- rw [← generateFrom_unionᵢ_isOpen]
+ rw [← generateFrom_iUnion_isOpen]
apply is_open_generate_from_of_mem
- simp only [Set.mem_unionᵢ, Set.mem_setOf_eq, isOpen_induced_iff]
+ simp only [Set.mem_iUnion, Set.mem_setOf_eq, isOpen_induced_iff]
exact ⟨⟨u, h⟩, {True}, isOpen_singleton_true, by simp [Set.preimage]⟩
#align topological_space.eq_induced_by_maps_to_sierpinski TopologicalSpace.eq_induced_by_maps_to_sierpinski
@@ -71,7 +71,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align topological_space.product_of_mem_opens_inducing TopologicalSpace.productOfMemOpens_inducingₓ'. -/
theorem productOfMemOpens_inducing : Inducing (productOfMemOpens X) :=
by
- convert inducing_infᵢ_to_pi fun (u : opens X) (x : X) => x ∈ u
+ convert inducing_iInf_to_pi fun (u : opens X) (x : X) => x ∈ u
apply eq_induced_by_maps_to_sierpinski
#align topological_space.product_of_mem_opens_inducing TopologicalSpace.productOfMemOpens_inducing
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -25,7 +25,7 @@ noncomputable section
namespace TopologicalSpace
-theorem eq_induced_by_maps_to_sierpinski (X : Type _) [t : TopologicalSpace X] :
+theorem eq_induced_by_maps_to_sierpinski (X : Type*) [t : TopologicalSpace X] :
t = ⨅ u : Opens X, sierpinskiSpace.induced (· ∈ u) := by
apply le_antisymm
· rw [le_iInf_iff]
@@ -37,7 +37,7 @@ theorem eq_induced_by_maps_to_sierpinski (X : Type _) [t : TopologicalSpace X] :
exact ⟨⟨u, h⟩, {True}, isOpen_singleton_true, by simp [Set.preimage]⟩
#align topological_space.eq_induced_by_maps_to_sierpinski TopologicalSpace.eq_induced_by_maps_to_sierpinski
-variable (X : Type _) [TopologicalSpace X]
+variable (X : Type*) [TopologicalSpace X]
/-- The continuous map from `X` to the product of copies of the Sierpinski space, (one copy for each
open subset `u` of `X`). The `u` coordinate of `productOfMemOpens x` is given by `x ∈ u`.
@@ -2,16 +2,13 @@
Copyright (c) 2022 Ivan Sadofschi Costa. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Ivan Sadofschi Costa
-
-! This file was ported from Lean 3 source module topology.continuous_function.t0_sierpinski
-! 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.Topology.Order
import Mathlib.Topology.Sets.Opens
import Mathlib.Topology.ContinuousFunction.Basic
+#align_import topology.continuous_function.t0_sierpinski from "leanprover-community/mathlib"@"dc6c365e751e34d100e80fe6e314c3c3e0fd2988"
+
/-!
# Any T0 space embeds in a product of copies of the Sierpinski space.
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>
@@ -31,12 +31,12 @@ namespace TopologicalSpace
theorem eq_induced_by_maps_to_sierpinski (X : Type _) [t : TopologicalSpace X] :
t = ⨅ u : Opens X, sierpinskiSpace.induced (· ∈ u) := by
apply le_antisymm
- · rw [le_infᵢ_iff]
+ · rw [le_iInf_iff]
exact fun u => Continuous.le_induced (isOpen_iff_continuous_mem.mp u.2)
· intro u h
- rw [← generateFrom_unionᵢ_isOpen]
+ rw [← generateFrom_iUnion_isOpen]
apply isOpen_generateFrom_of_mem
- simp only [Set.mem_unionᵢ, Set.mem_setOf_eq, isOpen_induced_iff]
+ simp only [Set.mem_iUnion, Set.mem_setOf_eq, isOpen_induced_iff]
exact ⟨⟨u, h⟩, {True}, isOpen_singleton_true, by simp [Set.preimage]⟩
#align topological_space.eq_induced_by_maps_to_sierpinski TopologicalSpace.eq_induced_by_maps_to_sierpinski
@@ -51,7 +51,7 @@ def productOfMemOpens : C(X, Opens X → Prop) where
#align topological_space.product_of_mem_opens TopologicalSpace.productOfMemOpens
theorem productOfMemOpens_inducing : Inducing (productOfMemOpens X) := by
- convert inducing_infᵢ_to_pi fun (u : Opens X) (x : X) => x ∈ u
+ convert inducing_iInf_to_pi fun (u : Opens X) (x : X) => x ∈ u
apply eq_induced_by_maps_to_sierpinski
#align topological_space.product_of_mem_opens_inducing TopologicalSpace.productOfMemOpens_inducing
@@ -66,4 +66,3 @@ theorem productOfMemOpens_embedding [T0Space X] : Embedding (productOfMemOpens X
#align topological_space.product_of_mem_opens_embedding TopologicalSpace.productOfMemOpens_embedding
end TopologicalSpace
-
The unported dependencies are